以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关联数据复制的问题。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91768)

--  作者:pladic
--  发布时间:2016/10/18 16:42:00
--  [求助]关联数据复制的问题。
表a、表b为关联表,在表B中增加一行时,表a中部分列的值要赋给表B中的对应列。
在表B的DataRowAdded事件中,代码为:
Dim p As DataRow=e.DataRow.getparentrow("订款信息表")
e.DataRow("份数")=p("份数")
e.DataRow("金额")=p("金额")
e.DataRow("开具单位")=p("汇款单位")
e.DataRow("联系人")=p("汇款人")
e.DataRow("开票人")=user.name
e.DataRow("开票日期")=Date.Today
上述代码,直接用表操作时没问题。

但是,在窗口中,添加BUTTON控件,CLICK事件中写代码:tables("表B").addnew()
执行时,则报错“表B”datarowadded
调用的目标发行了异常
未将对象引用设置到对象的实例。
窗口中的控件都绑定了表b的对应例

如何通过窗口内的控件实现对应的表操作?
[此贴子已经被作者于2016/10/18 16:42:40编辑过]

--  作者:有点蓝
--  发布时间:2016/10/18 16:57:00
--  
CLICK事件改为
Tables("表a.表B").addnew()
Tables("表B").Position = Tables("表B").Rows.Count - 1

--  作者:pladic
--  发布时间:2016/10/18 17:14:00
--  回复:(有点蓝)CLICK事件改为Tables("表a.表B").add...
对,用第一行的代码解决了。

不过,第二行代码是什么意思?

--  作者:有点蓝
--  发布时间:2016/10/18 17:19:00
--  
定位到新增的行。如果窗口表关联到关联表,可以去掉这句