2010-12-06 25 views
0

我遇到ms access 2007 accdb问题,使用Windows Server 2008任务计划程序执行计划任务。问题是由任务计划程序打开的文件正在打开/关闭,但在数据库关闭后,“锁定”文件(.laccdb)仍然可见,这表示访问数据库认为它仍处于打开状态。每次运行新任务时,都会打开一个新的访问实例。我打开了Schema以显示数据库中所有用户的名单,并显示了3个重复的服务器名称/ Admin帐户。下面是访问即时窗口中的一个例子:在一台计算机上打开同一访问数据库的多个实例 - 问题

COMPUTER_NAME LOGIN_NAME连SUSPECT_STATE 服务器管理真正的零 服务器管理真正的零 服务器管理真正的零

我希望其他人遇到过这个问题,知道1)如何轻松关闭所有打开的访问实例,以及2)如何在运行任务时防止发生这种情况。我在任务的“设置”选项卡下设置了“不要启动新实例”,但这是不相关的B/C,没有任何任务同时运行。预先感谢您的帮助。

+0

您正在运行的任务是什么?有可能是没有妥善清理,或没有正确退出。但是我们不能猜测,直到我们知道任务是什么。它也可能是一个权限问题(即DELETE权限在数据库所在的文件夹上被拒绝),但这不太可能,因为它是非标准权限,必须明确设置。 – 2010-12-06 20:27:03

回答

0

要关闭所有打开的访问实例(你不能从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

+0

在我看来,这是不明智的,因为如果您在记录被锁定进行编辑时强制退出Access,它可能会损坏数据文件。 – 2010-12-24 03:09:21

相关问题