VBA-如何在报表视图之间切换时防止代码执行

时间:2019-02-19 20:40:09

标签: vba ms-access access-vba

我正在使用类似模板的报告来进行类似的项目。打开时我有将其格式化的代码。问题是,代码切换到“打印预览”视图时执行。该视图不允许某些格式的代码。

我通过在报表中放置一个不可见的文本框(名为“ txtFormatted”)来解决此问题。完成格式化后,我的代码将其填充为“ True”。当文本框具有该值时,该模块将不会执行。

但是这种解决方案似乎草率。人们在打开报表时如何执行代码,而在浏览视图时却不再次运行?

1 个答案:

答案 0 :(得分:2)

在报告代码模块顶部使用私有变量(报告专用)代替文本框:

Option Compare Database
Option Explicit

Private IsFormatted As Boolean

打开报告时为 False 。 然后像现在一样将其设置为 True ,并在运行格式化代码之前检查此变量。