Foxtable(狐表)用户栏目专家坐堂 → 统计数据段之间的数量


  共有4701人关注过本帖树形打印复制链接

主题:统计数据段之间的数量

帅哥哟,离线,有人找我吗?
裴保民
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/9/6 22:59:00 [只看该作者]

就是在DataColChanged事件中写了如下代码,别的都没有
If e.DataCol.Name = "起始号"  Then
    If e.NewValue Is Nothing  Then
        e.DataRow("充值张数") = Nothing
    Else
        Dim s1 As String = e.DataRow("终止号")
        Dim s2 As String = e.DataRow("起始号")
        Dim d1 As Integer = cint(s1.substring(s1.length - 6))
        Dim d2 As Integer = cint(s2.substring(s2.length - 6))      
        e.DataRow("充值张数") = d1-d2
        Tables("充值凭证表").Save
    End  If
End  If


此主题相关图片如下:截图03.jpg
按此在新窗口浏览图片


已解决是数据库的错误

[此贴子已经被作者于2020/9/6 23:10:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/9/7 0:20:00 [只看该作者]

If e.DataCol.Name = "起始号"  Then
    
    If e.NewValue <> e.OldValue AndAlso e.NewValue IsNot Nothing  AndAlso e.DataRow.IsNull("终止号") Then
        e.DataRow("充值张数") = Nothing
Return
    Else
        Dim s1 As String = e.DataRow("终止号")
        Dim s2 As String = e.DataRow("起始号")
        
        Dim d1 As Integer = CLng(s1.substring(s1.length - 3))
        Dim d2 As Integer = CLng(s2.substring(s2.length - 3))
        e.DataRow("充值张数") = d1-d2 +1
        Tables("充值凭证表").Save
    End  If
End  If


图片点击可在新窗口打开查看此主题相关图片如下:截图04.jpg
图片点击可在新窗口打开查看


如果起始号是空值时会出错的,该设置哪呢?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/7 8:33:00 [只看该作者]

判断字符长度

if s1.length > 3 then

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/9/7 9:10:00 [只看该作者]

If e.DataCol.Name = "起始号"  Then
    
    If e.NewValue <> e.OldValue AndAlso e.NewValue IsNot Nothing  AndAlso e.DataRow.IsNull("终止号") Then
        e.DataRow("充值张数") = Nothing
Return
    Else
        Dim s1 As String = e.DataRow("终止号")
        Dim s2 As String = e.DataRow("起始号")
        If s1.length > 3 AndAlso s2.length > 3   Then
        Dim d1 As Integer = CLng(s1.substring(s1.length - 3))
        Dim d2 As Integer = CLng(s2.substring(s2.length - 3))
        e.DataRow("充值张数") = d1-d2 +1
        Tables("充值凭证表").Save
    End  If
End  If
End  If
If e.DataCol.Name = "终止号" Then
    If e.NewValue <> e.OldValue AndAlso e.NewValue IsNot Nothing   AndAlso e.DataRow.IsNull("起始号") Then
        e.DataRow("充值张数") = Nothing
    Else
        Dim s1 As String = e.DataRow("终止号")
        Dim s2 As String = e.DataRow("起始号")
        If s1.length > 3 AndAlso s2.length > 3 Then
        Dim d1 As Integer = CLng(s1.substring(s1.length - 3))
        Dim d2 As Integer = CLng(s2.substring(s2.length - 3))
        e.DataRow("充值张数") = d1-d2 + 1
        Tables("充值凭证表").Save
    End  If
End  If
End  If

这段代码哪有问题
怎么实现当起始号或终止号空数据时充值张数也为空值呢


图片点击可在新窗口打开查看此主题相关图片如下:截图05.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/7 9:19:00 [只看该作者]

If e.DataCol.Name = "起始号" orelse  e.DataCol.Name = "终止号" Then
    
    If e.DataRow.IsNull("起始号") orelse e.DataRow.IsNull("终止号") Then
        e.DataRow("充值张数") = Nothing
    Else
        Dim s1 As String = e.DataRow("终止号")
        Dim s2 As String = e.DataRow("起始号")
        If s1.length > 3 AndAlso s2.length > 3   Then
        Dim d1 As Integer = CLng(s1.substring(s1.length - 3))
        Dim d2 As Integer = CLng(s2.substring(s2.length - 3))
        e.DataRow("充值张数") = d1-d2 +1
        Tables("充值凭证表").Save
else
e.DataRow("充值张数") = Nothing
    End  If
End  If
End  If

 回到顶部
总数 15 上一页 1 2