![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
|
В макросе макрокоманды выполняются в порядке их расположения, т.е. последовательно сверху вниз в рамках одного объекта. Однако для реализации алгоритма в сценариях надо иметь большую гибкость, и часто приходится нарушать прямой порядок выполнения действий. Выше описывались управляющий блок Если … Иначе (см. Рис. 8, стр. 19), который и призван менять порядок выполнения макрокоманд. Синтаксис управляющего блока:
Если условное выражение то [макрокоманды_то] иначе [макрокоманды_иначе] Конец блока «Если»
Блок обеспечивает выполнение одной или другой группы макрокоманд в зависимости от значения условного выражения. Условное выражение – логическое выражение, которое возвращает значение Истина или Ложь. При Истине выполняются макрокоманды_то, в противном случае – макрокоманды_иначе.
| Пример 2‑3: | Проверка правильности ввода данных в поля формы. |
| Решение: | Необходимо проверять корректность ввода численных данных в поля Численность и Площадь, проверять на нулевое значение, что недопустимо (во избежание возникновения ошибки деления на нуль). |
| Шаг 1. Исправляем внедрённый макрос привязанный к полю Численность к событию После обновления (см. Рис. 21). |

Рис. 21. Управляющий блок во внедрённом макросе для поля Численность
| Шаг 2. Аналогично исправляем внедрённый макрос для поля Площадь (с учётом того, что значение этого поля не может быть равно нулю) (см. Рис. 22, стр. 29). Шаг 3. Сохранить все и проверить работу формы | |
| Пример 2‑4: | Условные выражения в макросах |
| Проверка значений полей в текущей записи формы: Значение в поле Численность: [Численность] < 0 | |
| Нахождение значений в поле [Дата записи] (дата внесения данных в таблицу) в интервале не раньше 01-фев-12 и не позднее 03-мар-12: [Дата записи] Between #01-фев-12# And #03-мар-12# | |
| Значение в поле Плотность на равенство пустому (Null) значению: isNull ([Плотность]) или [Плотность] Is Null | |
| В условиях могут использоваться функции, например DСount, DMax, MsgBox: Подсчёт числа записей и вывод его в поле Записей: DCount (‘*’, ‘Страна’) Использовать макрокоманду ЗадатьЗначение Функция MsgBox может использоваться для вывода на экран диалогового окна, содержащего нужное сообщение и кнопки ОК и Отмена (Cancel), нажатие которых формирует различные значения условного выражения. Сравнение значения, сформированного функцией MsgBox, с заданным позволяет выбрать пользователю вариант действий: MsgBox (“Закрыть форму?”;1) = 1 Первый параметр – выводимое на экран сообщение, второй параметр равный 1 – наличие кнопок ОК и Отмена. При нажатии клавиши ОК – функция возвращает значение 1, при Отмена – 2. |

Рис. 22. Управляющий блок во внедрённом макросе для поля Площадь
Дата публикования: 2014-11-02; Прочитано: 1295 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!
