Окно MS Access не закрывается

Casper2002
Дата: 30.11.2015 18:54:28
Если создавать/закрывать новый экземпляр MS Access таким Макаром

    Dim App_Public_Modules As Access.Application

    sCmdLine = """" & SysCmd(acSysCmdAccessDir) & "MSAccess.exe"" """ & db_Path & """"
    sCmdLine = sCmdLine & " /wrkgrp """ & DBEngine.SystemDB & """"
    sCmdLine = sCmdLine & " /User user1 /pwd 123"
    
    Shell sCmdLine, vbHide

    Set App_Public_Modules = GetObject(db_Path)

	...
	
    App_Public_Modules.CloseCurrentDatabase
    App_Public_Modules.Quit acQuitSaveNone
    Set App_Public_Modules = Nothing


, то окно MS Access откуда я все вызывал не закрывается. При этом новый созданный процесс MSACCESS исчезает из диспетчера задач (что в свою очередь как бы должно намекать что все прошло без ошибок).

Если новый экземпляр MS Access создавать/закрыть так

    Dim App_Public_Modules As Access.Application
    Set App_Public_Modules = New Access.Application
    App_Public_Modules.OpenCurrentDatabase db_Path, False

...
	
    App_Public_Modules.CloseCurrentDatabase
    App_Public_Modules.Quit acQuitSaveNone
    Set App_Public_Modules = Nothing


то все без проблем закрывается.

В чем может быть причина и как побороть? Мне нужен именно первый вариант так как там можно вводить логин/пароль пользователя и использовать конструкции вида "App_Public_Modules.DoCMD.TransferDatabase".
Casper2002
Дата: 02.12.2015 17:36:03
Опять отвечаю сам себе. К сожалению создавать новый экземпляр MS Access не желательно. Это приводит периодическому краху MS Access и не стабильной работе. Также следует отметить, что иногда даже вместо одного процесса MS Access создается два а закрывается один. Единственный выход описан тут. Таким образом конструкции вида "App_Public_Modules.DoCMD.TransferDatabase" нужно заменять на соответствующий SQL запрос.

Всем спасибо за внимание, тему можно закрывать.