以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  导入数据的自动编号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69881)

--  作者:youkacard
--  发布时间:2015/6/12 10:28:00
--  导入数据的自动编号
我有个客户资料表,自动编号我是在DataRowAdding执行代码的,通过统计总行数进行编号,但是这样做我发现如果删掉其中一条资料的话,之后新增的就会出现重复编号,然后我想着新增之前先find一下,如果找到一样的,就+1,但是好像写得不行,附上代码,求指导。
Dim Count As Integer = e.DataTable.DataRows.Count
e.DataRow("资料编码") = "CS-" & Format(Count + 1,"0000")
Dim dr As DataRow = e.DataTable.Find("资料编码 = \'" & e.DataRow("资料编码") & "\'")
If dr IsNot Nothing Then
Count = Count + 1
End If


--  作者:youkacard
--  发布时间:2015/6/12 10:34:00
--  
顶贴
--  作者:大红袍
--  发布时间:2015/6/12 10:36:00
--  


    Dim max As String = e.DataTable.Compute("max(资料编码)")
    If max > "" Then
        e.DataRow("资料编码") = "CS-" & Format(Val(max.SubString(3))+1, "0000")
    Else
        e.DataRow("资料编码") = "CS-0001"
    End If