-- 作者:轩辕绝
-- 发布时间:2017/8/26 16:12:00
-- 自动编号的问题
出库表中,出库编号 格式定义为:QCYYYMMDD-0XX
我在出库表中定义daterowadded事件代码如下:
e.DataRow("日期") = Date.Today e.DataRow("领取时间") = Date.Now
Dim bh As String = Format(e.DataRow("日期"),"yyyyMMdd") \'取得出库编号的8位前缀 If e.DataRow("出库编号").StartsWith(bh) = False \'如果出库编号的前8位不符 Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(出库编号)","日期 = #" & e.DataRow("日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大出库编号 If max > "" Then \'如果存在最大出库编号 idx = CInt(max.Substring(9,3)) + 1 \'获得最大出库编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("出库编号") = "QC" & bh & "-" & Format(idx,"000") End If
增加1行数据可以生成自动编号,但是第二行就出问题了,如下:
此主题相关图片如下:微信截图_20170826160621.png
我将系统时间修改为昨天,同样只能增加一个编号
此主题相关图片如下:2.png
请问老师,如何处理。
还有一个问题,如果不想要数据表中的“日期”字段,代码该如何写???
[此贴子已经被作者于2017/8/26 16:13:03编辑过]
|