针对楼主有可能增加下年订单的情况,特编写了如下代码:
当年新订单自动编号代码:
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"))
如果还要再增加下下年度的订单自动编号,可以照推了。
不用判断年份的!
永久通用找下一个号 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
好什么? 代码错了的!
a = val(a) 应该是 a = val(a)+1 ... 都没人代码的
写代码的那个人肯定是随手写的, 都没执行过的!
DMax("[字段]","表", "[字段] like Prefix & "*")
有问题呢,第三个参数 只有3个引号?
我都说那个人是随手写的, 给的是意念, 而不是代码, 我帮他改改啦:
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