我正在使用类似项目的模板报告。打开时我有代码格式化它。问题是,切换到“打印预览”视图时代码会执行。在该视图中不允许对代码执行某些格式化操作。
通过在我的报告中添加一个名为“txtFormatted”的隐形文本框,我解决了这个问题。一旦完成格式化,我的代码就用“True”填充它。文本框具有该值时,模块将不会执行。
但这个解决方案似乎很草率。人们如何在打开报告时执行代码,而不是在翻阅视图时再次运行?
使用报表代码模块顶部的私有变量(报表专用)代替文本框:
Option Compare Database
Option Explicit
Private IsFormatted As Boolean
打开报告时会为False。然后像现在一样将其设置为True,并在运行格式化代码之前检查此变量。