我有一个名为Assembly
的表单,该表单有一个名为PartsList
的子表单。它们与一个称为Parent
的字段绑定在一起。它们在同一张表上工作,主要的Assembly
表单仅通过组合框过滤了PartsList
子表单,因此您只能在子表单上看到具有与{相同值的记录(Child
字段) {1}}。
我想使用子表单轻松为同一Parent
添加子级。
我尝试将表达式和方法添加到子表单的Parent
属性中,该子表单尝试将新记录的BeforeInsert
字段的值设置为主表单中的Parent
的当前值表格。
Parent
我收到一个错误:
引用对象时发生错误。您试图运行Visual Basic过程,该过程不正确地引用了对象的属性或方法。
在VBA中...
BeforeInsert: =[Parent] = [Forms]![Assembly]![Parent]
我得到一个错误:
运行时错误'438':对象不支持此属性或方法。
我猜我的问题是,当我尝试设置新记录的Private Sub Form_BeforeInsert(Cancel As Integer)
[Parent] = [Forms]![Assembly]![Parent]
End Sub
字段时,我正在访问整个Parent字段对象,而不仅是新记录的值。不过,我对如何仅获取新记录的价值不知所措。
编辑:
我还尝试将子窗体上的[Parent]
的默认值设置为主窗体上的Parent
的当前值,但是如果更改主窗体值,子窗体的值不会更新。>
答案 0 :(得分:0)
在VBA中放置这样的内容。每次插入完成并在表格中更新插入的记录后,就会触发此操作。
Private Sub Form_AfterInsert()
DoCMD.RunSQL "Update Assembly SET Parent = " & [Forms]![Assembly]![Parent]
End Sub