
- •Лабораторная работа № 6
- •Цель работы: изучение методов создание макросов
- •Когда следует использовать макрос
- •Аргументы макрокоманды
- •Выбор макрокоманд из поля со списком
- •Установка макрокоманд с помощью перетаскивания и опускания объектов
- •Использование нескольких макрокоманд в одном макросе
- •8 Щелкните на ячейке Имя формы в области Аргументы макрокоманды
- •Запуск макроса из группы макросов
- •Указание условий выполнения нескольких макрокоманд
- •Кнопка Назначение
- •События
Указание условий выполнения нескольких макрокоманд
Помимо определения условий для выполнения отдельных макрокоманд, можно задать условие выполнения целой серии макрокоманд. В этом случае одно условие будет управлять выполнением нескольких макрокоманд. Иначе говоря речь идет о создании условий типа If-Then-Else.
Если вы хотите, чтобы Access по условию выполняла не одну, а несколько макрокоманд, введите эти макрокомандь под первой макрокомандой. В ячейки столбца Условие введите многоточие (…) напротив каждой макрокоманды, которая будет выполняться по данному условию. На рис. 9 показан макрос, в котором выполнение двух макрокоманд определяется одним условием. Обратите внимание, что в данном случает было использовано условие IsNull, а не Not IsNull
В макросе, показанном на рис. 9, условие lsNull(Forms![Pets]![PetS ID]) контролирует выполнение двух макрокоманд. Сообщение и ОстановитьМакрос, которые будут выполняться, если условие истинно. Обратите внимание на многоточие (...) напротив макрокоманды ОстановитьМакрос, которое определяет выполнение этой макрокоманды. по установленному выше условию.
Рис 9 Пример макроса, в котором одно условие контролирует выполнение двух макрокоманд
При выполнении макроса Access проверяет условие, заданное в столбце Условие. Если условие истинно. Access выполнит макрокоманду этого условия и все последующие макрокоманды, напротив которых в столбце Условие стоит многоточие. Access продолжит выполнение всех макрокоманд, для которых это условие истинно, до тех пор, пока не дойдет до нового условия. А затем начнет работу с новым условием.
Если условие ложно, то Access пропустит все макрокоманды этого условия и начнет выполнение первой макрокоманды, которая не помечена многоточием
Управление выполнением макросов
С помощью условных выражений можно осуществлять контроль за выполнением макросов Так, в приведенном на рис. 9 примере команда ОстановитьМакрос прекратит выполнение макроса, если поле формы окажется пустым предотвратит открытие пустого отчета
Существует несколько макрокоманд, которые используются для управления выполнением макросов в зависимости от выполнения некоторых условий. При этом чаще всего используются макрокоманды ОстановитьМакрос и ЗапускМакроса
Отладка макросов
Если при выполнении макроса вы не получили требуемых результатов, вам следует проверить правильность выполнения макроса. Для этого используйте пошаговый режим с остановками после выполнения каждой макрокоманды. Таким образом вы сможете проследить за результатом выполнения каждой отдельной макрокоманды и найти макрокоманду или серию макрокоманд, которые приводят к ошибке.
Для того чтобы перейти в данный режим, щелкните на кнопке По шагам панели инструментов. В приведенном примере для отладки макроса выполните следующие действия.
1. Выберите заданный макрос в окне макросов.
2. Щелкните на кнопке По шагам панели инструментов или выберите команду ЗапускПо шагам.
3. Запустите макрос так, как вы это делаете всегда, или щелкните на кнопке Запуск панели инструментов.
Access откроет диалоговое окно Пошаговое исполнение макроса, в котором показано имя макроса, имя выполняемой макрокоманды и ее аргументы. Пример диалогового окна Пошаговое исполнение макроса показано на рис. 10.
Рис 10. Диалоговое окно Пошаговое исполнение макроса
В этом диалоговом окне вы можете щелкнуть на одной из трех кнопок, представленных в табл. 1.
Таблица 1. Кнопки диалогового окна пошагового исполнения макроса