老师您好!
在 DataRowAdding 事件里调用函数,
e.DataRow("客户ID") = Functions.Execute("No123456","客户","客户ID","","000000")
(为什么别人在使用时会出现相同的 ID 号,我自己反复测试都没有出现过相同的号码,是不是不能写在这个事件中?)
可以帮我优化一下代码吗?谢谢
'单据自动编号函数代码
Dim tab As String = Args(0) '表名
Dim dc As String = Args(1) '列名
Dim pre As String = Args(2) '编号的前缀代码
Dim mat As String = Args(3) '格式
Dim idx As Integer
Dim max As String = DataTables(Tab).Compute("max(" & dc & ")", dc & " Like '" & pre & "%'")
If max > "" Then '如果存在最大单据编号
idx = CInt(max.Substring(pre.Length)) + 1 '获得最大单据编号的后四位顺序号,并加1
Else
idx = 1 '否则顺序号等于1
End If
Return pre & Format(idx,mat)