Ms access 检查报告是否完全格式化

Ms access 检查报告是否完全格式化,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我们在访问中有订单数据库,在那里我们收集并向客户发送订单确认。在订单中,我单击按钮以正常视图打开确认报告。我在打开的报告上有“发送报告”按钮,以PDF格式发送给客户 所有的工作都有小报告。当报告有15-20页或更多页时出现问题。经过一些调查,我发现在加载报表时,用户按下发送按钮,报表并没有完全格式化,发送操作就失败了 我找不到正确的事件来检查报表是否已完成格式化。这将有助于我根据该状态使“发送”按钮启用为真/假。可能是您可以使用报表页脚部分的“OnPrint”事件:“事件发生在报表部分中的数据格

我们在访问中有订单数据库,在那里我们收集并向客户发送订单确认。在订单中,我单击按钮以正常视图打开确认报告。我在打开的报告上有“发送报告”按钮,以PDF格式发送给客户

所有的工作都有小报告。当报告有15-20页或更多页时出现问题。经过一些调查,我发现在加载报表时,用户按下发送按钮,报表并没有完全格式化,发送操作就失败了


我找不到正确的事件来检查报表是否已完成格式化。这将有助于我根据该状态使“发送”按钮启用为真/假。

可能是您可以使用报表页脚部分的“OnPrint”事件:“事件发生在报表部分中的数据格式化以便打印之后,但在打印部分之前”

我终于解决了它

  • 打开打开报告的docmd.Hourglass before按钮(按钮位于订单上),并关闭exit sub上的docmd.Hourglass

  • 在顶部的“发送”按钮的OnClick事件中,检查鼠标指针

    如果Screen.MousePointer=11,则退出Sub


现在用户无法开始发送,直到订单上按钮的所有过程完成。这确实很奇怪,但不知何故它解决了这个问题。谢谢大家的帮助

不幸的是,无法使用它,因为此事件不会在open for me上触发。我不打印报告。我试图在普通视图中打开它,以便能够发送。@litpost您不将其打印到打印机,但msaccess将其打印到窗口。在示例报告put
Debug.Print Now
footer的
onprint
事件中检查其行为。我按照您的建议做了,但什么也没发生。OnPrint事件根本没有触发。然而,若我在打印预览模式下打开报告,那个么它工作得很好。但我不能使用PrintPreview,因为我必须在报告上有按钮才能发送它。你是说你调用了
docmd.OpenReport“testreport”,acViewNormal
,事件没有触发吗?然后是2010年的缺陷,因为2003年的“acViewNormal”和“acViewPreview”选项都很好用。是的,没错。如果是2010年的缺陷,也许我可以使用另一种解决方案。错误捕获或onTimer事件。报告上的OnTimer事件何时开始?我的意思是,在装货后还是在装货过程中?