以文本方式查看主题

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

--  作者:xusuyang
--  发布时间:2018/8/5 10:01: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、四川省-004SCS-001SCS-002SCS-003SCS-004?刚才的纠正没有实现,请再纠正一下,谢谢!!

--  作者:有点甜
--  发布时间:2018/8/5 21:27:00
--  

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

 

如果还不行,请上传实例测试。