主题:请问-如何自动生成流水账号
jakeyharvey
[专家分:0] 发布于 2009-12-15 17:21:00
大致是这样的。表里有个字段是“流水账号”
想制作个表单,让表单每次初始化的时候,自动在一个文本框中生成流水号码。并判断表中是否有重复记录。
流水账号的生成大概是“年”+“月”“0001”(后面四个数字,判断有没相同。有就递增。)
请问如何编写。谢谢!
回复列表 (共3个回复)
沙发
ihorse [专家分:970] 发布于 2009-12-15 18:03:00
这样实现也许可行:
表单初始化时,自动读出表中的最后一个流水号(需要按流水号先排好序,最后一个即为当前最大值),然后取该流水号的后四位数(right(lsh,4))——这样的值是文本数字,将其转化为数值型,然后+1,再转换为字符型,填写在表单中的文本框中。
xlsh=str(val(right(lsh,4))+1)
thisform.text1.value=allt(year(now())+month(now())+xlsh)
板凳
sywzs [专家分:5650] 发布于 2009-12-16 10:05:00
字段“流水账号”是以年月开头,用当前的年月与表中最大的“流水账号”的年月部分比较,相同则用最大的“流水账号”转换成数值,否则用当前的年月+“0000”转换成数值
DQNY=CHRTRAN(STR(YEAR(DATE()),4)+STR(MONTH(DATE()),2)," ","0") &&当前的年月字符串
SELECT MAX(流水账号) ZH FROM 表 &&表中最大的流水账号
LSH=VAL(IIF(LEFT(ZH,6)=DQNY,ZH,DQNY+"0000")) &&流水号
每增加一条新记录,就用LSH=LSH+1,再用STR(LSH,10)转换为字符串就可以了。
3 楼
jakeyharvey [专家分:0] 发布于 2009-12-16 11:12:00
谢谢~我试试看~
我来回复