老师 继续求解:
Case "门店名称","录入时间"
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
Dim mendian As String
mendian = GetPY( e.DataRow("门店名称"), True)
max = e.DataTable.Compute("Max(门店单号)","录入时间 = #" & e.DataRow("录入时间") & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该天的最大客户编码
If max > "" Then '如果存在最大客户编码
idx = CInt(max.Substring(9,3)) + 1 '获得最大客户编码的后三位顺序号,并加1 在没有加入门店拼音(mendian)之前这个代码可行 加入之后由于门店简拼字母是三个级以上不等会提示错误
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("门店单号") = mendian & bh & "-" & Format(idx,"000")
End If
End If
错误代码如下:
.NET Framework 版本:2.0.50727.6419
Foxtable 版本:2014.7.26.1
错误所在事件:表,门店销售单,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“1-0”到类型“Integer”的转换无效。
输入字符串的格式不正确。
[此贴子已经被作者于2014-9-1 20:22:30编辑过]