以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]子表如何自动增加序号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69418) |
||||
-- 作者:czgtiger -- 发布时间:2015/6/4 19:54:00 -- [求助]子表如何自动增加序号 建立3个表,表A为父表,表A.表B,表A.表B.表C 想实现的目标为: 点击表A.表B.表C,使这个表的编号自动增加,如何编码?不是使用_IDENTYFY 如附件所示
|
||||
-- 作者:大红袍 -- 发布时间:2015/6/4 20:24:00 -- DataRowAdded事件
Dim idx As Integer = Tables("表A.表B.表C").FindRow(e.DataRow) |
||||
-- 作者:czgtiger -- 发布时间:2015/6/4 20:48:00 -- 非常感谢 |
||||
-- 作者:czgtiger -- 发布时间:2015/6/4 21:07:00 -- 大红袍,你好,这段代码在使用过程中,发现不是在太完美,假如,表A.表B.表C中有10行,序号从1排到10,现在我删除其中的第6行,再点击“增加明细”,发现最后新增一行的编号为10,这样就产生了编号有两个10,编号不唯一,如何解决这个问题? |
||||
-- 作者:大红袍 -- 发布时间:2015/6/4 21:26:00 -- 删除一行的时候重新编号
For Each r As Row In Tables("表A.表B.表C").Rows r("编号") = r.Index + 1 Next |
||||
-- 作者:czgtiger -- 发布时间:2015/6/4 21:46:00 -- 删除时,这段代码是放在删除按钮上吗?如果是的话,检验了一遍,发现,虽然编号不重复了,可是还是未达到想要的效果。我想要的效果是:如果编号为:1,2,3,4,5,6,7,8,9,10。如果我删除其中的第5行,也就是说在窗口中看到是:1,2,3,4,6,7,8,9,10这9行,此时,我再点击增加明细这个按钮,新的排列编号为:1,2,3,4,6,7,8,9,10,11,不知这样说,是否能明白我的意思? |
||||
-- 作者:大红袍01 -- 发布时间:2015/6/4 21:47:00 -- 写到删除行事件 DataRowDeleted 事件啊 |
||||
-- 作者:大红袍01 -- 发布时间:2015/6/4 21:53:00 -- 1、编号列改成数值列;
2、Datacolchanged事件写代码
If e.DataCol.Name = "序号" Then |