【问题标题】:Passing a subform filter to a subreport将子表单过滤器传递给子报表
【发布时间】:2020-07-13 10:33:37
【问题描述】:

试图将子表单过滤器传递给子报表但没有成功。

Dim strFilt As String

If Not IsNull(Forms!TblMain2![QryProceduresDone subform].Form.Filter) Then
        strFilt = Forms!TblMain2![QryProceduresDone subform].Form.Filter
        Me![QryProceduresDone subreport].Filter = strFilt
        Me![QryProceduresDone subreport].FilterOn = True
End If

我目前将表单的过滤器毫无问题地传递给主报告。

我知道我不能将上面的代码放在 on open 事件中,我试图将它放在那里和 On Load 事件中,但得到错误“对象不支持此属性或方法”。有 Me![QryProceduresDone subreport].Filter = strFilt

的行发生错误

非常感谢任何建议。

提前致谢。

【问题讨论】:

    标签: vba ms-access ms-access-reports


    【解决方案1】:

    首先,Filter 属性是一个字符串,因此它永远不会是Null

    其次,请记住,子表单/子报表的打开顺序是三个:

    1. 子报告(初始)
    2. 父报表
    3. 子报告(最终)

    因此,在 OnOpen 事件中设置 MsgBox 或 Debug.Print 行以进行观察。

    粗暴但简单的方法是插入代码以在子报表的初始打开时忽略错误。

    【讨论】:

      猜你喜欢
      • 2015-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多