Глава 9
НАЛИЧИЕ_ТОВ
, не отображая его в форме. Подготовьте отчет об отгрузках товара на
таблице ОТГРУЗКА, которую дополните датой и номером договора из таблицы
НАКЛАДНАЯ, а для поля количество отгруженного предусмотрите итоговую ве-
личину.
1.
Для реализации этой задачи создайте изолированный макрос, представленный
на рис. 9.13. Свяжите его выполнение с событием
Получение фокуса
(On Got
Focus) для поля
КОД_ТОВ
(код товара) в
ПОСТАВКА_ПЛАН подчиненная форма
.
Рис. 9.13.
Пример макроса с блоками
Если
2.
В макросе в первом блоке
Если ... то ... иначе ... Конец блока "Если"
записано
условное выражение для проверки значения в поле
НАЛИЧИЕ_ТОВ
, которое имеет
тип данных
Логический
(Yes/No). В зависимости от результата проверки усло-
вия будут выполнены различные ветви программы.
Разработка приложений с использованием макросов
381
•
Если логическое выражение возвращает значение
Истина
(
True
), выполняются
макрокоманды
то
:
ОкноСообщения
(MessageBox) и
ОстановитьМакрос
(StopMacro). Первая выводит сообщение о том, что товар, на который был
переведен фокус, есть на складе. Последняя завершает выполнение макроса.
•
При возврате значения
Ложь
(
False
) выполняется набор макрокоманд
Иначе
:
ОкноСообщения
(MessageBox) и
ОткрытьОтчет
(OpenReport). Первая
макрокоманда выводит сообщение об отсутствии товара на складе, вторая от-
крывает отчет об отгрузках по открытому договору того товара, на который
был переведен фокус.
3.
После этого выполняется второй блок
Если ...то ... Конец блока "Если"
, в ко-
тором проверяется ответ пользователя на выведенное в диалоговом окне пред-
ложение закрыть отчет (рис. 9.14). Вывод диалогового окна обеспечивается
функцией
MsgBox('Закрыть отчет?';1)
. При утвердительном ответе отчет закры-
вается. На этом макрос завершает свою работу.
Рис. 9.14.
Диалоговое окно функции
MsgBox('Закрыть отчет?';1)
4.
В приведенном примере переместите второй блок
Если
на одну позицию выше,
щелкнув на соответствующей зеленой стрелке в правой части блока. Он пере-
местится в набор макрокоманд
Иначе
. При этом можно удалить из набора
то
макрокоманду
ОстановитьМакрос
(StopMacro).
5.
Убедитесь, что и теперь макрос при перемещении фокуса на новый код товара
выполняется правильно.
6.
Чтобы сделать структуру программы более наглядной, щелкните на команде
Свернуть макрокоманды
(Collapse Actions). При этом макрос свернет макро-
команды, отобразив их имена и аргументы в строках, а блоки оставит несверну-
тыми.
7.
Убедитесь в том, что после сохранения этого изолированного макроса его имя
отобразится в списке макросов области навигации, а также в разделе
В этой базе
данных
(In this Database) в окне каталога макрокоманд.
Примеры условных выражений
Рассмотрим примеры условных выражений в макросах.
Проверка
значений полей
в текущей записи формы:
•
значения в поле
ЦЕНА
:
ЦЕНА > = 2000
382
Do'stlaringiz bilan baham: |