5.Указание условий выполнения нескольких макрокоманд
Помимо определения условий выполнения отдельных макрокоманд, можно задавать условие выполнения для целой серии макрокоманд. В этом случае одно условие будет управлять выполнением нескольких макрокоманд (If-Then-Else).
Если необходимо выполнить несколько макрокоманд, следует ввести эти макрокоманды в ячейки ниже первой макрокоманды. В ячейки столбца Условие поставить многоточие (...) напротив каждой макрокоманды, которая будет выполняться по данному условию. Access будет продолжать выполнение всех макрокоманд, для которых это условие истинно, до тех пор, пока не встретит новое условие, после чего продолжит работу с ним. Если Access встретит пустую ячейку в столбце Условие, макрокоманда в этой строке будет выполнена независимо от значения условия. Единственный способ избежать этого - использовать макрокоманды типа ЗапускМакроса или ОстановитьМакрос.
Задание6. Создать макрос, позволяющий открыть форму Учащиеся с заданным параметром Место прописки и отображать выбранные записи, а также открывать соответствующий отчет. Если форма не содержит нужных записей, выдается соответствующее сообщение и прекращается выполнение макроса. Сохранить под именем Макро6.
Порядок выполнения:
- создать копию макроса Макро5 и модифицировать его;
- между командами Открытьформу и Открыть отчет вставить две пустые строки;
- в верхней вставленной строке выбрать макрокоманду Сообщение, а в качестве аргумента ввести сообщение: «Записи не найдены»;
- ввести для макрокоманды Сообщение в поле Условие IsNull([Forms]![учащиеся].[код]);
- в следующей строке выберать макрокоманду ОстановитьМакрос, а в качестве условия для нее ввести многоточие (...);
- в ячейке Условие для макрокоманды ОткрытьОтчет и удалить имеющееся там условие;
- сохранить макрос под именем Макро6.
Так, если бы в приведенном выше задании не было команды ОстановитьМакрос, то команда ОткрытьОтчет выполнялась независимо от того, было ли поле код пустым.
6.События
Все приложения Access зависимы от событий. Объекты Access связаны с событиями разных типов, многие из которых являются встроенными событиями Access для управления дельными объектами. Access 2003 распознает 52 события относящихся непосредственно к формам, около 10 - к элементам управления в этих формах и 10 - для отчетов и их разделов.
События Access можно разделить на семь категорий:
- события окна (форма, отчет): открытие, закрытие, изменение размера и т.д.;
- события данных: активизация, удаление, обновление и т.д.;
- события фокуса ввода: активизация, ввод, выход и т.д.;
- события клавиатуры: нажатие, отпускание клавиш и т.д.;
- события мыши: щелчок, нажатие кнопки мыши и т.д.;
- события печати: форматирование, вывод на печать и т.д.;
- события ошибки и события таймера (выполняются через определенный момент времени или в случае возникновения ошибки).
Access может опознавать события с помощью специальных свойств форм, отчетов и элементов управления.
Назначать макросы, зависящие от событий, можно с помощью окон свойств форм и отчетов. Что касается таблиц и запросов, они свойствами событий не обладают.
Кроме того, при работе с формами можно запускать макросы с помощью имеющихся в Access панелей инструментов, командных кнопок и меню.