从子窗体中的记录填充主窗体中的字段
问题描述:
在Access 2016中,我有一个主窗体ClientInfoForm,它包含子窗体EditTransactions_subform。该子表单位于数据表视图中。当用户单击子窗体中的记录时,我想填充主窗体中的字段。在窗体的Click事件,我目前有:从子窗体中的记录填充主窗体中的字段
Public Sub Form_Click
Forms![ClientInfoForm]![Amendment] = Forms![ClientInfoForm]![EditTransactions_subform].Form![Amendment]
End Sub
我不知道这是否是执行我想什么是正确的代码。该字段的名称是子表单和主窗体中的[修订]。
在此先感谢您的帮助!
Howard
答
这听起来很贴切。主窗体/子窗体的正常使用是浏览主窗体上的记录,并且对于每个主记录,子窗体将显示所有相关的子记录。您听起来好像您总是在子表格中显示全部您的记录,并且在您浏览这些时希望主表单中的信息发生变化。
如果这真的是你想要做的,并且假设这些是绑定表单,那么你需要确保主表单和子表单之间没有关联(在子表单属性上清除条目从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