Можете да използвате макрокомандата RunCode в настолни бази данни на Access, за да извикате процедура за функция на Visual Basic for Applications (VBA).
Настройка
Макрокомандата RunCode има следния аргумент:
Аргумент на действие |
Описание |
Име на функция |
Името на процедурата на VBA функция за извикване. Поставете всички аргументи на функцията в скоби. Въведете името на функцията в полето Име на функция в прозореца за проектиране на макроси. Това е задължителен аргумент. Забележка: В настолна база данни на Access (.mdb или .accdb) щракнете върху бутона "Компилация ", за да използвате конструктора на изрази, за да изберете функция за този аргумент. Щракнете върху желаната функция в списъка в конструктора на изрази. |
Забележки
Дефинираните от потребителя процедури за функциите се съхраняват в Access модули.
Трябва да включите скоби, дори ако процедурата функция няма никакви аргументи, като в следващия пример:
TestFunction()
За разлика от имената на Функция, дефинирана от потребител, използвани за настройките на свойство на събитие, името на функцията в аргумента Име на функция не започва със знак за равенство (=).
Access игнорира върнатата стойност на функцията.
Забележка: Не можете да извикате процедура функция от макрос, ако името на функцията е същото като името на модула.
Съвет
За да изпълните подпрограма или процедура за събитие написано във Visual Basic, създайте процедура за функция, която извиква процедурата Sub или процедурата за обработка на събитие. След това използвайте макрокомандата RunCode , за да изпълните процедурата function.
Ако използвате макрокомандата RunCode , за да извикате функция, Access търси функцията с името, зададено от аргумента "Име на функция" в стандартните модули за базата данни. Когато обаче това действие се изпълнява в отговор на щракване върху команда от меню в формуляр или отчет или в отговор на събитие във формуляр или отчет, Access първо търси функцията в модула на класа на формуляра или отчета и след това в стандартните модули. Access не търси модулите на класа, които се показват в областта Модули на навигационния екран, за функцията, зададена от аргумента "Име на функция ".
Това действие не е налично в модул на VBA. Вместо това изпълнете желаната процедура за функция директно във VBA.