русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование условий в макросе


Дата добавления: 2015-07-09; просмотров: 1380; Нарушение авторских прав


 

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

Условие вводится в строку макрокоманды в столбец Условие. Для получения в окне создания макроса данного столбца нажимают кнопку Условие на панели инструментов. Условие задается с помощью логического выражения.

Для образования набора макрокоманд, которые нужно связать с выполнением условия, в их условии записывается многоточие (…).

Если выражение истинно, выполняется макрокоманда, находящаяся в той же строке, и все следующие за ней макрокоманды до следующей макрокоманды с условием.

Если выражение ложно, то макрокоманда, находящаяся в той же строке, все следующие за ней макрокоманды, у которых вместо условия проставлено многоточие (…), будут пропущены. Следующей будет выполняться макрокоманда с новым условием или с пустой ячейкой условия. Ввод в столбец условия значения False (Ложь) также позволяет пропустить выполнение макрокоманды.

Пример макроса с двумя условиями представлен в табл. 6.1.

 

Таблица 6.1

Примеры макросов с условиями

Условие Макрокоманда Примечание
[ГОРОД]<> “Воронеж” ОткрытьОтчет Направление в общежитие
ПрименитьФильтр Выбрать запись с текущей фамилией
Печать Распечатать направление
  ЗадатьЗначение Начислить дотацию на питание
[ДЕТИ]=”Да” ЗадатьЗначение Начислить дотацию
  ОткрытьЗапрос Подсчет начисленного

 



Первое условие макроса проверяет значение поля ГОРОД в текущей записи формы. Эта форма работает с данными о студентах. На момент получения управления макросом эта форма должна быть текущим объектом. Если первое условие истинно, т. е. студент не является жителем Воронежа, выполняются четыре первых макрокоманды. При невыполнении первого условия пропускается первая макрокоманда с этим условием и следующие за ней, отмеченные многоточием. Пятая макрокоманда будет выполнена только в случае выполнения второго условия.

Пример макроса с ветвлением представлен в табл. 6.2.

Таблица 6.2

Примеры макросов с ветвлениями

Условие Макрокоманда Примечание
[ГОРОД] Is Null ОткрытьТаблицу Ошибочных записей
НаЗапись Сделать текущей новую запись
ЗадатьЗначение Записать идентификатор в таблицу ошибок
ОстановитьМак-рос  

Продолжение табл. 4.2

[ГОРОД]<> ”Воронеж” ОткрытьОтчет Направление в общежитие
ПрименитьФильтр Выбрать запись с текущей фамилией

 

Первое условие проверяет в текущей записи, заполнено ли поле ГОРОД. Если поле ГОРОД не содержит значения, выполняется первая макрокоманда и следующие три макрокоманды с многоточием в условии, последняя из которых завершает макрос. Если поле ГОРОД заполнено, то указанные четыре макрокоманды пропускаются и работа продолжается по другой ветке, начиная с проверки условия в пятой макрокоманде. Замена макрокоманды «ОстановитьМакрос» на макрокоманду «ЗапускМакроса» позволит продолжить выполнение первой ветки. Таким приемом можно получить любое ветвление программы.

Примеры логических выражений в условии выполнения макрокоманды.

Проверка в текущей записи формы, из которой запускается макрос:

Значения в поле ОЦЕНКА на равенство двойке

ОЦЕНКА = 2;

Нахождение значения в поле ДАТА в интервале от 1 сентября до 20 сентября 2001 года

[ДАТА] Between #0109.01# And #20.09.01#

· Значения в поле ОЦЕНКА на равенство пустому (Null) значению

Is Null([ОЦЕНКА]) или [ОЦЕНКА] Is Null.

Проверка одновременного выполнения двух условий на равенство заданным значениям в поле НП и поле ОЦЕНКА:

[НП] = ”Базы данных” And [ОЦЕНКА] = 5

Подсчет числа значений (с помощью функции DCount) в поле ШГ таблицы СТУДЕНТЫ и сравнение его с заданным:

Dcount (“[ШГ]”,”СТУДЕНТЫ”) > 50

Сравнение значения, возвращаемого функцией, с заданным значением. Функция MsgBox() может быть использована для вывода на экран окна диалога, содержащего нужное сообщение, и кнопок ОК и Отмена, нажатие которых формирует то или иное значение функции.

MsgBox(«Выдать справку?»,1) = 1

Первый параметр функции задает выводимое на экран сообщение, единица на месте второго параметра определяет отображение в окне диалога кнопок ОК и Отмена. Если пользователь нажимает кнопку ОК, функция возвращает значение «1», если кнопку Отмена, функция возвращает значение «2».

Сравнение значений поля в форме с заданным значением. Сравнение значения поля КОЛ в текущей записи формы ГРУППЫ с заданным значением:

Forms![ГРУППЫ]![КОЛ] < 30

 



<== предыдущая лекция | следующая лекция ==>
Создание группы макросов | Создание макросов с использованием ссылок на объекты


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.142 сек.