以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 统计数据段之间的数量 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154167) |
-- 作者:裴保民 -- 发布时间:2020/9/6 16:55:00 -- 统计数据段之间的数量 有两个字段一个是起始哈,一个终止号都是文本类型,根据两者之间的数据怎样统计出多少数据(就像时间段统计一样) |
-- 作者:有点蓝 -- 发布时间:2020/9/6 20:28:00 -- 数据是怎么样的?请举例说明 |
-- 作者:裴保民 -- 发布时间:2020/9/6 21:09:00 -- 假如初始号段是015659890015CW002658 终止号段是 015659890015CW002667 共应该是10张 说明 其中CW 有可能是其他字符,并且位置不确定 |
-- 作者:有点蓝 -- 发布时间: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)
|
-- 作者:裴保民 -- 发布时间:2020/9/6 21:53:00 -- 截取后三位可以吗? [此贴子已经被作者于2020/9/6 22:04:41编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/9/6 21:58:00 -- s1.length - 3 |
-- 作者:裴保民 -- 发布时间:2020/9/6 22:12:00 -- 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 [此贴子已经被作者于2020/9/6 22:36:13编辑过]
|
-- 作者:有点蓝 -- 发布时间: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 |
-- 作者:裴保民 -- 发布时间:2020/9/6 22:40:00 -- 此主题相关图片如下:截图02.jpg |
-- 作者:有点蓝 -- 发布时间:2020/9/6 22:54:00 -- 做什么操作,什么代码引起的错误? |