'---------形式号自动根据客户编号年份生成--------------------------------
Select e.DataCol.Name
Case "形式日期","客户编号"
If e.DataRow.isnull("形式号") Then
If e.DataRow.IsNull("形式日期") OrElse e.DataRow.IsNull("客户编号") Then
e.DataRow("形式号") = Nothing
Else
Dim d As Date = e.DataRow("形式日期")
Dim bh As String = "SMPI-" & e.DataRow("客户编号") & "" & Format(d,"yy") & "" '生成编号的前缀
Dim max As String
Dim idx As Integer
Dim flt As String
flt = "形式号 like '" & bh & "%' And [_Identify] <> " & e.DataRow("_Identify")
max = e.DataTable.Compute("Max(形式号)",flt) '取得该年的相同客户编号的最大形式号
If max > "" Then '如果存在最大形式号
idx = CInt(max.Substring(bh.Length,2)) + 1 '获得最大形式号的后两位顺序号,并加1
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("形式号") = bh & Format(idx,"00")
End If
End If
End Select
'---------形式号自动根据客户编号年份生成--------------------------------
自动形成的编号,问题是如果已经自动形成SMPI-AA-1501的编号, 过后发现客户编号选择错误, 把客户编号AA更改为BB, 但是编号还是SMPI-AA-1501, 而不是SMPI-BB-1501, 请老师答疑