Несколько экземпляров одной и той же базы данных открыты на 1 машине - проблема - PullRequest
0 голосов
/ 06 декабря 2010

У меня проблемы с ACDB ms Access 2007, использующим планировщик задач Windows Server 2008 для запланированных задач.Проблема заключается в том, что файл, который открывается планировщиком задач, правильно открывается / закрывается, но файл «lock» (.laccdb) остается видимым после закрытия базы данных, что указывает на то, что база данных доступа считает, что она по-прежнему открыта.Каждый раз, когда запускается новая задача, открывается новый экземпляр доступа.Я открыл схему, чтобы показать список всех пользователей в базе данных, и он показывает 3 дубликата имени сервера / учетной записи администратора.Ниже приведен пример непосредственного окна доступа:

COMPUTER_NAME LOGIN_NAME CONNECTED SUSPECT_STATE SERVER Администратор True Null SERVER Администратор True Null SERVER Администратор True Null

Я надеюсь, что у кого-то еще была эта проблемазнает 1) как легко закрыть все открытые экземпляры доступа и 2) как предотвратить это при запуске задачи.У меня есть «Не запускать новый экземпляр» на вкладке «Настройки» задачи, но это не имеет значения, т.к. ни одна из задач не была запущена одновременно.Заранее благодарим за любую помощь.

1 Ответ

0 голосов
/ 21 декабря 2010

Чтобы закрыть все открытые экземпляры 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...