【发布时间】:2016-10-03 16:01:48
【问题描述】:
我有下面的代码,如果它存在,它将使用已经打开的 Access 数据库,如果没有,它将使用新的 Access 实例。这工作正常。
Sub DoStuff()
Dim AccApp As Application
Set AccApp = GetObject("C:\DatabaseName.accdb")
--Do Something e.g.
Debug.Print AccApp.CurrentDb.Name
Set AccApp = Nothing
End Sub
在此之后我想做的是让数据库保持打开状态,如果它已经打开,但如果它不开始就关闭它。我如何判断它是否存在。
我不想测试 laccdb 文件,因为这些文件在 Access 意外关闭后仍然存在。
任何最受赞赏的想法。
【问题讨论】:
-
您的代码已经这样做了(至少在 Office 2013 中)。当我对此进行测试时,
AccApp实例在其引用计数为 0 时关闭。如果您在另一个实例中打开 DatabaseName.accdb,则当AccApp超出范围时它不会关闭。