MS Access VBA:打开报表时,一旦报表所依赖的查询完成,会触发哪些事件?

时间:2018-05-01 04:09:38

标签: ms-access events report

我的报告依赖于查询。报告正确显示,但我尝试使标签的可见性取决于查询中的是/否字段。

以下产生错误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。

但是,在报表上创建的执行相同代码行的命令框可以正确执行。

我怀疑所有的Report事件都是在运行查询之前触发的,因此这些字段尚未填充。查询完成后是否有可以使用的事件?

2 个答案:

答案 0 :(得分:1)

有时,解决此类问题的最佳方法是将标签转换为文本框并使用条件格式。如果通过条件格式化可以实现的格式化需求不足,那么您可以查看代码。

特别是对于标签是否可见,您甚至不需要条件格式。转换为文本框并使用:

=IIF([My condition for visible label],"My Label text:","")

作为其控制源。

答案 1 :(得分:0)

我发现如果使用Detail_Format事件,依赖于查询字段的代码将起作用。此事件在“打印预览”视图中触发,但不在“报表视图”中触发。