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