以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  数据库交流  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=6)
----  如何对字段进行有规则的自动编号,如200812-001  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=6&id=22147)

--  作者:yydczyydr
--  发布时间:2008-12-3 16:46:40
--  如何对字段进行有规则的自动编号,如200812-001
如何对某个字段进行有规则的自动编号,如200812-001,然后下一个是200812-002。如果到了2009年1月1日,则编号依次是200901-001、200901-002...
--  作者:FSJM
--  发布时间:2008-12-3 17:07:16
--  

必须要设置一个当天的值,该值应保存在数据表中,每次使用后,加一。

取今天日期 和 上面“值”连接即可。


--  作者:fjnhwwx
--  发布时间:2008-12-30 0:43:32
--  
如果设置一个当天的值,一年有365天,那不是要设置365个值。我想这样操作比较合理,比如2009年1月1日,先模糊查找自动编号值为200901%,有则将最大号加1,没有则将编号设为200901-001。
--  作者:玩脑者
--  发布时间:2008-12-30 11:49:41
--  

不太明白你的表述,-------同时也不知道你要做什么,看你的意思是“年”后面跟的是“月”然后再编号,那么这个编号每天都要用吗?如果出现200811-028,下一天2008-11-29的编号应该是200811-029,但是你这天没有录入数据,而是在2008-11-30添入的数据,那你的编号应该是多少呢?是200811-030还是200811-029呢?另如果出现200811-029,在2008-11-30没有录入数据,那你的下一个编号应该是多少呢?是200811-30,还是200812-001?这个问题一定要清楚才能比较进行运算。

如果你的编号是完全取决于日期,而不是按顺序根据自行编号的话,那样就好做了,你就可以取当天的日期,然后截取,按你的规则连接赋值就可以了。


--  作者:zhongjian
--  发布时间:2008-12-30 16:51:56
--  

其实这个命题可以换一种思路来实现,首先建一个任何形式的文本文件后缀可以是 TXT 或 INI 来保存最后一次的编号如 200801-013,需要编号时:

第一步 读取文本数据按 年 月 编号 截成三段 2008 01 013 分别赋予变量 X Y Z

第二步 取系统当前日期, 截取 年份 赋予变量 N 和 变量 X 比较 N>X 则 N=X;Z=001,如果 N=X 则 Z=Z+1

第三步 截取 月份 赋予变量 M 和 变量 Y 比较 不同 则 M=Y;Z=001 如果 M=Y 则 Z=Z+1

第四步 把变量 X Y Z 连接起来,写入文本文件

基本设计思路如此,过程可能有误,大家讨论