Я использую некоторые данные в Excel, которые хранятся в базе данных Access.Если пользователь хочет добавить / изменить данные, это необходимо сделать во внешнем интерфейсе Access (в моем случае).Чтобы обеспечить простой способ сделать это, я поместил кнопку «Изменить данные» на листе Excel, чтобы открыть базу данных + форму:
' standard module
Const mstrDatabase = ' path & filename
Const mstrForm = ' name of form to edit data
Private moAccessApp As Access.Application
' module level object to keep database open after button_click-code finished
Sub OpenDatabase_Button_Click()
Set moAccessApp = CreateObject("Access.Application")
moAccessApp.OpenCurrentDatabase mstrDatabase
moAccessApp.Visible = True
moAccessApp.DoCmd.OpenForm mstrForm
End Sub
Если пользователь закрывает Access, объект moAccessApp
по-прежнемуустановить (Debug.Print (moAccessApp Is Nothing)
распечатывает False
).
Вопросы:
- Как определить, был ли доступ закрыт пользователем?
- Можно ли запустить событие в Excelв таком случае?
ad (1): я хочу запретить открытие второго экземпляра в случае повторного нажатия кнопки
ad (2): я хочу обновить данныев Excel, по крайней мере, после закрытия базы данных (хотя я знаю, что пользователь может изменить данные в Access и снова переключиться в Excel, не закрывая Access).