以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]有关自动编号生成方法(已经解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20726)

--  作者:ttzb2000
--  发布时间:2012/6/18 8:43:00
--  [求助]有关自动编号生成方法(已经解决)
按照帮助上写的方法,可以实现自动编号。
 序号    编号    名称  
   1   01   TT001  
   2   02   TT001 
   3   03   TT001  
   4   04   TT001  

 

我想自动编号编成如上表效果,就是名称为5位的。编号只编两位,不显示名称。这该如何改写代码?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动编号.table

[此贴子已经被作者于2012-6-18 13:56:14编辑过]

--  作者:ttzb2000
--  发布时间:2012/6/18 11:19:00
--  
没有人知道怎么弄吗
--  作者:狐狸爸爸
--  发布时间:2012/6/18 11:21:00
--  
Select e.DataCol.Name
    Case "名称"
        If e.DataRow.IsNull("名称") Then
            e.DataRow("编号") = Nothing
        Else
            If e.DataRow.IsNull("编号") Then
                Dim max As String
                Dim idx As Integer
                max = e.DataTable.Compute("Max(编号)","名称 = \'" & e.DataRow("名称") & "\'") \'取得该名称的最大编号
                If max > "" Then \'如果存在最大编号
                    idx = CInt(max) + 1
                Else
                    idx = 1 \'否则顺序号等于1
                End If
                e.DataRow("编号") = Format(idx,"00")
            End If
        End If
End Select

--  作者:ttzb2000
--  发布时间:2012/6/18 13:56:00
--  

已经完成。谢谢