以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  编号请求  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122937)

--  作者:xusuyang
--  发布时间:2018/8/5 8:48: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?请帮我纠正一下,谢谢!!

--  作者:2900819580
--  发布时间:2018/8/5 9:26:00
--  
e.DataRow("客户详细信息_客户编码序号") = lb & "-" & Format(idx,"000")
--  作者:有点甜
--  发布时间:2018/8/5 21:29:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=122940&skin=0