MS Access VBA: 打开报表时,报表所依赖的查询完成后会触发什么事件?
MS Access VBA: When opening a report, what event is triggered once the query that the report depends on has been completed?
我有一个依赖于查询的报告。报告显示正确,但我试图让标签的可见性取决于查询中的 yes/no 字段。
以下会产生 错误 2424,表示找不到该字段:
Private Sub Report_Open(Cancel As Integer)
lblUppersIncluded.Visible = ysnUppersIncluded
End Sub
或者:
Private Sub Report_Activate()
lblUppersIncluded.Visible = ysnUppersIncluded
End Sub
给出错误 2427 表达式没有值。 Report_Load 同样如此。
但是,在报表上创建的执行同一行代码的命令框可以正确执行。
我怀疑所有报告事件都是在查询 运行 之前触发的,因此这些字段尚未填充。查询完成后是否有可以使用的事件?
我发现如果使用 Detail_Format 事件,依赖于查询字段的代码将起作用。此事件在打印预览视图中触发,但在报表视图中不触发。
有时,解决此类问题的最佳方法是将标签转换为文本框并使用条件格式。如果条件格式无法满足您的格式需求,那么您可以查看代码。
特别是对于标签是否可见,您甚至不需要条件格式。转换为文本框并使用:
=IIF([My condition for visible label],"My Label text:","")
作为其控制源。
我有一个依赖于查询的报告。报告显示正确,但我试图让标签的可见性取决于查询中的 yes/no 字段。
以下会产生 错误 2424,表示找不到该字段:
Private Sub Report_Open(Cancel As Integer)
lblUppersIncluded.Visible = ysnUppersIncluded
End Sub
或者:
Private Sub Report_Activate()
lblUppersIncluded.Visible = ysnUppersIncluded
End Sub
给出错误 2427 表达式没有值。 Report_Load 同样如此。
但是,在报表上创建的执行同一行代码的命令框可以正确执行。
我怀疑所有报告事件都是在查询 运行 之前触发的,因此这些字段尚未填充。查询完成后是否有可以使用的事件?
我发现如果使用 Detail_Format 事件,依赖于查询字段的代码将起作用。此事件在打印预览视图中触发,但在报表视图中不触发。
有时,解决此类问题的最佳方法是将标签转换为文本框并使用条件格式。如果条件格式无法满足您的格式需求,那么您可以查看代码。
特别是对于标签是否可见,您甚至不需要条件格式。转换为文本框并使用:
=IIF([My condition for visible label],"My Label text:","")
作为其控制源。