Как запустить макрос доступа через Excel VBA для базы данных, которая в данный момент открыта? - PullRequest
0 голосов
/ 16 мая 2019

Я устанавливаю код vba, который запускает макрос базы данных доступа. Код, с которого я начинаю, следующий:

Sub import()
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
Call appAccess.OpenCurrentDatabase("database link")
appAccess.UserControl = True
appAccess.DoCmd.RunMacro "Macro name"
End Sub

В этом случае база данных открывается и макрос запускается, но мне просто нужен макрос для запуска на уже открытой базе данных.

Спасибо

1 Ответ

0 голосов
/ 16 мая 2019

Из кодового модуля вы можете просто

DoCmd.RunMacro "Macro name"    

Который будет выполняться в текущей базе данных

Если вы пытаетесь сделать это из другого приложения (например, Excel), вы можете

Dim accApp As Access.Application
Set accApp = GetObject(, "Access.Application")

но вы должны проверить

accApp.CurrentDb.Name

чтобы убедиться, что вы просматриваете правильную базу данных

(Сказав, что, если вы хотите манипулировать данными в базе данных, есть лучшие способы сделать это с помощью ADO или DAO. Вышеописанное будет работать, но никогда не будет очень стабильным).

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