Foxtable(狐表)用户栏目专家坐堂 → [分享]自动生成编号的问题——实例分享


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

主题:[分享]自动生成编号的问题——实例分享

帅哥哟,离线,有人找我吗?
xvkewen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
[分享]自动生成编号的问题——实例分享  发帖心情 Post By:2013/2/22 23:45:00 [显示全部帖子]

以下这段代码是自动生成编号末尾的数字的,但"Max(单据编号)"我实在不明白是什么意思?让我很不解

大侠们帮帮忙,帮忙解释一下自动生成编号结尾的数字的原理是什么?那个Max函数不是只能针对整型数据使用吗?那个单据编号为字符型,为何也能用Max?

在大家的帮助下,尤其是程版主的指点下,终于完成这个自动编号的问题了;但是我没有用MAX来做,因为对MAX比较字符串还是不太明白,我是用datarow的select获得记录总数做为初始编号,如果一直用记录数总数来编号的话,在有删除行的情况下,会出现重复编号,所以再用FIND倒序排序的方法获得当前的最大编号加1进行编号;觉得这种自动编号方法与帮助里略有不同,所以为感谢谢大家的帮助,特将此实例发出与大家共同分享;如果我的代码或逻辑还有哪些不足的地方欢迎大家指出;


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:foxtable自动编号.table




If
e.DataRow("单据编号").StartsWith(bh) = False '如果单据编号前缀不符
Dim
max As String
Dim
idx As Integer
Dim
flt As String
flt = "工程代码 = '"& e.DataRow("工程代码") & "' And 制单日期 >= #" & fd & "# And 制单日期 <= #" & ld & "#"
max = e.DataTable.Compute("Max(单据编号)",flt) '取得该月的相同工程代码的最大单据编号
If
max > "" Then '如果存在最大单据编号
idx = CInt(max.Substring(12,4)) + 1 '获得最大单据编号的后四位顺序号,并加1
Else

idx
= 1
'否则顺序号等于1
End If




[此贴子已经被作者于2013-2-24 16:01:24编辑过]

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


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
  发帖心情 Post By:2013/2/23 12:28:00 [显示全部帖子]

 有没有Max用于比较字符例子呀?发出来参考一下呀;谢谢了


 回到顶部