Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]请教自动编号跨年度时如何解决?

樊晓明  发表于:2011-08-22 13:48:11  
复制

我现在正常使用的编号是:仪运稽[2011]00001、仪运稽[2011]00002、仪运稽[2011]00003、仪运稽[2011]00004......
然后到下一年时又改为从1开始:仪运稽[2012]00001、仪运稽[2012]00002、仪运稽[2012]00003、仪运稽[2012]00004......
当年的自动编号很好解决,第二年如何生成?

 

Top
竹笛 发表于:2011-08-22 13:49:39

可以通过判断系统日期,来决定是不是新的年度,然后结合你当年的自动编号实现方法。

系统日期是 date



whyg519 发表于:2011-08-29 23:34:56

变速箱里有个自动按日期编号的过程

可以将其写成函数的形式就可以了



符鸿敏 发表于:2011-09-03 21:12:38
符鸿敏 发表于:2011-09-03 21:15:40

点击下载此附件

这个更针对楼主要求



符鸿敏 发表于:2011-09-05 19:05:29

针对楼主有可能增加下年订单的情况,特编写了如下代码:

 

当年新订单自动编号代码:

     Me.ID = IIf(IsNull(DLookup("ID", "订单表", "Mid([ID], 5, 4) =" & "'" & Year(Date) & "'")), "仪运稽[" & Year(Date) & "]" & "00001", "仪运稽[" & Year(Date) & "]" & Format(((Right(DLookup("max(ID)", "订单表", "Mid([ID], 5, 4) =" & "'" & Year(Date) & "'"), 5)) + 1), "00000"))   

 

下年新订单自动编号代码:

    Me.ID  = IIf(IsNull(DLookup("ID", "订单表", "Mid([ID], 5, 4) =" & "'" & Year(Date) + 1 & "'")), "仪运稽[" & Year(Date) + 1 & "]" & "00001", "仪运稽[" & Year(Date) + 1 & "]" & Format(((Right(DLookup("max(ID)", "订单表", "Mid([ID], 5, 4) =" & "'" & Year(Date) + 1 & "'"), 5)) + 1), "00000"))  

 

如果还要再增加下下年度的订单自动编号,可以照推了。



dbaseIIIer 发表于:2011-09-20 04:45:37

不用判断年份的!

 

永久通用找下一个号 NextNum 的算法是:

 

 

Prefix = "仪运稽[" & Format( now(), "yyyy") & "]"

NextNum = Prefix & Format( Val( Right( NZ( DMax("[字段]","表", "[字段] like Prefix & "*"),"0"),5)) + 1, "00000")

 

简单点

Prefix = "仪运稽[" & Format( now(), "yyyy") & "]"

a = NZ( DMax("[字段]","表", "[字段] like Prefix & "*"),"0")

a = Right( a, 5)

a = val(a)

a = Format( a, "00000")

NextNum = Prefix & a



振宇 发表于:2011-09-25 00:45:40



dbaseIIIer 发表于:2011-09-26 23:40:02

好什么? 代码错了的!

 

a = val(a)  应该是 a = val(a)+1  ... 都没人代码的

写代码的那个人肯定是随手写的, 都没执行过的!



freeswan 发表于:2011-10-23 17:13:31

DMax("[字段]","表", "[字段] like Prefix & "*")

有问题呢,第三个参数 只有3个引号?



dbaseIIIer 发表于:2011-10-28 03:00:11

我都说那个人是随手写的, 给的是意念, 而不是代码, 我帮他改改啦:

 

 

Prefix = "仪运稽[" & Format( now(), "yyyy") & "]"

a = NZ( DMax("[字段]","表", "[字段] like '" & Prefix & "*'"),"0")

a = Right( a, 5)

a = val(a)+1

a = Format( a, "00000")

NextNum = Prefix & a



 



风行 发表于:2011-11-01 21:44:38
悠悠 发表于:2011-11-14 16:03:26

我没学会,技不如人呀



总记录:12篇  页次:1/1 9 1 :