Foxtable(狐表)用户栏目专家坐堂 → [求助]客户编号


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

主题:[求助]客户编号

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/12 9:52:00 [显示全部帖子]

Select e.DataCol.Name
    Case "群组分类","客户供应商","企业信息_税号"
        If e.DataRow.IsNull("群组分类") OrElse e.DataRow.Isnull("客户供应商") OrElse e.DataRow.Isnull("企业信息_税号") Then
            e.DataRow("客户ID") = Nothing
        Else
            Dim xz As String = getpy(e.DataRow("群组分类"), True).toupper().PadRight(4,"A")
            Dim gys As String = e.DataRow("客户供应商").toupper()
            If gys.Length > 3 Then gys = gys.Substring(0,4)
            Dim sh As String = e.DataRow("企业信息_税号")
            If sh.Length > 3 Then sh = sh.SubString(sh.Length - 4)
            Dim lb As String = xz & "-" & gys & "-" & sh & "-"
            Dim max As String = e.DataTable.Compute("Max(客户ID)","客户id like '" & lb & "%' And _Identify <> " & e.DataRow("_Identify") ) '取得该类别的最大编号
            Dim idx = 1
            If max > "" Then
                idx = cint(max.SubString(lb.length))+1
            End If
            e.DataRow("客户ID") = lb & format(idx, "000")
        End If
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/14 20:31:00 [显示全部帖子]

Dim max As String = e.DataTable.Compute("Max(客户ID)","群组分类 = '" & e.DataRow("群组分类") & "' And _Identify <> " & e.DataRow("_Identify") ) 

改为

 Dim max As String = e.DataTable.Compute("Max(客户ID)","客户ID like '" & xz & "%' And _Identify <> " & e.DataRow("_Identify") ) 

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/14 21:35:00 [显示全部帖子]

Select e.DataCol.Name
    Case "群组分类","客户供应商","企业税号"
        If e.DataRow.IsNull("群组分类") OrElse e.DataRow.Isnull("客户供应商") OrElse e.DataRow.Isnull("企业税号") Then
            e.DataRow("客户ID") = Nothing
        Else
            Dim xz As String = getpy(e.DataRow("群组分类"), True).toupper().PadRight(4,"A")
            Dim gys As String = e.DataRow("客户供应商").toupper()
            If gys.Length > 3 Then gys = gys.Substring(0,4)
            Dim sh As String = e.DataRow("企业税号")
            If sh.Length > 3 Then sh = sh.SubString(sh.Length - 4)
            Dim lb As String = xz & "-" & getpinyin(gys,1).Toupper & "-" & sh & "-"
            If e.DataRow("客户ID").StartsWith(lb) = False
                Dim max As String = e.DataTable.SQLCompute("Max(Right(客户ID,3))","客户ID like '" & xz & "%' And [_Identify] <> " & e.DataRow("_Identify") ) '取得该类别的最大编号
                Dim idx = 1
                If max > "" Then
                    idx = cint(max.SubString(max.length - 3))+1
                End If
                e.DataRow("客户ID") = lb & format(idx, "000")
                e.DataRow.save
            End If
        End If
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/14 22:00:00 [显示全部帖子]

数据删除后先保存再重置列

 回到顶部