15. Макроси
Макросът е обект на база данни. Макро езикът е инструмент за програмиране, който ви позволява да изпълнявате потребителски задачи, като извършвате необходимите действия върху обектите на базата данни и техните елементи.
Макросът е програма, състояща се от поредица от макрокоманди.Макрое инструкция, фокусирана върху извършването на конкретно действие. Например макро команда може да отвори формуляр, отчет, да изпълни заявка, да приложи филтър, да присвои стойност и т.н. Макро езикът предоставя възможност за решаване на повечето потребителски задачи, без да се прибягва до програмиране на езика Visual Basic.
Макросите дефинират набор от методи за обработка на обекти и техните елементи. Access предоставя съоръжения, които позволяват на макросите да взаимодействат с обекти и техните елементи въз основа на събития.
Събитиявъзникват, когато се извършват определени действия, които включват основно действия на потребителя. Последното обстоятелство ви позволява да контролирате изпълнението на програмата отвън. Потребителят, изпълняващ различни действия, например във формуляри (щракване с бутона на мишката, въвеждане и редактиране на данни, избор на елемент от списък и т.н.), инициира изпълнението на макроси, които автоматизират решаването на задачи, свързани с действията на потребителя. Този подход значително отличава програмирането на макроезика от програмирането в традиционния смисъл, при който само програмата контролира процеса.
Обърнете внимание, че наличието на устройство за стартиране на програми чрез събития не изключва възможността за писане на програми на макроезика, които ще решават необходимите задачи без намесата на потребителя. В този случай проблемът се решава от редица взаимосвързани макроси.
15.1. Създаване на макроси
Макросите могат да бъдат прости и групови.Простият макросе последователностмакроси.Груповият макросе поредица от прости макроси. В този случай всеки прост макрос в груповия макрос трябва да има собствено име. Тъй като макро езикът е език за програмиране, той трябва да има средства за описание на всички видове изчислителни процеси: линейни, разклонени и циклични.
активирайте разделаСъздаванена лентата;
в секциятаМакроси и кодна лентата изберете бутонаМакро.Ще се отвори прозорец за конструиране на макрос с прозорец на каталог с макро команди и на лентата ще се появят бутони, които може да са необходими при работа с макрос (Фигура 79):
Фигура 79 - Прозорец на конструктора на макроси
В директорията с макроси, елементътКонтролви позволява да изберете вида на макроса, който да бъде създаден:
Вложен макрос(по подразбиране) ви позволява да създадете прост макрос.
Група- позволява ви да създадете групов макрос.
Ако- позволява ви да конструирате макрос с разклоняване.
Забележка- позволява ви да добавите информация, която не се изпълнява, когато макросът се изпълнява. В бележките потребителят обикновено пише обяснителна информация, която по принцип може да липсва.
Във всеки ред потребителят избира името на желания макрос от падащия списък и посочва необходимите аргументи за него (например тип или име на обект). Някои аргументи са задължителни, други са по подразбиране, които потребителят на базата данни може да приеме. Потребителят може да ги зададе на други стойности (обикновено изберете от падащ списък). Аргументи като името на обекта могат да бъдат изтеглени от прозореца на базата данни с мишката.
По подразбиране на разработчика се предоставя непълен списък с макроси. От този списък са изключени макроси, коитоПо мнението на разработчиците на тази версия на Access, те са опасни, като макросаSetValue, който често се използва в потребителски приложения. Това обстоятелство често затруднява мигрирането от по-ранни версии на Access към Access 2007 и Access 2010. За пълен списък с макроси, в изгледа за проектиране на макроси, активирайте бутонаПокажи всички действияна лентата.
Ако първият макрос е създаден в база данни, тогава елементътВ тази база данниот каталога на макросите липсва. На Фигура 79 вече има макрос, чието име еopen table Det. Като пример, разгледайте последователността от стъпки, необходими за създаване на този макрос.
За да разрешите този проблем, трябва да изпълните следните стъпки:
активирайте разделаСъздаванена лентата;
в секциятаМакроси и кодна лентата изберете бутонаМакро.Ще се отвори прозорец за конструиране на макрос с прозорец на каталог с макро команди и на лентата ще се появят бутони, които може да са необходими при работа с макрос (Фигура 79):
изберете макро командатаOpenTableот списъка; ще се отвори прозорец за посочване на аргументите на макроса;
.Името на макроса се дава като една дума, дори ако името включва няколко думи. Всяка макро дума започва с главна буква и не трябва да има интервали между думите.
плъзнете таблицаDetот браузъра на обекти с мишката до реда с аргументиИме на таблица(или изберете таблица Det от списъка в редаИме на таблица);
задайте аргументаРежим на даннинаСамо за четене(изберете от списъка);
изберете макро командатаMessageWindowот списъка;
аргументСъобщениезадава тази стойност (напишете склавиатура), които потребителят на базата данни ще разбере, като напримерПогледни и затвори. Ако този макрос не се използва, тогава следните макроси ще бъдат изпълнени незабавно без забавяне и данните от таблицата само ще мигат пред очите на потребителя;
можете да се съгласите с останалите аргументи или можете също да изберете от списъка за аргументаTypeстойносттаInformational;
изберете макро командатаCloseWindowот списъка, за коятоТип обектиИме на обектмогат изрично да бъдат пропуснати. В този случай последният отворен прозорец, тоест таблицатаDet, ще се затвори. И можете да зададете изрично стойностите на тези аргументи.
Затворете макроса, като го запазите с име, дефинирано от потребителяотворете таблицата Det.
Създаденият макрос ще се появи в прозореца на каталога на макроси и в прозореца на браузъра на обекта на базата данни.
В макрос можете да добавите бележка за всеки макрос, като поставите курсора върху макроса в режим на проектиране и2cв секциятаЗабележкав прозореца на директорията на макросите (вижте Фигура 79).
Начини за изпълнение на макрос:
В изглед за проектиране щракнете върхуИзпълнина лентата;
2спо име на макрос от прозореца на браузъра на обекта;
откраткотоменю на името на макроса в браузъра на обекта, превключете в режим на проектиране, след което щракнете върху бутонаИзпълни;
от друг макрос чрез макрокомандаRunMacro;
по събитие (щракване върху бутон, отваряне на формуляр и т.н.) чрез свързване на макроса с това събитие.
За отстраняване на грешки в макрос се използва режим на стартиране на макрос стъпка по стъпка, при който макросът спира работата си след изпълнение на всяка макрокоманда, така че потребителят да може да оцени правилността на решението на задачата. Този режим може да се настрои отрежим на макро проектиране, като активирате бутонаСтъпка по стъпкана лентата. Освен това, както обикновено, стартирайте макроса за изпълнение. Макросът ще се изпълнява стъпка по стъпка.
След като завършите всяка стъпка, можете да продължите следващата стъпка с бутонаПродължиили да прекратите макроса, като го прекъснете с бутонаСпиране на всички макроси.