在学习本论坛的报销案例时将报销明细的编号字段的自动编号方法作为已用,当修改时出现问题,后要 Cspa老师的帮助下终于解决。经修改后觉得还不错,也容易直接借鉴。这里推荐给初学者分享。代码如下:
If Mid(Nz(DMax("[编号]", "表名"),
"0000"), 4, 9) = Format(Me.日期, "YYYYMMDD") Then
Me.编号 = "BX-" & Format(Me.日期, "YYYYMMDD") & "-" &
Format(Val(Right$(Nz(DMax("[编号]", "表名"), "0000"), 4) + 1), "0000")
Else
Me.编号 = "BX-" & Format(Me.日期, "YYYYMMDD") & "-" & Format(Right(Nz(DMax("[编号]", "表名", "mid(编号,4,9)='" & Format(Me.日期, "YYYYMMDD") & "-" &
"'"), "0000"), 4) + 1, "0000")
End If
如果:思路为
从【报销明细】表的【报销编号】中取出最大编号的日期 = 窗体上的日期
报销编号 = BX—窗体上的日期—最大编号的后四位加1
否则:分成两种情况
1、如果不存在以前日期
报销编号 = BX—窗体上的日期—0000加1
2、如果存在以前日期
报销编号 = BX—窗体上的日期—与窗体上日期相等的最大编号后四位加1
以此为基础,稍作修改可以将格式设为:前缀&年月&编号(bx-20150901-01),或 前缀&年月日&编号(bx201509-0001)等若干种。修改方法也相对简单容易。在此再次感谢cspa老师!