Порядок выполнения макрокоманд, содержащихся в макросе, определяется условиями, задаваемыми в столбце Условие. Условие — это логическое выражение, принимающее значение Истина (True) или Ложь (False). Посредством условия осуществляется управление запуском и выполнением макроса.
Рассмотрим следующий пример. Необходимо создать макрос, который должен выводить на экран сообщение после ввода в форму Информация о клиентах сведений о новом клиенте, проживающем в Киеве.
• Создайте новый макрос и присвойте ему имя Сообщение о клиенте.
• Если столбец Условие не отображается на экране, щелкните на кнопке Условие панели инструментов или активизируйте команду Условия из меню Вид.
• В первую ячейку столбца условий введите логическое выражение
[Населенный пункт]="Киев"
• В той же строке, но в столбце Макрокомандавыберите макрокоманду Сообщениеи задайте значение Местный клиент! для аргумента Сообщение.Именно эта фраза отобразится на экране в окне сообщения при выполнении заданного условия. Для аргумента Типустановите значение Информационное. При этом в окне сообщения кроме текста появится пиктограмма с изображением литеры i (это принято в Windows 95 при выдаче сообщений).
• Сохраните созданный макрос.
Рис. 5.1. Макрос Сообщение о клиенте
Имя анализируемого условием поля, содержащее пробел или знак препинания, следует заключать в квадратные скобки: [Населенный пункт].
Итак, макрос, включающий последовательность макрокоманд и условие выполнения, готов. Условие относится к полю Населенный пункт в форме Информация о клиентах. Сообщение должно появляться при внесении в поле Населенный пункт слова Киев. Теперь следует связать этот макрос с заполнением поля Населенный пункт формы Информация о клиентах:
• Откройте форму Информация о клиентах и активизируйте режим конструктора.
• Откройте окно свойств формы, выполнив двойной щелчок за пределами области примечаний.
• Найдите поле После обновления и выберите в списке макрос Сообщение о клиенте. Тем самым вы зададите выполнение макроса с событием, связанным с вводом слова Киев в поле Населенный пункт (рис. 7.10).
• Закройте окно свойств формы и перейдите в режим заполнения.
• В поле Населенный пункт введите слово Киев.
Рис. 5.2. Связывание макроса с событием
Сообщение появится только после завершения работы с записью и перехода к следующей, т.е. после актуализации записи (а не анализируемого поля).
Рис. 5.3. Сообщение, выданное макросом, при выполнении условия
Если при выполнении определенного условия должны приводиться в исполнение несколько макрокоманд, следующих друг за другом, достаточно записать условие в первой строке столбца Условие, а не повторять его в каждой строке. В остальных подлежащих условному выполнению строках надлежит ввести многоточие (...) в столбец условия.
Проиллюстрируем сказанное примером. Предположим, необходимо следить, чтобы число, вводимое в поле Номер договора, не превышало 9999. При вводе в это поле числа, которое больше 9999, на экране должно появляться указание восстановить значение, которое до этого находилось в поле Номер договора.
• Создайте новый макрос с именем Управление вводом.
• В первое поле столбца условий введите условие
[Номер договора] > 9999
• В поле Макрокомандавыберите макрокоманду Сообщениеи введите для нее текст сообщения Слишком большой номер договора!
• Во вторую строку столбца условий введите многоточие (...), а столбца Макрокоманда— макрокоманду ВыполнитьКомандус аргументом Undo (Отменить). Закройте окно макроса.
• Откройте форму Информация о клиентах и активизируйте окно свойств в режиме конструктора.
• В поле После обновлениявыберите макрос Управление вводом и перейдите в режим заполнения формы.
Теперь можно проверить работу созданного макроса. Выполнение макроса связано с событием После обновления(с обновлением формы). Для проверки следует выбрать одну из заполненных записей и заменить значение в поле Номер договора числом, которое больше 9999. Если после этого попытаться перейти к другой записи, программа выполнит условия, заданные в макросе, и откроет окно сообщения, после закрытия которого в поле Номер договора восстановится прежнее значение. Для полной проверки, замените номер договора числом из диапазона допустимых значений (например, 9900). В результате условия, заданные в макросе, не выполнятся, сообщение не появится, а номер договора будет изменен.
Примечание:
"Озвучить" макрос позволяет команда Сигнал.При выполнении этого макроса компьютер издает короткий звуковой сигнал. Возможности озвучивания есть и у команды Сообщение (аргумент Сигнал), что позволяет сопровождать звуковыми сигналами появление сообщений.