Обзор процесса создания приложений. Моделирование данных отчета, страница 11

Выше говорилось, что группа - это набор строк, различающихся уникальными значениями в одном или нескольких столбцах. Так, в отчете "Вес овощных блюд" из главы 5 строки группируются по столбцу Блюда. В модели данных группа представлена объектом группы, в состав которого входят групповые столбцы. В компоновке объекту группы соответствует рамка группы. Запрос модели данных упорядочивает результаты по столбцам Блюда и Продукт. Во время печати отчета Developer/2000 проверяет значения групповых столбцов в каждой распечатываемой строке. Если значения отличаются от предыдущих, выполняется так называемое разбиение (break) и Developer/2000 строит рамку для следующей группы. Рамка группы отображает значения групповых столбцов только однажды для всех строк группы, указывая на то, что строки являются одной группой отчета.

В Report Wizard табличные отчеты создаются в трех видах, или стилях:

  • Tabular (табличный): Простая таблица из столбцов и строк без групп
  • Group Left (группировать слева): Табличный отчет с одним или несколькими групповыми столбцами, которые отображаются рамкой группы слева от сгруппированных записей данных
  • Group Above (группировать сверху): Табличный отчет с одним или несколькими групповыми столбцами, которые отображаются рамкой группы выше сгруппированных записей данных

Выбрать стиль можно с помощью экрана Style в Report Wizard. В зависимости от выбранного стиля Report Wizard отображает различные наборы экранов (при создании отчета) или страниц-вкладок (при модификации предварительно созданного отчета). При выборе стиля отображаются следующие экраны/страницы-вкладки:

  • Style: Стиль отчета (переключатели Tabular, Group Left или Group Above)
  • Data: SQL-оператор SELECT, определяющий результирующую таблицу
  • Fields: Столбцы, отображаемые в отчете
  • Totals: Столбцы, над которыми выполняются операции агрегирования с целью получения общих итогов для группы или отчета, а также функции, применяемые для этого
  • Labels: Ярлыки и размер полей отчета
  • Template: Шаблон для отчета, используемый при его компоновке

Рис. 21. Табличный отчет "Вес овощных блюд"

На рис. 21 представлен отчет "Вес овощных блюд", выполненный в стиле Tabular. В отчете, который разбит на фрагменты, строки автоматически упорядочиваются по столбцу разбиения, но в табличном отчете этого не происходит.

При выборе стилей Group Left и Group Above отображается дополнительный экран (страница-вкладка):

  • Groups: Столбцы, по которым группируются данные

Рис. 22. Отчет "Вес овощных блюд" в стиле Group Left

Отчет "Вес овощных блюд" в стиле Group Left показан на рис. 22, а в стиле Group Above - на рис. 23.

Рис. 23. Отчет "Вес овощных блюд" в стиле Group Above

Во всех этих отчетах подсчитываются итоговые данные. Для групповых отчетов Report Wizard определяет как промежуточные результаты для групп, так и общий итог.

Отчеты-формы

Отчет-форма - это отчет, скомпонованный так, чтобы отображать по одной записи за один раз, как если бы это выполнялось в форме. Отчеты-формы применяются для вывода на печать таких документов, как заказы на обслуживание, счета за доставку и т.п., в которых на странице должна быть размещена одна запись. В качестве примера рассмотрим отчет, где распечатывается информация о поставщиках из таблицы Поставщики, причем каждый поставщик отображается в виде набора полей. Нужно запустить Report Wizard для нового отчета и выбрать стиль Form-like, а затем ввести следующий запрос:

SELECT Название, Статус, Город, Адрес

FROM Поставщики

ORDER BY 2

Остальные экраны изменять не нужно, поэтому следует просто щелкнуть мышью на Finish. В результате будет создана отчет-форма с одной записью на каждой странице, компонующая поля и их заголовки слева направо и переходящая на следующую строку при переполнении. В данном случае информации слишком мало для того, чтобы отображать по одной записи на странице. Необходимо выбрать объект рамки (здесь он только один) и изменить его свойство Maximum Records Per Page (максимальное число строк на страницу) с 1 (значение по умолчанию) на 0. Это означает, что на одной странице будет отображаться столько записей, сколько возможно. Кроме того, можно изменить поле Название так, чтобы каждое местожительство выводилось полужирным шрифтом (рис. 24).