以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教纠正一下代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122944) |
-- 作者:xusuyang -- 发布时间:2018/8/5 11:10:00 -- 请教纠正一下代码 Select Case e.DataCol.Name Case
"客户详细信息_客户编码" If
e.DataRow.IsNull("客户详细信息_客户编码") Then e.DataRow("客户详细信息_客户编码序号") = Nothing Else Dim
lb As String = GetPinYin(e.DataRow("客户详细信息_客户编码"), 1).ToUpper() 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 如果“客户详细信息_客户编码”出现多次,例如:出现了四次四川省、四川省、四川省、四川省等,如何实现“客户详细信息_客户编码序号”自动编码分别为:四川省-001、四川省-002、四川省-003、四川省-004或SCS-001、SCS-002、SCS-003、SCS-004?刚才的纠正没有实现,请再纠正一下,谢谢!! |
-- 作者:有点甜 -- 发布时间:2018/8/5 21:16:00 -- idx = CInt(max.Substring(2,3)) + 1 \'获得最大编号的后三位顺序号,并加1
改成
idx = CInt(max.Substring(lb.length+1,3)) + 1 \'获得最大编号的后三位顺序号,并加1 |