以文本方式查看主题

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

--  作者:江南小镇
--  发布时间:2017/10/10 14:16:00
--  [求助]编号
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编号.table


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

--  作者:有点甜
--  发布时间:2017/10/10 14:45:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编号.table


--  作者:江南小镇
--  发布时间:2017/10/10 14:59:00
--  

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

--  作者:有点甜
--  发布时间:2017/10/10 15:03:00
--  
Select e.DataCol.Name
    Case "名称"
        If e.NewValue > "" Then
            e.DataRow("类别") = GetPinyin(e.NewValue,1).Toupper.substring(0,2)
        End If
    Case "类别"
        If e.DataRow.IsNull("类别") Then
            e.DataRow("编号") = Nothing
        Else
            Dim lb As String = e.DataRow("类别")
            Dim dr = e.DataTable.find("类别 = \'" & lb & "\' and 序号 is not null", "序号 desc") \'取得该类别的最大编号
            If dr IsNot Nothing Then
                e.DataRow("编号") = dr("编号")
                e.DataRow("序号") = dr("序号")
            Else
                dr = e.DataTable.find("", "序号 desc") \'取得该类别的最大编号
                If dr IsNot Nothing Then
                    e.DataRow("编号") = lb & Format(dr("序号") + 1, "000")
                    e.DataRow("序号") = dr("序号")+1
                Else
                    e.DataRow("编号") = lb & Format(1, "000")
                    e.DataRow("序号") = 1
                End If
            End If
        End If
End Select

--  作者:江南小镇
--  发布时间:2017/10/10 15:06:00
--  
谢谢老师