MS Access:为子表单的每个实例执行代码

MS Access: Execute code for every instance of a subsubform

我有一个 MS Access 2013 表单,在子表单(孙子)中包含一个子表单,两者都在数据表视图中。

现在我在主窗体上有了一些控件,可以使用它们来过滤子窗体和孙窗体中的记录。

过滤 child 表单完全可以与

Dim strSQL As String
strSQL = ...
Me!child.Form.RecordSource = strSQL
Me!child.Requery

但是如果我想为孙子

设置过滤器
Dim strSQL As String
strSQL = ...
Me!child.Form!grandchild.Form.RecordSource = strSQL
Me!child.Form!grandchild.Requery

我收到错误 2455。使用 this question 我通过扩展一个或多个子表单的行解决了这个错误。

但我现在想为每个孙子行设置 RecordSource,而我当前的代码仅适用于 第一行 ,与我 expanding/collapsing.

如何更改主窗体中每个子子窗体记录的 RecordSource,最好在过滤前无需手动展开任何行?

编辑: Gustav 提供了一个帮助我的无代码解决方案。尽管如此,我想知道如何从所有实例的主表单中更改孙子的表单属性。

您不需要调整记录源。

调整孙子窗体Master/Childlink字段control,自动过滤.