Foxtable(狐表)用户栏目专家坐堂 → 我按系统帮助改编的一段代码,可是结果却不一样(已解决)


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

主题:我按系统帮助改编的一段代码,可是结果却不一样(已解决)

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


加好友 发短信
等级:婴狐 帖子:74 积分:683 威望:0 精华:0 注册:2011/10/24 19:38:00
我按系统帮助改编的一段代码,可是结果却不一样(已解决)  发帖心情 Post By:2012/3/16 21:55:00 [显示全部帖子]

Dim max As String
Dim idx As Integer

max = Tables("bmk").Compute("Max(BH)","substring([bh],5,8) = " & format(Date.Today(),"yyyyMMdd") & "" )
If max>"" Then
idx = CInt(max.Substring(12)) + 1(取最后5位,理论上应该是00001,可我查看了一下取值却是16001
Else
idx = 1
End If

e.form.Controls("LabelBH1").text ="HHZY" & format(Date.Today(),"yyyyMMdd") & Format(idx,"00000")

 

这是一个编号生成的代码,理论上生成的代码为“HHZY2012031600001",第一个生成的代码没有错,可是到后面就成如下规律

HHZY2012031600001

HHZY201203161600002

HHZY20120316161600003

[此贴子已经被作者于2012-3-17 10:01:00编辑过]

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


加好友 发短信
等级:婴狐 帖子:74 积分:683 威望:0 精华:0 注册:2011/10/24 19:38:00
  发帖心情 Post By:2012/3/17 10:04:00 [显示全部帖子]

是我错了,我在一个日期控件的TEXTCHANGED事件中也有这段代码,当日期改变的时候,重新计算编号

idx = CInt(max.Substring(10)) + 1

这一句上我从第10个字符开始取值,所以就出错了!问题已经修改过来!谢谢

 

可我就不明白了,我没改变日期控件的值,也会触发TEXTCHANGED事件吗?难道是窗体第一次运行的时候就会触发?


 回到顶部