Office中国论坛/Access中国论坛

标题: [求助]关于自动生成编号问题 [打印本页]

作者: cake_super    时间: 2007-4-16 19:34
标题: [求助]关于自动生成编号问题
[attach]23969[/attach]

那位能帮我弄一下,date为当前记录的时间,calloutNo为需要生成的编号

由于想记录每个月的记录,我想calloutNo的格式为 yyyy-mm-001;yyyy-mm-002,最后三位流水号为递增,但是希望在每个月月初这个号码能自动清零然后重新记录,这样就可以很清楚的看出每个月有多少个记录了,不知道怎么实现???

作者: fan0217    时间: 2007-4-16 19:53
[attach]23970[/attach]


看看这个吧,一般的编号规则都能胜任,而且改变编号规则只需要改变属性设置即可。
作者: 方漠    时间: 2007-4-16 20:16
见附件,如月记录超过1000,还需要加代码到FUNCTION处理.

[attach]23972[/attach]

作者: cake_super    时间: 2007-4-16 20:43
谢谢`~~~好好学习中
作者: cake_super    时间: 2007-4-16 21:34
有个问题,如果是2008年的4月,那我这里的calloutNo还是会从2007年4月后面累计计数LastNo,请问怎么解决阿??
作者: 方漠    时间: 2007-4-16 23:09
2007年12月31日时(或者更早一些也可,但最好在12月)将LASTNO里面的1---11月LASTNO全部设为1,元月时再将12月的也设为1即可.
作者: cake_super    时间: 2007-4-16 23:12
大哥。。。我知道,但是。。。这个是我要给别人用的。。。我不可能跑到人家公司去帮她弄吧~~有没有别的办法啊~~
作者: 方漠    时间: 2007-4-16 23:23
将LASTNO表里月份的数据改成"2007-01"字样,然后改写函数,里面用YYYY-MM为条件构建SQL语句打开Recordset修改即可.

LASTNO表里月份的数据多放几年就好了.


作者: cake_super    时间: 2007-4-16 23:40
恩~~我想也只能这样了~~谢谢
作者: 一点通    时间: 2007-4-16 23:52
自动编号不需要附加表来处理的,用"自动编号"查找旧贴有很多这方面的例子

一般的方法是:

先搜索一下表中编号字段的前6位数是否有当前的日期年月(YYYYMM)的数据,没有的话用Forat(date,"yyyymm") & "001)来处理新月份的编号

如果编号的前6位数与年月相同,提取编号最大的号码的最后三位数加1来新增编号
作者: 方漠    时间: 2007-4-17 00:56
呵呵,各有好处.

用搜索的话如果记录较多,速度上相对会比较慢.
作者: yangzhesheng    时间: 2009-6-5 11:41
呵呵,这个也是我想要看的




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3