在Access 2016中,我有一个主窗体ClientInfoForm,它包含一个子窗体EditTransactions_subform。子表单位于数据表视图中。当用户单击子窗体中的记录时,我想填充主窗体中的字段。在子表单的Click事件中,我目前有:
Public Sub Form_Click
Forms![ClientInfoForm]![Amendment] = Forms![ClientInfoForm]![EditTransactions_subform].Form![Amendment]
End Sub
我不确定这是否是执行我想要的正确代码。该字段的名称是子表单和主表单中的[修正]。
提前感谢您的帮助!
霍华德
答案 0 :(得分:2)
这听起来很反过来。主表单/子表单的正常使用是浏览主表单上的记录,对于每个主记录,子表单将显示所有相关的子记录。您听起来好像总是从子表格中的子表格中显示所有您的记录,当您浏览这些记录时,您希望主表单中的信息发生变化。
如果这确实是您想要做的,并假设这些是绑定表单,那么您需要确保主表单和子表单之间没有链接(在子表单属性上清除条目Link Child Fields
和Link Master Fields
)。在子表单的On Current
事件中,您可以尝试这样的事情(尽管它完全未经测试):
Dim rst As Recordset
Set rst = Me.Parent.RecordsetClone
rst.FindFirst "Amendment = '" & [Amendment] & "'" 'assumes [Amendment] is String, otherwise lose the surrounding quotes
Me.Parent.Bookmark = rst.Bookmark
rst.Close
Set rst = Nothing