Использование в отчетах отношения "один-ко-многим"
Visual FoxPro поддерживает в отчетах отношение "один-ко-многим". Эта возможность упрощает отображение в отчете иерархических данных.
Добавим в форму просмотра телефонов клиентов и их заказов, созданную в главе 15, средства для печати телефонов просматриваемого клиента. Для этого в форме расположим кнопку для печати телефонов (рис. 17.14) и создадим соответствующий отчет.
Рис. 17.14. Форма Клиенты и продажи
- Откройте проект sales.
- Откройте для модификации форму Клиенты и продажи.
- Добавьте в форму кнопку с надписью Печать.
- Откройте окно свойств кнопки. Выберите метод click (Нажатие) и введите в окне процедуры следующий текст программы вызова отчета:
curiCdCustomer=icdCustomer REPORT FORM RepCust TO PRINTER; FOR PhonCust.icdCustomer=curiCdCustoraer SELECT PhonCust SET SKIP TO select Customer ThisForm.Refresh!)
- Откройте новое окно конструктора отчетов и добавьте в окно Data Environment (Среда окружения) таблицы customer и PhonCust.
- Главной таблицей отчета является customer, а подчиненной по отношению к ней – таблица PhonCust. Установите связи между этими таблицами и определите свойство onetomany (Один-ко-многим), выбрав значение True (Истина) (рис. 17.15).
Рис. 17.15. Установка отношения "один-ко-многим"