Select e.DataCol.Name
Case "销售日期","代码"
If e.DataRow.IsNull("销售日期") OrElse e.DataRow.IsNull("代码") Then
e.DataRow("销售单编号") = Nothing
Else
Dim dg As Date = e.DataRow("销售日期")
Dim yg As Integer = dg.Year
Dim mg As Integer = dg.Month
Dim Days As Integer = Date.DaysInMonth(yg,mg)
Dim fdg As Date = New Date(yg,mg,1) '获得该月的第一天
Dim ldg As Date = New Date(yg,mg,Days) '获得该月的最后一天
Dim bhg As String = e.DataRow("代码") & "-" & Format(dg,"yyyyMM") & "-"
If e.DataRow("销售单编号").StartsWith(bhg) = False '如果单据编号前缀不符
Dim maxg As String
Dim idxg As Integer
Dim fltg As String
fltg = "代码 = '"& e.DataRow("代码") & "' And 销售日期 >= #" & fdg & "# And 销售日期 <= #" & ldg & "# And [_Identify] <> " & e.DataRow("_Identify")
maxg = e.DataTable.Compute("Max(销售单编号)",fltg)
If maxg > "" Then '如果存在最大单据编号
idxg = CInt(maxg.Substring(12,3)) + 1
Else
idxg = 1 '否则顺序号等于1
End If
e.DataRow("销售单编号") = bhg & Format(idxg,"000")
End If
End If
End Select
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.6.26.1
错误所在事件:表,应收账款表,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“SD-”到类型“Integer”的转换无效。
输入字符串的格式不正确。
重启程序也没用,帮我看一下哪里有问题?