以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]编号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123207)

--  作者:江南小镇
--  发布时间:2018/8/9 22:17:00
--  [求助]编号
老师,我想重新设置一个商品ID  如果型号和规格列中含有中文就转换为字母。

图片点击可在新窗口打开查看此主题相关图片如下:图像 029.png
图片点击可在新窗口打开查看





Select e.DataCol.Name
    Case "商品名称"
        If e.DataRow.IsNull("商品名称") Then
            e.DataRow("商品ID") = Nothing
        ElseIf e.DataRow.Isnull("商品ID") Then
            Dim lb As String = e.DataRow("商品名称")
            Dim max As String = e.DataTable.Compute("Max(商品ID)","商品名称 = \'" & lb & "\' And _Identify<> \'" & e.DataRow("_Identify") & "\'") \'取得该类别的最大编号
            If max > "" Then
                e.DataRow("商品ID") = GetPy(lb, True) & format(cint(max.SubString(lb.length))+1, "00000")
            Else
                e.DataRow("商品ID") = GetPy(lb, True) & format(1, "00000")
                If e.DataRow("商品ID").StartsWith(lb) = False \'如果单据编号前缀不符
                End If
            End If
        End If
End Select
[此贴子已经被作者于2018/8/9 22:21:06编辑过]

--  作者:有点甜
--  发布时间:2018/8/9 22:23: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 lb As String = getpy(e.DataRow("商品名称")) & "-" & e.DataRow("型号") & "-" & e.DataRow("规格") & "-"
            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, "00000")           
        End If
End Select

--  作者:江南小镇
--  发布时间:2018/8/9 22:32:00
--  
老师,商品名称列只取字符得第一个字母并大写。
--  作者:有点甜
--  发布时间:2018/8/9 22:33:00
--  
Dim lb As String = getpy(e.DataRow("商品名称"), true).toupper & "-" & e.DataRow("型号") & "-" & e.DataRow("规格") & "-"
--  作者:江南小镇
--  发布时间:2018/8/9 22:34:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:图像 030.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/8/9 22:34:00
--  

Dim lb As String = getpy(e.DataRow("商品名称"), true).toupper & "-" & e.DataRow("型号") & "-" & e.DataRow("规格") & "-"

 

上传实例测试。


--  作者:江南小镇
--  发布时间:2018/8/9 22:38:00
--  
老师,谢谢。
[此贴子已经被作者于2018/8/9 22:39:26编辑过]