Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Access 2013, Office 2013
Действие RunCode можно использовать для вызова процедуры функции Visual Basic для приложений (VBA).
Setting
Действие RunCode имеет следующий аргумент.
Аргумент макрокоманды |
Описание |
|---|---|
Имя функции |
Имя вызываемой процедуры функции VBA. Заключите все аргументы функции в круглые скобки. Введите имя функции в поле Имя функции в разделе Аргументы действия панели построителя макросов. Это обязательный аргумент. ПРИМЕЧАНИЕ. В базе данных Access (.mdb или ACCDB) нажмите кнопку Сборка , чтобы выбрать функцию для этого аргумента с помощью построителя выражений. Щелкните нужную функцию в списке в построителе выражений. |
Замечания
Определяемые пользователем процедуры функции хранятся в модулях Microsoft Access.
Необходимо включить круглые скобки, даже если в процедуре Function нет аргументов, как показано в следующем примере:
TestFunction()
В отличие от определяемых пользователем имен функций, используемых для параметров свойств события, имя функции в аргументе Имя функции не начинается со знака равенства (=).
Access игнорирует возвращаемое значение функции.
Примечание.
Невозможно вызвать процедуру Function из макроса, если имя функции совпадает с именем модуля.
Совет
Чтобы выполнить процедуру Sub или процедуру события, написанную на Visual Basic, создайте процедуру Function, которая вызывает процедуру Sub или процедуру события. Затем выполните процедуру Function с помощью действия RunCode .
Если для вызова функции используется действие RunCode , Access ищет функцию с именем, указанным аргументом Имя функции в стандартных модулях базы данных. Однако когда это действие выполняется в ответ на щелчок команды меню в форме или отчете или в ответ на событие в форме или отчете, Access сначала ищет функцию в модуле класса формы или отчета, а затем в стандартных модулях. Access не выполняет поиск в модулях класса, которые отображаются в области Модули области навигации для функции, указанной аргументом Имя функции .
Эта макрокоманда недоступна в модуле VBA. Вместо этого запустите требуемую процедуру Function непосредственно в VBA.