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


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

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

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107303 积分:545776 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/6 20:28:00 [显示全部帖子]

数据是怎么样的?请举例说明

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107303 积分:545776 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/6 21:39:00 [显示全部帖子]

尾号002658是不是固定6位数,如果是,可以处理,否则没有办法

dim s1 as string = "015659890015CW002658
dim s2 as string = "015659890015CW002667

dim d1 as integer = cint(s1.substring(s1.length - 6))
dim d2 as integer = cint(s2.substring(s2.length - 6))

msgbox(d2 - d1)

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107303 积分:545776 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/6 21:58:00 [显示全部帖子]

s1.length - 3

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107303 积分:545776 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/6 22:20:00 [显示全部帖子]

调试技巧:http://www.foxtable.com/webhelp/topics/1485.htm

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("起始号")
msgbox(s1.length)
msgbox(s1.substring(s1.length - 6))
msgbox(s2.length)
msgbox(s2.substring(s2.length - 6))
        Dim d1 As Integer = CLng(s1.substring(s1.length - 6))
        Dim d2 As Integer = CLng(s2.substring(s2.length - 6))      
        e.DataRow("充值张数") = d1-d2
        Tables("充值凭证表").Save
    End  If
End  If

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107303 积分:545776 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/6 22:54:00 [显示全部帖子]

做什么操作,什么代码引起的错误?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107303 积分:545776 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/7 8:33:00 [显示全部帖子]

判断字符长度

if s1.length > 3 then

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107303 积分:545776 威望: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

 回到顶部