Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы / ИТСлаб4.doc
Скачиваний:
27
Добавлен:
16.04.2013
Размер:
1.16 Mб
Скачать

7

Лабораторная работа №4

Технология формирования отчетов с информацией из базы данных

Цель работы: изучение и использование компонентов для создания отчетов в системе Borland C++ Builder.

Продолжительность работы - 4 часа.

  1. Теоретические сведения

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

Информацию, выводимую на печать или в файл и представленную в удобном для восприятия виде, называют отчетом. Создание отчетов является одной из основных функций, выполняемых приложениями, работающими с базами данных.

Для создания отчетов используются специальные компоненты, которые значительно облегчают эту задачу, выполняя все основные функции по форматированию, предварительному просмотру и выводу на печать информации из некоторого набора данных. Поэтому разработка отчетов обычно сводится к определению структуры и внешнего вида отчета.

Разработка отчета во многом схожа с разработкой формы для ввода данных, поскольку выполнение основных функций уже предусмотрено в ссответствующих компонентах, которые требуется только соответствующим образом разместить и настроить. Многие компоненты, используемые при создании отчетов, подобны компонентам отображения данных, применяемым при разработке форм. Поэтому, приступая к разработке отчета, следует определить следующие его параметры:

  1. информацию, которая должна содержаться в отчете;

  2. таблицы, содержащие необходимые данные;

  3. внешний вид создаваемого отчета;

  4. поля, по которым производится упорядочение и группировка данных в отчете;

  5. содержание итоговой части отчета, если в ней есть необходимость;

  6. дополнительную информацию, отображаемую в отчете: заголовки, поясняющие надписи, разделительные линии, рисунки и т.д.

Перед разработкой отчета целесообразно нарисовать эскиз отчета на бумаге, чтобы определить перечень компонентов, которые нужны для создания отчета.

Компоненты для создания отчетов позволяют формировать отчеты, которые условно можно разделить на две группы: табличные отчеты и отчеты в свободной форме.

В табличном отчете информация упорядочивается по строкам и столбцам. Такие отчеты фактически повторяют структуру таблиц базы данных или выборки таблиц.

Отчеты, выполненные в свободной форме, содержат информацию, располагающуюся в произвольной форме. Примером отчетов такого типа могут служить почтовые адреса и письма, где поля таблицы базы данных должны размещаться в специально отведенных местах. При реализации отчетов в свободной форме данные также представляются в определенном порядке, но результат упорядочения не является таблицей.

Помимо значений полей из таблиц базы данных или вычисляемых полей отчет может содержать также и другие объекты, например, графики и диаграммы, рисунки, поясняющие надписи.

В системе C++ Builder для создания отчетов имеется набор компонентов, собранных на странице QReport палитры компонентов и входящих в состав генератора отчетов QuickReport. Все компоненты генератора отчетов QuickReport можно разделить на четыре группы:

  1. базовый компонент TQuickRep, являющийся контейнером для компонентов полос отчета и обеспечивающий генерацию и печать отчета;

  2. полосы отчета - специальные компоненты, являющиеся контейнерами для элементов отображения данных и формирующие структуру отчета;

  3. компоненты отображения данных, используемые для визуализации информации, содержащейся в таблицах базы данных, а также для вывода любой дополнительной информации;

  4. фильтры - невизуальные компоненты, применяемые для экспорта отчета в файлы некоторых распространенных форматов.

Итак, центральным компонентом отчета является TQuickRep, определяющий формирование отчета в целом. С помощью других компонентов создаются составные части отчета:

  • TQRBand - полоса для расположения данных, заголовков, титула отчета и пр. Отчет, в основном, строится из компонентов TQRBand, которые реализуют:

    • полосу заголовка отчета;

    • полосу верхнего колонтитула;

    • полосу заголовка группы;

    • полосу названий столбцов отчета;

    • полосу детальной информации, предназначенную для отображения данных самого нижнего уровня детализации;

    • полосу итогов для группы;

    • полосу нижнего колонтитула;

    • полосу итогов для отчета;

  • TQRStringBand - имеет то же назначение, что и TQRBand. Отличается встроеннымм списком строк Items, содержимое которого становится видимым в режиме печати и предварительного простмотра, если на компонент TQRStringBand помещен компонент TQRExpr. Для каждой строки в Items выводится своя полоса TQRStringBand;

  • TQRSubDetail - определяет полосу, в которой располагаются данные подчиненной таблицы при реализации в отчете связи "главная-подчиненная" для таблиц базы данных;

  • TQRChildBand - дочерняя (подчиненная) полоса. Привязывается к родительской (главной) полосе и служит для ее расширения. Любая полоса может стать родительской, если ее свойство HasChild задать равным True;

  • TQRGroup - применяется для группировки данных в отчете;

  • TQRLabel - позволяет разместить в отчете произвольную текстовую строку;

  • TQRDBText - служит для вывода в отчет содержимого текстового поля таблицы базы данных;

  • TQRExpr - применяется для вывода значений, являющихся результатом вычисления выражений. Алгоритм вычисления выражений строится при помощи редактора формул этого компонента;

  • TQRSysData - служит для включения в отчет системной величины: даты, времени, номера страницы и т.п.;

  • TQRDBImage - служит для вывода в отчете графической информации, хранящейся в поле таблицы базы данных;

  • TQRPreview - базовый компонент для создания нестандартных окон предварительного пропросмотра отчета. Стандартное окно создается с помощью метода Preview компонента TQuickRep.

Соседние файлы в папке лабы