Создание
объекта Grid с помощью конструктора форм
Форма для таблиц, имеющих отношение
"один-ко-многим", с помощью мастера создается достаточно быстро. Но
она требует определенной доработки в конструкторе форм. Поэтому вам необходимо
уметь создавать многотабличные формы с помощью конструктора, чтобы при необходимости
уметь их модифицировать. Для создания формы в конструкторе форм следует выполнить
следующие действия:
-
В окне Data Environment (Среда
окружения) разместите таблицы, используемые в форме.
-
Установите связи между таблицами.
-
Разместите в форме поля главной
таблицы.
-
Создайте в форме объект Grid (Таблица)
для отображения данных подчиненной таблицы.
Создание формы,
содержащей объект Grid
Рассмотрим создание формы, с помощью
которой можно просмотреть информацию о клиентах, их телефонах и сделанных ими
покупках. В отчете будем использовать следующие таблицы: Customer, Phoncust,
Ordsalem, ordsaied и Goods. В таблицах содержится следующая информация:
-
Сustomer — список клиентов;
-
Phoncust — средства связи, по
которым можно связаться с клиентом;
-
Ordsalem — информация о продажах:
номер заказа, дата заказа, код клиента, итоговая сумма заказа;
-
O
rdsaied
— код, количество и стоимость проданного товара по данному заказу;
-
Goods — информация о товарах.
Отношение между таблицами customer
и Phoncust определяется как "одинко-многим", т. к. клиент может иметь
несколько номеров телефона или факс для связи.
Отношение между таблицами Customer
и Ordsalem также "один-ко-многим", поскольку каждый клиент может сделать
несколько покупок.
Приступим к созданию формы.
-
Откройте проект Sales.
-
Откройте окно конструктора форм
для создания новой формы.
-
Откройте окно Data Environment
(Среда окружения), выполнив команду Environment (Окружение) из меню View (Вид).
-
Используя команду Add (Добавить)
из меню Data Environment (Среда окружения), добавьте В форму таблицы Customer,
Phoncust, Ordsalem, Ordsaied и Goods. Между ними существуют следующие отношения:
-
customer — родительская по отношению
к таблицам Phoncust и Ordsalem;
-
Ordsalem — родительская по отношению
к таблице ordsaied;
-
ordsaied — родительская по отношению
к таблице Goods. Связь между таблицами осуществляется:
-
customer и Phoncust — по коду
клиента;
-
Customer и Ordsalem — по коду
клиента;
-
Ordsalem и Ordsaied — по коду
заказа;
-
Ordsaied и Goods — по коду товара.
Данные в таблицах customer, Ordsalem
и Phoncust должны быть упорядочены по коду клиента, в ordsaied — по коду заказа,
а в Goods — по коду товара.
-
Установив все необходимые
связи между таблицами и указав упорядочение данных (рис. 15.14), закройте
окно Data Environment (Среда окружения).
Рис. 15.14. Окно
Data Environment создаваемой формы
-
Используя кнопки панели
инструментов Form Controls (Элементы управления формы), расположите в форме
заголовок, надписи и необходимые поля таблицы Customer.
-
Выберите кнопку Grid (Таблица)
на панели инструментов Form Controls (Элементы управления формы).
-
Установите указатель в место предполагаемого
расположения объекта и, удерживая кнопку мыши нажатой, переместите курсор
по диагонали, нарисовав рамку требуемого размера.
-
Для определения параметров созданного
объекта выделите его и откройте окно свойств, выполнив команду Properties
(Свойства) из меню View (Вид).
-
Скорректируйте свойство coiumnCount
(Количество столбцов) объекта Grid (Таблица), задав количество столбцов в
создаваемом объекте равным 3.
-
Если вы хотите изменить цвет сетки
таблицы, определите свойство GridLineCoior (Цвет сетки таблицы) объекта Grid
(Таблица).
-
Используя свойство controisource
(Источник данных) каждого из трех объектов column (Столбец), входящих в объект
Grid (Таблица), свяжите столбцы с полями таблицы Phoncust.
-
Используя свойство caption (Надпись)
каждого из трех объектов Header (Заголовок), входящих в объект Grid (Таблица),
введите заголовки столбцов Вид связи, Номер кода и Номер. Чтобы заголовки
располагались по центру столбцов, скорректируйте для каждого из них свойство
Alignment (Выравнивание), установив значение Middle (По середине) Center (По
центру).
Определение первого объекта
Grid (Таблица) завершено. Разместим в форме второй объект Grid (Таблица).
-
Нажмите кнопку Grid (Таблица)
на панели инструментов Form Controls (Элементы управления формы).
-
Установите указатель в нижней
части формы и, удерживая кнопку мыши в нажатом состоянии, переместите курсор
по диагонали так, чтобы получилась рамка необходимого размера.
-
Для определения параметров созданного
объекта выделите его и откройте окно свойств.
-
Скорректируйте свойство CoiumnCount
(Количество столбцов) объекта Grid (Таблица), задав количество столбцов (6)
в создаваемом объекте.
-
Если необходимо выбрать цвет сетки
таблицы, определите свойство GridLineCoior (Цвет сетки таблицы) объекта Grid
(Таблица).
-
Используя свойство controisource
(Источник данных) каждого из пяти объектов column (Столбец), входящих в объект
Grid (Таблица), выполните следующие действия:
-
свяжите первые два столбца с
полями cndoc и ddoc таблицы Ordsaiem;
-
свяжите третий столбец с полем
cnmgoods таблицы Goods;
-
четвертый и пятый столбцы свяжите
с полями nquant и nunitprice таблицы Ordsaled.
-
Шестой столбец таблицы
будет содержать вычисляемое поле, определяющее стоимость проданного товара.
Используя свойство Controisource (источник данных) для шестого объекта Column
(Столбец), задайте выражение для вычисляемого поля: Ordsaled.nQuant*Ordsaled.nUnitPrice
-
Используя свойство caption (Надпись)
каждого из шести объектов Header (Заголовок), входящих в объект Grid (Таблица),
введите заголовки столбцов: Номер документа, Дата, Наименование товара, Количество,
Цена и Стоимость. Чтобы заголовки столбцов располагались по центру, скорректируйте
для каждого из них свойство Alignment (Выравнивание), установив значение Middle
(По середине) center (По центру).
-
Используя свойство ForeCoior каждого
из пяти объектов Text (Текст), входящих в объект Grid (Таблица), установите
цвет (например, красный) для выделения информации при установке курсора на
данное поле.
-
Добавьте в создаваемую форму кнопки
перемещения по записям. Полученная форма показана на рис. 15.15.
Рис. 15.15. Многотабличная
форма
-
Сохраните созданную
форму и запустите ее на выполнение. Отметьте, что при перемещении по записям
таблицы customer в первом объекте Grid (Таблица) отображается список телефонных
номеров, по которым можно связаться с клиентом, а во втором объекте Grid (Таблица)
показывается полный список товаров, купленных данным клиентом (рис. 15.16).
Рис. 15.16. Просмотр
многотабличной формы
Создание формы,
содержащей три объекта Grid
В рассмотренном примере мы использовали
поля формы для отображения информации главной таблицы. Модифицируем созданную
форму и разместим поля таблицы customer в объекте Grid (Таблица).
-
Откройте в окне конструктора форм
созданную в предыдущем примере форму и сохраните ее под новым именем.
-
Удалите из формы все поля и надписи,
оставив только объекты Grid (Таблица) (рис. 15.17).
-
Нажмите кнопку Grid (Таблица)
на панели инструментов Form Controls (Элементы управления формы), установите
указатель в левой верхней части формы и создайте новый объект Grid (Таблица).
-
В окне свойств созданного объекта
скорректируйте для объекта Grid (Таблица) свойство coiumncount (Количество
столбцов), задав количество столбцов (4) в создаваемом объекте.
-
Свяжите столбцы объекта с полями
ccompany, clastname, cfirstname и caddress таблицы Customer.
Рис. 15.17. Удаление
из формы полей ввода и надписей к ним
Рис. 15.18. Форма
с тремя объектами Grid
-
Скорректируйте для вновь
созданных объектов свойства, определяющие цвет сетки таблицы, расположение
заголовков, цвета отображения заголовков и выводимых данных.
-
Сохраните форму и запустите ее
на выполнение. Вид созданной формы показан на рис. 15.18.
Содержание раздела