以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动编号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174557) |
-- 作者:rgbjwjb -- 发布时间:2022/1/20 21:49:00 -- 自动编号 我复制的帮助中的代码如下: 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 运行后怎么出现下面的提示的?请指教,谢谢! 详细错误信息: 调用的目标发生了异常。 从字符串“M00”到类型“Integer”的转换无效。 输入字符串的格式不正确。
|
-- 作者:有点蓝 -- 发布时间:2022/1/20 22:09:00 -- 类别的长度不一致吧 idx = CInt(max.Substring(max.length - 3)) + 1 \'获得最大工程编号的后三位顺序号,并加1
|