VBA Access 中的 DoEvents() 或替代方法

VBA DoEvents() in Access or an alternative

我正在阅读一些选项,这些选项允许我 运行 一个宏而无需锁定我的 Access 会话,直到它完成 运行ning。我有一些用于 Access 的 VBA 宏,可以执行 SQL SELECT 和 UPDATE 语句,并且可能需要将近一个小时才能完成 运行。这目前会锁定我的访问权限,直到完成 运行ning。

我看到有哪些选项可以让我可以使用宏,并且在它在后台完成 运行 报告时仍然使用 Access。我遇到了 DoEvents() 作为一个选项,但几乎所有内容都对我们说不。那么有哪些好的替代品?

DoEvents 有其用途,例如如果你有一个很长的 运行 循环并且想给用户一个他可以实际点击的 "Cancel" 按钮。

但在您的用例中,最佳选择是:

  • 复制您的前端数据库
  • 运行 您的 VBA 代码在第一个前端的一个 Access 实例中
  • 启动第二个 Access 实例,打开第二个前端,做任何你想做的事(好吧,你不应该做一些锁定第一个实例使用的表的事情)。