MS-Access 报告在执行时显示设计视图
Posted
技术标签:
【中文标题】MS-Access 报告在执行时显示设计视图【英文标题】:MS-Access reports shows design view upon execution 【发布时间】:2008-11-04 09:21:30 【问题描述】:我在 MS Access 报告中创建了一个报告,并编写了一些 VBA 代码来检索数据并以 MS-Word 格式显示报告。 但是在运行时生成报告时,报告首先显示或闪烁报告设计视图几秒钟,然后生成报告。
我想找到一种解决方案,以避免在生成报告时出现这种闪烁的设计视图。在这个 MS-Access 或 VBA 编码中是否可能。 ??
我正在发布我用来从访问表单代码调用访问报告的行。
DoCmd.OpenReport rst![参数],acPreview
这将生成报告,但设计屏幕在执行时会闪烁几秒钟。
并且访问报告中没有写入VBA代码。
实际运行是,我已经准备好临时访问表中的数据并从表中生成报告。
这里的问题是,在预览模式下启动报表时,报表的设计屏幕显示了几秒钟。从用户的角度来看,这看起来很糟糕。
【问题讨论】:
什么版本的 Access?是只有那一行代码还是有一些设置代码可以修改设计? 【参考方案1】:您似乎是在设计视图中打开报表以更改某些属性。可能可以避免这种情况,但您需要发布打开报告的代码才能确定。
【讨论】:
【参考方案2】:如果你尝试这段代码会发生什么:
Dim strReport As Report
strReport = rst!Argument
If SysCmd(acSysCmdGetObjectState, acReport, strReport) Then
DoCmd.Close acReport, strReport
End If
DoCmd.OpenReport strReport, acPreview
该代码的作用是检查报表是否已在任何视图中打开,如果是则关闭它,然后再打开它。这样可以确保您不在隐藏窗口的设计视图中。
并且该代码还避免了可能与将值从记录集传递到 OpenReport 命令相关的任何可能的 ByRef 引用问题。
【讨论】:
【参考方案3】:如何将报告导出到 MS-Word?密码是多少?
您是否尝试过使用简单的报表(使用表格数据源)而不是使用 VBA 代码来实现相同的效果?也许 VBA 运行时间过长,以至于它在设计模式下保持报表打开的时间足够长,以至于可以感知。
【讨论】:
【参考方案4】:当我从 VB6 应用程序调用 MS Access 报告时,我也遇到了同样的情况。在我的情况下发生这种情况的原因是因为我有一个设置为在启动时出现的表单。如果您没有选择启动表单,它应该不会变得可见,因此不会闪烁。
如果这有帮助,请告诉我。
迈克
【讨论】:
以上是关于MS-Access 报告在执行时显示设计视图的主要内容,如果未能解决你的问题,请参考以下文章
防止 TableView Header 在执行 [uitableView reloadData] 时显示