Поделиться через


Макрокоманда RunCode

Область применения: 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.