Создание объекта Grid с помощью конструктора форм
Форма для таблиц, имеющих отношение "один-ко-многим", с помощью мастера создается достаточно быстро. Но она требует определенной доработки в конструкторе форм. Поэтому вам необходимо уметь создавать многотабличные формы с помощью конструктора, чтобы при необходимости уметь их модифицировать. Для создания формы в конструкторе форм следует выполнить следующие действия:
- В окне Data Environment (Среда окружения) разместите таблицы, используемые в форме.
- Установите связи между таблицами.
- Разместите в форме поля главной таблицы.
- Создайте в форме объект Grid (Таблица) для отображения данных подчиненной таблицы.
Создание формы, содержащей объект Grid
Рассмотрим создание формы, с помощью которой можно просмотреть информацию о клиентах, их телефонах и сделанных ими покупках. В отчете будем использовать следующие таблицы: Customer, Phoncust, Ordsalem, ordsaled и Goods. В таблицах содержится следующая информация:
- Сustomer – список клиентов;
- Phoncust – средства связи, по которым можно связаться с клиентом;
- Ordsalem – информация о продажах: номер заказа, дата заказа, код клиента, итоговая сумма заказа;
- Ordsaled – код, количество и стоимость проданного товара по данному заказу;
- 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 создаваемой формы