各位老师:请帮忙看下为什么如下代码自动编号会出错,第一条明细是正常的,到了第二条以后就都是一样的编码了,而且一下从001跳到-019了。
此主题相关图片如下:自动编号出错.jpg
![dvubb 图片点击可在新窗口打开查看](UploadFile/2015-11/201511101013481158.jpg)
Select e.DataCol.Name '以下代码为先生成"出入库单据号明细"
Case "出入库单据号"
If e.DataRow.IsNull("出入库单据号") Then
e.DataRow("出入库单据号明细") = Nothing
Else
Dim lb As String = e.DataRow("出入库单据号")
If e.DataRow("出入库单据号明细").StartsWith(lb) = False '如果单据出入库单据号明细前缀不符
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(出入库单据号明细)","出入库单据号 = '" & lb & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该出入库单据号的最大出入库单据号明细
If max > "" Then '如果存在最大出入库单据号明细
idx = CInt(max.Substring(2,3)) + 1 '获得最大出入库单据号明细的后三位顺序号,并加1
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("出入库单据号明细") = lb & Format(idx,"000")
End If
End If
End Select