表A为采购订单表(筛选状态为:“增新”or“审核”),当前行状态为:“新增”,审核后,为:“待付款”状态,此状态不在筛选后的采购订单表中,问题是:“待付款”行的订单编号是存在的假设为A005,但是如果这时在采购订单表中添加订单的话,自动编号也是A005,就是说在筛选的订单表中只能根据筛选后的结果来编号(我是参考的帮助自动编号这一章),一但订单被提交了,同一天再建订单的话,编号会和提交过的订单编号重复!有没有解决的办法?我是新手!
If e.DataCol.Name = "日期" Then
If e.DataRow.IsNull("日期") Then
e.DataRow("编号") = Nothing
Else
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("编号") = bh & "-" & Format(idx,"000")
End If
End If
End If
这是复制帮助里的,If max > "" Then 这里有没有办法把提交后的订单编号也能找出来?要不然的话上一笔订单提交后,再添加订单的话,编号就会与上一笔订单相同!