以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]让ID号自增长的代码如何写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=70601)

--  作者:小老鼠
--  发布时间:2015/6/24 22:56:00
--  [求助]让ID号自增长的代码如何写

新增记录

让ID号自增长的代码如何写???

[此贴子已经被作者于2015/6/24 23:03:01编辑过]

--  作者:大红袍
--  发布时间:2015/6/25 0:06:00
--  

DataRowAdded事件

 

Dim  max As String
Dim  idx As  Integer
max = e.DataTable.Compute("Max(编号)")
If  max > "" Then \'如果存在最大编号
    idx = CInt(max.Substring(0,3)) + 1  \'获得最大编号的后三位顺序号,并加1
    e.DataRow("编号") = Format(idx,"000")
Else
    e.DataRow("编号") = "001" \'否则顺序号等于1
End  If


--  作者:小老鼠
--  发布时间:2015/6/25 10:01:00
--  

这个需要定义ID的长度

我希望直接从1开始 无线递增啊


--  作者:大红袍
--  发布时间:2015/6/25 10:10:00
--  

Dim  max As Integer = e.DataTable.Compute("Max(编号)")
e.DataRow("编号") = max + 1

[此贴子已经被作者于2015/6/25 10:11:45编辑过]

--  作者:瞩望星空
--  发布时间:2015/6/25 12:53:00
--  
如果删除了,是不是编号还是会重复?
--  作者:大红袍
--  发布时间:2015/6/25 14:12:00
--  

 你可以这样

 

e.DataRow.Save
e.DataRow("第一列") = e.DataRow("_Identify")


--  作者:大红袍
--  发布时间:2015/6/25 14:12:00
--  

也可以这样

 

http://www.foxtable.com/help/topics/1443.htm