为什么 Access 实例在宏完成 运行 后从 VBA 打开时退出?

Why does an instance of Access quit when opened from VBA after the macro is finished running?

我想知道以前是否有人遇到过这种情况。当我通过 VBA 创建 Access (2013) 实例时,Access 应用程序会在宏完成时退出 运行,即使我在子例程中的任何地方都没有任何 Application.quit 语句。有什么想法吗?

Sub Test()
    Dim axApp As Access.Application
    Set axApp = CreateObject("Access.Application")
    axApp.Visible = True
End Sub

新的 Access 应用程序实例由 axApp 对象变量创建和引用。

在您的程序结束时 axApp 超出范围并被销毁。由于它的销毁,它引用的 Access 应用程序实例被关闭。

如果您希望 Access 实例在您的 VBA 过程完成后继续存在,请将其 .UserControl 属性 设置为 True。

Sub Test()
    Dim axApp As Access.Application
    Set axApp = CreateObject("Access.Application")
    axApp.Visible = True
    axApp.UserControl = True
End Sub