Applies ToAccess за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Тази статия обяснява какви макроси има в Access бази данни и как те могат да ви спестят време, като автоматизират задачи, които изпълнявате често. Тя разглежда основите на създаването и използването на макроси, както и подобренията в макросите в Access.

Какво представляват макросите?

Макросът в Access е инструмент, който ви позволява да автоматизирате задачи и да добавяте функционалност към вашите формуляри, отчети и контроли. Ако например добавяте команден бутон към формуляр, трябва да свържете събитието OnClick на бутона с макрос, а макросът съдържа командите, които искате бутонът да изпълнява при всяко щракване върху него.

В Access е полезно да мислите за макросите като за опростен език за програмиране, който пишете, като изграждате списък с действията, които трябва да изпълните. Когато създавате макрос, избирате всяко действие от падащ списък и след това попълвате необходимата информация за него. Макросите ви позволяват да добавяте функционалност към формуляри, отчети и контроли, без да пишете код в модул на Visual Basic for Applications (VBA). Макросите предоставят подмножество на командите, налични във VBA, и повечето хора намират за по-лесно да създадат макрос, вместо да пишат код на VBA.

Да предположим например, че искате да започнете отчет директно от един от вашите формуляри за въвеждане на данни. Можете да добавите бутон във вашия формуляр и след това да създадете макрос, който отваря отчета. Макросът може да бъде самостоятелен макрос (отделен обект в базата данни), който след това е свързан със събитието OnClick на бутона или да бъде вграден директно в събитието OnClick на самия бутон. И в двата случая, когато щракнете върху бутона, макросът се изпълнява и отваря отчета. Обикновено тези типове макроси се наричат макроси за потребителски интерфейс.

Макросът с данни ви позволява да автоматизирате задачи и да добавяте функционалност директно към вашите таблици. Макросите с данни и техните действия, които са прикачени към определени събития за таблица, например когато добавите нов запис към таблица.

Създавате макрос с помощта на конструктора на макроси, пример на който е показан на илюстрацията по-долу.

Използване на IntelliSense за въвеждане на израз

За да покажете конструктора на макроси за макроси от потребителски интерфейс:

  • В раздела Създаване, в групата Макроси и код щракнете върху Макрос.

За да покажете конструктора на макроси за макроси с данни:

  • Отворете произволна таблица в изглед на лист с данни. В раздела Таблица, в групите Преди събития и След събития щракнете върху една от командите на събитие, като Преди промяната или След вмъкване.

За да научите повече за конструктора на макроси и за разработването и тестването на макроси за потребителски интерфейс и макроси с данни, вижте съответните статии във Вж. също накрая на тази статия.

Функции за макроси в Access

В по-старите версии на Access много често използвани функции не можаха да бъдат изпълнени без писане на код на VBA. В текущите версии на Access са добавени нови функции и макрокоманди, за да се избегне необходимостта от код. Това улеснява добавянето на функционалност към вашата база данни и ви помага да я направите по-защитена.

  • Вградени макроси    Имате възможност да вграждате макроси във всяко от събитията, предоставяни от формуляр, отчет или контрола. Вграденият макрос не се вижда в навигационния екран; той става част от формуляра, отчета или контролата, в които е създаден. Ако създадете копие на формуляр, отчет или контрола, които съдържат вградени макроси, макросите присъстват и в копието.

  • Подобрена защита    Когато бутонът Показване на всички действия не е осветена в конструктора на макроси, единствените макрокоманди и аргументи на RunCommand, които са налични за използване, са тези, които не изискват надеждно състояние, за да се изпълняват. Макрос, създаден с тези действия, ще се изпълнява дори когато е в дезактивиран режим (когато на VBA е забранено да се изпълнява). На базите данни, които съдържат макрокоманди, които не са в надеждния списък, или на базите данни, в които има VBA код, трябва да е изрично предоставено надеждно състояние.

  • Обработване на грешки и отстраняване на грешки    Access предоставя макрокоманди, включително OnError (подобно на командата "При грешка" във VBA) и ClearMacroError, които ви позволяват да извършвате определени действия, когато възникват грешки, докато се изпълнява макросът. Освен това макрокомандата SingleStep ви позволява да въвеждате едностъпков режим във всяка точка на макроса, така че да можете да наблюдавате как макросът работи, команда по команда.

  • Временни променливи    Три макрокоманди (SetTempVar, RemoveTempVar и RemoveAllTempVars) ви позволяват да създавате и използвате временни променливи в макросите си. Можете да използвате тези условни изрази, за да контролирате изпълнението на макроси или да подавате данни към и от отчети или формуляри или за други цели, които изискват временно място за дадена стойност. Тези временни променливи са достъпни във VBA, така че можете да ги използвате и за предаване на данни към и от VBA модули.

Научете повече за макрокомандите

Докато работите в конструктора на макроси, можете да научите повече за дадено действие или аргумент, като щракнете върху него и след това прочетете описанието в полето в долния десен ъгъл на прозореца на конструктора на макроси. Освен това, всяка макрокоманда си има помощна статия, свързана с нея. За да научите повече за дадена команда, щракнете върху действието в списъка с действия и след това натиснете F1.

Най-горе на страницата

Вж. също

Създаване на макрос на потребителския интерфейс

Създаване на макрос с данни

Създаване на макрос, който се изпълнява, когато отворите база данни

Коригиране на макрос изпълнение стъпка по стъпка

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.