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

问题描述 投票:-1回答:1

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

通过在我的报告中添加一个名为“txtFormatted”的隐形文本框,我解决了这个问题。一旦完成格式化,我的代码就用“True”填充它。文本框具有该值时,模块将不会执行。

但这个解决方案似乎很草率。人们如何在打开报告时执行代码,而不是在翻阅视图时再次运行?

vba ms-access access-vba
1个回答
2
投票

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

Option Compare Database
Option Explicit

Private IsFormatted As Boolean

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

© www.soinside.com 2019 - 2024. All rights reserved.