将 debug.print 发送到不同的即时窗口



我在 Access 中设置了一个多线程例程,它同时打开多个 Access 文件并在每个文件中执行特定函数。这些文件并行作用。我想将Debug.Print消息发送到启动多线程的主文件。

我不确定它是否可以做到这一点,或者是否有更好的解决方案。

你有许多流程,每个流程都在大局中自己的部分工作。

在此过程中,"主"IDE 的直接窗格属于该实例;您可以按 Alt+Tab键,然后使用Alt+F11在任何/每个实例中启动一个 VBE 实例,以查看该实例Debug.Print输出。

你想要的类似于ILogger实现的东西,它将日志条目写入专用数据库表中:例如DatabaseLogger

你可以用Logger.Log调用替换Debug.Print;这样你就可以让数据库服务器处理多个传入的线程,根据RDBMS,你甚至可以设置一个作业来清理、聚合和/或归档旧的日志记录。或者其他什么,只要它不是我需要在 VBA 代码中关心的逻辑。

写入另一个 VBE 的直接工具窗口涉及低级、跨进程的 Win32魔法,不需要弄乱原本漂亮整洁的 VBA 项目。我不会为此烦恼,有更简单的解决方案。

您可以在主应用程序中创建一个 PublicNotCreatable 用户窗体(不是访问窗体(,并将对它的引用传递给所有并行应用程序。 将自定义方法添加到用户窗体,如"打印行(消息为字符串(", and each app can call窗体。PrintLine("应用程序正在运行"('?

然后,您可以让用户窗体显示输出,或者可能让用户窗体将消息输出到主应用程序的"即时"窗口。

相关内容

  • 没有找到相关文章

最新更新