我遇到ms access 2007 accdb的问题,使用Windows Server 2008任务计划程序执行计划任务。问题是任务调度程序正在打开/关闭的文件正在打开/关闭,但是数据库关闭后“锁定”文件(.laccdb)仍然可见,这表明访问数据库认为它仍处于打开状态。每次运行新任务时,都会打开一个新的访问实例。我打开了Schema来显示数据库中所有用户的名单,它显示了3个服务器名称/ Admin帐户的副本。以下是访问中即时窗口的示例:
COMPUTER_NAME LOGIN_NAME已连接SUSPECT_STATE SERVER Admin True Null SERVER Admin True Null SERVER Admin True Null
我希望其他人遇到此问题并知道1)如何轻松关闭所有打开的访问实例,以及2)如何防止在运行任务时发生这种情况。我在任务的“设置”选项卡下设置了“不要启动新实例”,但这与b / c没有任何任务同时运行无关。提前感谢您的任何帮助。
答案 0 :(得分:0)
要关闭所有打开的Access实例(您无法从Access运行此实例,因为您无法保证正在运行的实例将是您检索的最后一个引用):
Sub CloseAllAccessInstances()
Dim acc As Access.Application
Do
Set acc = GetObject(, "Access.Application")
If IsNull(acc) Then Exit Do
acc.Quit
Loop
End Sub
运行上述操作后,请检查任务管理器。如果您看到msaccess.exe,那么您很可能有一个循环对象引用。这将阻止Access关闭。有关详细信息,请查看http://msdn.microsoft.com/en-us/library/aa716190(VS.60).aspx。