Рассматривают создание формы пользователя “Время вылета” (рисунок 21). Данная форма отображает информацию о рейсах самолетов по заданному пользователем времени вылета и пункту назначения (данные формируются из таблицы Air_Time.dbf).
Для создания формы необходимо выполнить действия:
1) В Администраторе данных в закладке Формы пользователя нажать кнопку Добавить. Активизируется Конструктор форм.
2) Создать новую форму (команда Форма/Новая, либо выбрав кнопку Создать новую форму).
3) Поместить на форму компонент Ввод_значения1 . С помощью данного компонента задается требуемое время вылета .
4) Поместить на форму компонент Ввод_значения2 . С помощью данного компонента задается требуемый пункт назначения .
5) Поместить на форму компонент Выбор_оператора1. С помощью данного компонента задается логический оператор поиска. Выберем значение AND (логическое И).
6) Поместить на форму компонент Параметризованный запрос – Парамет_запрос1 .
Свойству Расположение присвоим значение ‘c:\Panorama7\DATA\PODOLSK
\DataBase’. Сформируем Текст Запроса:
SELECT * FROM AIR_TIME WHERE (AIR_TIME.ПУНКТ = $'Запрос_списка_рейсов.Ввод_значения2'$)
#Запрос_списка_рейсов.Выбор_оператора1#
(AIR_TIME.ВРЕМЯ = $'Запрос_списка_рейсов.Ввод_значения1'$)
7) Поместить на форму компонент Список_макросов1. Добавить новый макрос Макрос_формы1. Свойству Тип макроса задать значение Создать парам.запрос. Свойству Парамет.запрос – Парамет_запрос1. Свойству Автом.выполнение задать значение Нет . При задании значения Да осуществляется автоматическое выполнение запроса , пользователь не видит текст запроса.
8) Поместить на форму компонент Кнопка1. Свойству Макрос задать значение Макрос_формы1.
9) Сохранить созданную форму.
Например, сформировать список рейсов до Анапы и временем вылета 12 .00 ч.
1) Введем значение пункта назначения – Анапа;
2) Введем значение время вылета – 12.00;
3) Выберем логический оператор – AND;
4) При нажатии кнопки ОК формируется Параметризованный запрос( т.к. при проектирования формы свойству Автом.выполнение компонента Список_макросов1 было задано значение Нет):
Select * from AIR_TIME where (AIR_TIME.ПУНКТ = 'Анапа')AND
(AIR_TIME.ВРЕМЯ = '12.00')
Рисунок 20 – Окно «Время вылета»