Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы_данных.pdf
Скачиваний:
39
Добавлен:
07.06.2015
Размер:
964.91 Кб
Скачать

Рис. 6.15. Макрос Autoexec, автоматически запускаемый при открытии базы данных

Затем макрокоманда Развернуть увеличивает активное окно до размеров рабочей области Access. Последняя макрокоманда (это снова ПесочныеЧасы) восстанавливает прежний вид указателя мыши, чтобы пользователь знал об окончании работы макроса. Итак, использование в макросе нескольких макрокоманд позволяет автоматизировать задачи, которые приходится выполнять регулярно.

Создание сложного макроса

В Microsoft Access внутри одного макроса вы можете задать несколько макрокоманд и порядок их выполнения. Рассмотрим создание макроса с именем Autoexec. Microsoft Access будет запускать этот макрос при открытии базы данных, в которой он хранится. Чтобы избежать запуска макроса Autoexec, при открытии базы данных можно нажать клавишу shift. В этом макросе определены восемь макрокоманд, автоматически выполняемые Access при открытии этой базы данных. Первая макрокоманда ПесочныеЧасы выводит указатель в виде песочных часов, чтобы показать пользователю, что следующие шаги могут занять несколько секунд. Аргумент Включить вывод следующей макрокоманды ВыводНаЭкран установлен в значение Нет, так что во время выполнения макроса вы не увидите на экране лишних изображений. Третья макрокоманда ЗапускМакроса запускает другой макрос мСообщение. Следующая макрокоманда Открытьформу открывает форму фПрофконсультант. Как показано на рис. 6.15, работу этой макрокоманды определяют четыре аргумента: Имя формы задает открываемую форму, Режим устанавливает режим, в котором форма будет открыта. (Этот аргумент может принимать четыре значения: Форма, Конструктор, Просмотр и Таблица). По умолчанию для аргумента Режим данных устанавливается значение Изменение, разрешающее пользователю добавление, удаление и изменение записей во время работы с формой. (Этот аргумент может принимать следующие значения:

Добавление, Изменение и Только чтение.) Для аргумента Режим окна по умолчанию устанавливается значение Обычное. В этом случае форма открывается в режиме, заданном ее свойствами.

Рис. 6.15. Макрос Autoexec, автоматически запускаемый при открытии базы данных

Затем макрокоманда Развернуть увеличивает активное окно до размеров рабочей области Access. Последняя макрокоманда (это снова ПесочныеЧасы) восстанавливает прежний вид указателя мыши, чтобы пользователь знал об окончании работы макроса. Итак, использование в макросе нескольких макрокоманд позволяет автоматизировать задачи, которые приходится выполнять регулярно.

Группы макросов

Вбольшинстве форм, создаваемых для приложения требуется применение значительного числа макрокоманд. Одни используются для редактирования полей, другие открывают отчеты, третьи реагируют на нажатие командных кнопок. Можно создать макросы для каждой отдельной операции, но в этом случае в приложении накопятся сотни различных макросов. Существует более простой способ, при котором для каждой формы или отчета создается своя группа макросов. Возможен также и другой подход, при котором группы макросов создаются для каждого типа операций. Например, можно создать группу макросов, содержащую все макрокоманды ОткрытьФорму, используемые в базе данных.

Вгруппу можно включить несколько отдельных макросов. Каждому макросу в группе дается имя, которое заносится в столбец Имя макроса. Как вы уже видели на примере макроса Autoexec, с помощью макрокоманды ЗапускМакроса можно выполнить другой макрос. Точно так же Access выполнит конкретный макрос из группы, если в макрокоманде ЗапускМакроса указать имя группы макросов, точку и имя макроса. В начале группы макросов можно поместить несколько макрокоманд, которые будут выполняться при вызове группы без указания имени макроса. Имя, указанное при сохранении группы, появится в списке макросов в окне базы данных.

Задание условий выполнения макрокоманд

Иногда необходимо, чтобы макрокоманды в макросе выполнялись только при определенных условиях. Например, вы хотите обновлять запись лишь в том случае, если новые данные в элементах управления формы удовлетворяют условиям на значение или

хотите выводить или скрывать определенные элементы управления в зависимости от значений других элементов управления.

Рассмотрим макрос мПросмотр, содержащий условия для проверки необходимости выполнения определенных макрокоманд (см. рис. 6.16). Этот макрос запускается с помощью командной кнопки Просмотр в форме фПечать. Эта форма позволяет пользователю просмотреть и распечатать определенный отчет, устанавливая соответствующий переключатель и нажимая кнопки Просмотр и Печать (см. рис. 6.17). Переключатели находятся внутри одного элемента управления, который называется группой. Каждый переключатель устанавливает определенное числовое значение (первый устанавливает 1, второй – 2, третий – 3, четвертый – 4) для этого элемента управления, которое проверяется в столбце Условие.

Рис. 6.16. Условия для макроса мПросмотр

Рис. 6.17. Форма фПечать

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

В данном случае условия используются для проверки значения группы переключателей

Группа0 в форме.

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

Задание условий выполнения макрокоманд

Иногда необходимо, чтобы макрокоманды в макросе выполнялись только при определенных условиях. Например, вы хотите обновлять запись лишь в том случае, если новые данные в элементах управления формы удовлетворяют условиям на значение или хотите выводить или скрывать определенные элементы управления в зависимости от значений других элементов управления.

Рассмотрим макрос мПросмотр, содержащий условия для проверки необходимости выполнения определенных макрокоманд (см. рис. 6.16). Этот макрос запускается с помощью командной кнопки Просмотр в форме фПечать. Эта форма позволяет пользователю просмотреть и распечатать определенный отчет, устанавливая соответствующий переключатель и нажимая кнопки Просмотр и Печать (см. рис. 6.17). Переключатели находятся внутри одного элемента управления, который называется группой. Каждый переключатель устанавливает определенное числовое значение (первый устанавливает 1, второй – 2, третий – 3, четвертый – 4) для этого элемента управления, которое проверяется в столбце Условие.

Рис. 6.16. Условия для макроса мПросмотр