Иллюстрированный самоучитель по Visual FoxPro 7

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

Visual FoxPro поддерживает в отчетах отношение "один-ко-многим". Эта возможность упрощает отображение в отчете иерархических данных. Добавим в форму просмотра телефонов клиентов и их заказов, созданную в главе 75, средства для печати телефонов клиента, информация о котором отображена в форме. Для этого в форме расположим кнопку для печати телефонов и создадим соответствующий отчет.

  1. Откройте Проект Sales.
  2. Откройте для модификации форму Клиенты и продажи.
  3. Добавьте в форму кнопку с надписью Печать.
  4. Откройте окно свойств кнопки. Выберите метод click (Нажатие) и введите в окне процедуры следующий текст программы вызова отчета:
curiCdCustomer=icdCustomer
REPORT FORM RepCust TO PRINTER;
FOR PhonCust.icdCustomer=curiCdCustomer
SELECT PhonCust
SET SKIP TO
select Customer
ThisForm.Refresh()
  1. Откройте новое окно конструктора отчетов и добавьте в окно Data Environment (Среда окружения) таблицы customer и PhonCust.
  2. Главной таблицей отчета является Customer, а подчиненной по отношению к ней – таблица PhonCust. Установите связи между этими таблицами и определите свойство оnе-то-маnу (Один-ко-многим), выбрав значение True (Истина).
  3. В заголовке отчета расположите его название.
  4. Добавьте в отчет группировку по коду клиента.
  5. В полосе Group Header (Группа сверху) разместите поля из таблицы customer и надписи к ним, а также надписи к полям из таблицы phoncust.
  6. В полосе Detail (Детали) разместите поля из таблицы Phoncust.
  7. Сохраните отчет под именем RepCust.
  8. Запустите на выполнение форму Клиенты и продажи. Для печати телефонов клиента, на котором установлен курсор, нажмите кнопку Печать телефонов.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.