以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  序列号  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2580)

--  作者:blackzhu
--  发布时间:2009/4/23 17:08:00
--  序列号
我用"_identify"表达式可以做到每增加一行序列号增加一位,如果用代码是怎么写的?
--  作者:狐狸爸爸
--  发布时间:2009/4/23 17:11:00
--  
_identify的值,不能通过代码修改,只能读取。
--  作者:blackzhu
--  发布时间:2009/4/23 17:16:00
--  
以下是引用狐狸爸爸在2009-4-23 17:11:00的发言:
_identify的值,不能通过代码修改,只能读取。

也就是每增加一行,序列号增加一位只做不到的,只能手工输入或者用表达式.


--  作者:狐狸爸爸
--  发布时间:2009/4/23 17:19:00
--  

可以,在DataRowAdding事件中设置代码,用Compute方法取得最大的ID值,将新增行的ID值设为此最大值加1


--  作者:blackzhu
--  发布时间:2009/4/23 17:20:00
--  
 e.datarow("ID")= Format(e.DataTable.Compute("Count(IO)","[IO] = \'" & e.datarow("IO") & "\' And [_identify] < 100" & e.DataRow("_Identify")),"000" )

但是像这句代码,每一个"IO"开始,是从1开始的,每增加一行ID就会增加一位.新的IO开始又是从1开始的,我想修改一下应该行的,但我不知道是怎么改?

--  作者:狐狸爸爸
--  发布时间:2009/4/23 18:06:00
--  
这个ID和_Identify无关,应该单独生成的:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table


--  作者:blackzhu
--  发布时间:2009/4/24 7:23:00
--  
以下是引用狐狸爸爸在2009-4-23 18:06:00的发言:
这个ID和_Identify无关,应该单独生成的:

 下载信息  [文件大小:308.0 KB  下载次数:2]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table

谢谢,明白了.


--  作者:blackzhu
--  发布时间:2009/4/24 7:35:00
--  

谢谢你的帮助,在你的插入行示例和昨日的序列号示例,我已经将我的插入行问题解决了.