以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于批量新增行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=21773)

--  作者:gedogn
--  发布时间:2012/7/24 12:33:00
--  [求助]关于批量新增行

需要在一个表中批量增加行,并且对每一个新增行的部分字段进行预赋值,新增行第一列的内容等于增加的序号。

代码如下:

Dim i As  Integer
Dim max As Integer = RibbonTabs("日常工作").Groups("操作").Items("数量").Value \'从这里获取要增加多少行
For i=1 To max
    Dim dr As Row = Tables("表1.表2").AddNew()
    dr("第一列")=i
    dr.Save()   
Next

 

执行结果与预期不同。始终只有增加的第一行的数据在变,其它行数据均为空,并且执行完后除第一行外,其余行均没有保存。好奇怪。

 

关键是Dim dr As Row = Tables("表1.表2").AddNew()这句代码好奇怪,但是下列测试代码执行结果正确:

Dim dr1 As Row = Tables("表A").AddNew()

Dim dr2 As Row = Tables("表A").AddNew()

dr1("第一列")="a"

dr2("第一列")="b"

难道是关联表的bug?


--  作者:czy
--  发布时间:2012/7/24 13:00:00
--  

代码应该是没有问题的。

你是往关联表中批量增加行,看看是不是写入了到了关联列

另外保存也不要增加一行就保存,这样好像影响效率


--  作者:gedogn
--  发布时间:2012/7/24 17:07:00
--  

好像错误只发生在,表中的个别列进行预赋值时会发生错误,目前还不清楚错误发生的原因,正在努力筛查。