Использование условий в макросе

Условия позволяют задать порядок передачи управления между макрокомандами в макросе и обеспечивают выполнение определенных ветвей алгоритма. На­пример, если в макросе проверяется значение поля в форме на соответствие заданным условиям, то для одних значений может потребоваться вывод сообщения, а для других значений — вывод отчета.

Условие вводится в строку макрокоманды в столбец Условие, который вызывается в окно макроса нажатием соответствующей кнопки на панели инструментов. Задается условие с помощью ло­гического выражения.

Ветвления в программе. В программе, состоящей из макроко­манд, можно организовать ветвления.

Для организации ветвлений в программе нужно наряду с ус­ловиями использовать макрокоманды ОстановитьМакрос и ЗапускМакроса, последняя из которых позволяет создавать также циклы в программах.

Организация выполнения макросов. При запуске макроса вы­полнение начинается с первой макрокоманды и следует по алго­ритму, реализуемому макросом. В процессе выполнения проверя­ются условия и в зависимости от результата выполняются те или иные макрокоманды или макросы. При вызове другого макроса управление передается вызванному макросу. Вызванный макрос может выполняться несколько раз. После выполнения вызванного макроса управление возвращается к вызывающему макросу и про­должается выполнение его макрокоманд. При этом, следуя алго­ритму, макрос выполняется по одному из заранее определенных путей из множества возможных. Таким образом, макрос сам вы­бирает этот путь в зависимости от условий.

В Access имеется возможность организации выполнения мак­росов с использованием механизма расширенной обработки со­бытий (т.е. результатов действий пользователя). Access распозна­ет определенные события, к которым может привязываться за­пуск макроса. Событиями, например, являются открытие отче­та, ввод новых данных, перевод фокуса на другую запись или поле в форме, щелчок мышью. Существуют события формы, со­бытия элемента управления, события записи и раздела формы, события отчета и раздела отчета. Различные события вызывают различную реакцию системы, поэтому порядок выполнения мак­росов зависит от порядка возникновения событий и в значи­тельной степени определяется действиями пользователя в фор­мах. При этом управление программой в основном осуществля­ется пользователем, который выполняет различные действия, а программа реагирует на них.