1

我在 MS Access 报告中创建了一个报告,并编写了一些 VBA 代码来检索数据并以 MS-Word 格式显示报告。但是在运行时生成报告时,报告首先显示或闪烁报告设计视图几秒钟,然后生成报告。

我想找到一种解决方案来避免在生成报告时闪烁设计视图。在这个 MS-Access 或 VBA 编码中是否可能。??

我正在发布我用来从访问表单代码调用访问报告的行。

DoCmd.OpenReport rst![参数], acPreview

这将生成报告,但设计屏幕在执行时会闪烁几秒钟。

并且访问报告中没有写任何 VBA 代码。

实际运行是,我已经准备好临时访问表中的数据并从表中生成报告。

这里的问题是,在预览模式下启动报表时,报表的设计屏幕显示了几秒钟。从用户的角度来看,这看起来很糟糕。

4

4 回答 4

1

您似乎正在设计视图中打开报告以更改某些属性。可能可以避免这种情况,但您需要发布打开报告的代码才能确定。

于 2008-11-04T10:43:26.213 回答
0

您如何将报告导出到 MS-Word?代码是什么?

您是否尝试过使用简单的报告(带有表格数据源)而不是使用 VBA 代码来做同样的事情?也许 VBA 需要很长时间才能运行,以至于它在设计模式下保持报表打开的时间足够长以至于可以感知。

于 2008-11-04T17:20:48.733 回答
0

如果您尝试此代码会发生什么:

  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 引用问题。

于 2008-11-07T04:24:32.560 回答
0

当我从 VB6 应用程序调用 MS Access Report 时,我也会发生同样的事情。在我的情况下发生这种情况的原因是因为我有一个设置为在启动时出现的表单。如果您没有选择启动表单,它不应该变得可见,因此不会闪烁。

让我知道这是否有帮助。

麦克风

于 2009-03-15T17:02:36.783 回答