Реляционные СУБД в Visual FoxPro 8

         

Использование в отчетах отношения "один-ко-многим"

Visual FoxPro поддерживает в отчетах отношение "один-ко-многим". Эта возможность упрощает отображение в отчете иерархических данных.

Добавим в форму просмотра телефонов клиентов и их заказов, созданную в главе 15, средства для печати телефонов просматриваемого клиента. Для этого в форме расположим кнопку для печати телефонов (рис. 17.14) и создадим соответствующий отчет.

  1. Откройте проект sales.
  2. Откройте для модификации форму Клиенты и продажи.
  3. Добавьте в форму кнопку с надписью Печать.
  4. Откройте окно свойств кнопки. Выберите метод click (Нажатие) и введите в окне процедуры следующий текст программы вызова отчета:
  5. curiCdCustomer=icdCustomer

    REPORT FORM RepCust TO PRINTER;

    FOR PhonCust.icdCustomer=curiCdCustoraer

    SELECT PhonCust

    SET SKIP TO

    select Customer

    ThisForm.Refresh!)

  6. Откройте новое окно конструктора отчетов и добавьте в окно Data Environment (Среда окружения) таблицы customer и PhonCust.
  7. Главной таблицей отчета является customer, а подчиненной по отношению к ней — таблица PhonCust. Установите связи между этими таблицами и определите свойство опетомапу (Один-ко-многим), выбрав значение True (Истина) (рис. 17.15).


  8. Рис. 17.14. Форма Клиенты и продажи

    Рис. 17.15. Установка отношения "один-ко-многим"

    Рис. 17.16. Отчет для печати телефонов клиентов

    Рис. 17.17. Отчет для печати телефонов клиентов в окне просмотра

  9. В заголовке отчета расположите его название.
  10. Добавьте в отчет группировку по коду клиента.
  11. В полосе Group Header (Группа сверху) разместите поля из таблицы customer и надписи к ним, а также надписи к полям из таблицы Phoncust.
  12. В полосе Detail (Детали) разместите поля из таблицы Phoncust.
  13. Созданный отчет представлен на рис. 17.16. Сохраните отчет под именем RepCust.
  14. Запустите на выполнение форму Клиенты и продажи. Для печати телефонов клиента, на котором установлен курсор, нажмите кнопку Печать телефонов. На рис. 17.17 приведен вариант просмотра отчета на экране.

Содержание раздела