我在 Access 中设置了一个多线程例程,它同时打开多个 Access 文件并在每个文件中执行特定的功能。这些文件并行执行。我想将Debug.Print
消息发送到启动多线程的主文件。
我不确定它是否可以做到这一点,或者是否有更好的解决方案。
我在 Access 中设置了一个多线程例程,它同时打开多个 Access 文件并在每个文件中执行特定的功能。这些文件并行执行。我想将Debug.Print
消息发送到启动多线程的主文件。
我不确定它是否可以做到这一点,或者是否有更好的解决方案。
你有许多过程,每个过程都在大局中各自工作。
“主”IDE的直接窗格属于该实例,在该进程中;您可以Alt+Tab然后Alt+F11在任何/每个实例中调出 VBE 实例以查看该实例的Debug.Print
输出。
您想要的是类似于ILogger
将日志条目写入专用数据库表的实现:DatabaseLogger
例如 a 。
你Debug.Print
用Logger.Log
电话代替;这样,您就可以让数据库服务器处理多个传入线程,并且根据 RDBMS,您甚至可以设置一个作业来清理、聚合和/或存档旧的日志记录。或者其他什么,只要它不是我需要在 VBA 代码中关心的逻辑。
写入另一个 VBE 的即时工具窗口涉及低级、跨进程的 Win32 魔法,不需要弄乱原本漂亮整洁的 VBA 项目。我不会为此烦恼,有更简单的解决方案。
您可以在主应用程序中创建一个 PublicNotCreatable UserForm(不是访问表单),并将对它的引用传递给所有并行应用程序。向 UserForm 添加自定义方法,例如 'PrintLine(message as string) , and each app can call
form.PrintLine("app is running")`?
然后,您可以让 UserForm 显示输出,或者让 UserForm 将消息输出到主应用程序的即时窗口。