Foxtable(狐表)用户栏目专家坐堂 → 请教纠正一下代码


  共有1715人关注过本帖树形打印复制链接

主题:请教纠正一下代码

帅哥哟,离线,有人找我吗?
xusuyang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:100 积分:1120 威望:0 精华:0 注册:2017/5/3 18:40:00
请教纠正一下代码  发帖心情 Post By: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、四川省-004SCS-001SCS-002SCS-003SCS-004?刚才的纠正没有实现,请再纠正一下,谢谢!!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/5 21:16:00 [只看该作者]

idx = CInt(max.Substring(2,3)) + 1 '获得最大编号的后三位顺序号,并加1

 

改成

 

idx = CInt(max.Substring(lb.length+1,3)) + 1 '获得最大编号的后三位顺序号,并加1


 回到顶部