以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]AddNew是怎么回事呢  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=34445)

--  作者:ifastudy
--  发布时间:2013/6/7 17:20:00
--  [求助]AddNew是怎么回事呢
我选择一个副表A的一行,然后用它的值作为过另一个副表B的筛选条件.这样B的值随A中的选择的行而变化,也就是模拟了关联表.
现在出现了这样的问题.当我向B增加行时,增加一行没有问题,后面再增加的就是空白行. 已经遇到过两次了,是什么原因呢?

A表 CurrentChanged代码:
Dim SelRow = Tables("裁剪完工统计_Table1").Current

If SelRow IsNot Nothing
Tables("裁剪完工统计_Table2").Filter = "[节点名]=\'" & SelRow("节点名") & "\' and [订单编号]=\'" & SelRow("订单编号") & "\'"
End If

B表增加行(转为完工单)代码:
Dim SelRow As Row = Tables(e.Form.Name & "_Table1").Current 

If SelRow Is Nothing
  Return
End If

Dim NewRow As Row = Tables(e.Form.Name & "_Table2").AddNew()
NewRow("订单编号")=SelRow("订单编号")
NewRow("节点名")=SelRow("节点名")
NewRow("已完工码63S")=SelRow("未完工码63S")
NewRow("已完工码66M")=SelRow("未完工码66M")
NewRow("已完工码70L")=SelRow("未完工码70L")
NewRow("已完工码73XL")=SelRow("未完工码73XL")
NewRow("已完工码76XXL")=SelRow("未完工码76XXL")
NewRow("已完工码80XXXL")=SelRow("未完工码80XXXL")
NewRow("已完工码83")=SelRow("未完工码83")
NewRow("已完工码86")=SelRow("未完工码86")
NewRow("已完工码90")=SelRow("未完工码90")
NewRow("记录日期")=Date.Today


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看


--  作者:ifastudy
--  发布时间:2013/6/7 17:30:00
--  
NewRow 由Row换成DataRow就可以了,但不明白原因
--  作者:狐狸爸爸
--  发布时间:2013/6/7 17:45:00
--  

说明第二次增加行的时候,Tables(e.Form.Name & "_Table1")的当前行并没有数据,第二次增加行之前,你可以看看这个表的当前是不是真的有数据


--  作者:ifastudy
--  发布时间:2013/6/7 20:01:00
--  
当前行是有值的,我用messagebox显示过,它把值总赋给第一个增加的行,后面增加的行是空白。我看帮助说AddNEW返回增加的第一行,这个说得通。但为什么DataTables的addnew可以呢