以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求教,用Identify自动编号加字符之后就会重复?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158919)

--  作者:hitzfeld
--  发布时间:2020/12/7 14:39:00
--  求教,用Identify自动编号加字符之后就会重复?
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(编号)","[_Identify] <> " & e.DataRow("_Identify")) \'取得最大编号
If max > "" Then \'如果存在最大编号
    idx = CInt(max.Substring(1,3)) + 1 \'获得最大编号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
e.DataRow("编号") = "A" & Format(idx,"0000")

这段代码的最后一句,如果不加“A” & 就没有问题,但是加了A字符之后就只有新增的第一条记录是按顺序的,之后的记录全部都是A0001。

--  作者:有点蓝
--  发布时间:2020/12/7 14:53:00
--  
编号的格式要统一。应该是旧数据有不带A的编号,或者是带其它字符的编号