В начало

Создание отчета (Лабораторная работа)

 

Цели работы:

  1. Ознакомиться с возможностью создания отчета.

Создание отчетов:

Отчет – это печатный документ, содержащий записи БД. В Delphi для создания отчетов служит генератор отчетов QuickReport, содержащий обширный набор компонентов. Компоненты, предназначенные для создания отчетов, находятся на закладке QReport палитры компонентов.

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

Свойства компоненты QuickRep:

·        Bands – здесь указываются компоненты размещаемые в QuickRep.

·        DataSet – здесь указывается набор данных из которой отчет будет брать данные.

·        Frame – здесь указывается параметры рамки.

·        Options – здесь доступны три параметра. Если FirstPageHeader равно true, то заголовок печатается только на первой странице отчета. Если LastPageFooter равен true, то нижний колонтитул печатается только на последней странице отчета. Если установить свойство Compression в true, то отчет будет сохраняться в сжатом виде.

·        ReportTitle – здесь находится заголовок печатаемого документа.

·        SnapToGrid – нужно ли выравнивать компоненты по установленной сетке.

·        Zoom – масштаб отображения данных.

Настройку параметров отчета можно выполнить с помощью окна Report Settings, вызываемый двойным щелчком мыши по компоненте QuckRep. Предпочтительно пользоваться именно этим окном, так как здесь всегда можно просмотреть будущий результат.

  1. Открыть приложение «Студенты».
  2. Добавить на главную форму кнопку «Создание отчета».
  3. Создать новую форму «Отчет», которая будет вызываться нажатием на кнопку «Создание отчета».
  4. На форму установить компоненту QuickRep с закладки QReport. Выделить этот компонент и в объектном инспекторе включить параметры HasTitle и HasDetail свойства Bands.

  1. Расположим компоненты в секциях QuickRep1, которые будут отображать нужную информацию отчета. На закладке QReport палитры компонентов доступны следующие компоненты, которые можно расположить в этих разделах:
    • QRLabel – надпись. Этот компонент похож на стандартный компонент TLabel и просто отображает нужные данные.
    • QRDBText – данные. Этот компонент тоже похож на TLabel, только он предназначен для отображения значения какого либо поля из базы данных.
    • QRSysData – системная информация. Это опять копия TLabel только с возможностью отображать системную информацию – дату, время, номер страницы, номер строки в таблицы, общее количество страниц и т.д.
    • QRImage – картинка. Компонент схожий с TImage.
  2. Увеличить область заголовка Title. В верхний угол поместите один компонент QRSysData. Выделить его и в свойстве Data выбрать значение qrsDateTime. Теперь этот компонент будет отображать в правом, верхнем углу дату распечатки документа.
  3. В центре области Tittle установить компонент QRLabel, увеличь шрифт в свойстве Font и написать в свойстве Caption текст «Студенты».
  4. Расположить в области Tittle компоненты QRLabel и дать им заголовки: ФИО, Дата рождения, Номер зачетки, Специальность, Курс.
  5. Перейти к области Detail. Под заголовками поставить пять компонентов QRDBText. Установить в свойстве DataSet компонентов QRDBText набор данных - Form1.Table1, а в свойстве DataField для QRDBText1 указать SFio. У всех остальных компонентов QRDBText указать соответствующие имена полей.

  1. Перейти в главный модуль и по нажатию кнопки “Печать” написать следующий код.

procedure TForm1.SpeedButton5Click(Sender: TObject);

begin

Form4.QuickRep1.Preview; //вызывается метод Preview

//компонента QuickRep. Этот метод показывает окно

//предварительного просмотра созданного  документа.

еnd;

  1. Запустить программу, выделить какую-нибудь строку и нажать кнопку печати. Откроется окно предварительного просмотра.

  1. Выделить компонент QuickRep1 и в свойстве DataSet указать таблицу Form1.Table1.
  2. Если сделать это, то компонент QuickRep1 автоматически будет перебирать все записи из этой таблицы и использовать их в компонентах, которые стоят в  блоке DetailBand1.
  3. После этого в отчете появятся все записи таблицы:

  1. Установить на форму отчета компонент – QRSubDetail с закладки QReport. Этот компонент предназначен для перебора данных относящихся к подчиненным таблицам.
  2. Установить следующие свойства: DataSet Form1.Table2, чтобы связать блок с таблицей Uspevaemost.db, которая является подчиненной к основной Studenti.db.
  3. В свойстве Master нужно указать главный компонент с основными данными. Выбрать в этом свойстве QuickRep1.
  4. Расположить на компоненте QRSubDetail компоненты QRDBText в свойстве указав, к каким полям подчиненной таблицы они обращаются.
  5. Получится следующий вид отчета: