Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Пакет Quick Report (быстрый отчет)



В основе этого пакета находится компонент QuickRep (закладка QReport ). Он содержит составное свойство Bands, которое имеет следующие основные части отчета:

  • HasColumnHeader - заголовки столбцов;
  • HasDetail - столбцы данных;
  • HasPageFooter - нижний колонтитул страницы;
  • HasPageHeader - верхний колонтитул страницы;
  • HasSummary - итоговое значение по столбцам данных;
  • HasTitle - общий заголовок отчета.

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

Рассмотрим пример создания отчета о списке записей уже знакомой там таблицы biolifes.db.

Запустите Delphi и создайте новое приложение. Сохраните модуль Unit1. pas под именем MainForm. pas в новой папке FishReport. В тоже папке сохраните и сам проект FishReport. dpr. Запустите Проводник и скопируйте в эту папку папку db с БД из приложения Biolife2. Создайте для нее БД с алиасом DbFishReport.

На форму положите 3 кнопки и компонент Image (закладка Additional ). Загрузите в его свойство Picture рисунок fish. bmp. (рисунок находится в в папке картинок Pictures_Fish этого методического материала). Сверху положите на него компонент Bevel (закладка Additional ). Дайте его свойству Shape значение bsFrame. Выполните подгонку фаски Bevel под рисунок так, чтобы она стала контуром рисунка (рис. 1).

Рис. 1. Вид главной формы приложения FishReport

Командой File / New / Form создайте новую форму и сохраните ее под именем Rep. pas. Измените свойство Caption формы на Отчет, дайте ей имя (свойство Name ) fRep. Перейдите на главную форму, выполните команду File / Use unit (использовать модуль) и выберите там модуль Rep. Теперь главная форма будет " видеть" модуль Rep.

Перейдите на закладку QRep и положите на форму компонент QuickRep. Растяните его по ширине формы, как показано на рис. 2.

Рис. 2. Компонент QuickRep

Щелкните на этом компоненте и назначьте true его составным свойствам HasColumnHeader (имеет заголовки столбцов), HasDetail (имеет данные), HasPageFooter (имеет нижний колонтитул ), HasTitle (имеет заголовок), как показано на рисунке справа.

Положите на составную часть Title компонент QRLabel и дайте его свойству Caption значение Рыбы. (см. рис. 2). На составной части ColumnHeader, которая лежит ниже заголовка отчета, положите три таких же компонента и дайте их свойствам Caption значения Категория, НазваниеДлина и Рисунок, соответственно (на рис. 2 к этим компонентам отчета от компонента QRLabel закладки QReport протянуты указатели синего цвета). Измените фонт заголовка на жирный, немного увеличьте его размер по сравнению с надписями на столбцах.

Создайте командой Database / Explore новую БД с именем DbFishReport, назначьте к ней путь, указав адрес папки db.

Положите в любое место формы компонент Table , который находится на закладке BDE (на рис. 2 этот компонент находится в правой верхней части формы). Выберите для его свойства Alias значение DbFishReport. Установите свойство Active таблицы в true (открыть таблицу).

На составную часть Detail компонента отчета положите три компонента QRDBText (на них направлены указатели зеленого цвета). Рядом положите компонент QRDBImage, который потребуется для показа рисунков. Для этих четырех компонентов дате свойству DataSet значение Table1, которое является именем таблицы БД. Значениями свойства DataField этих компонентов будут Category, CommonName, LenSm и Graphic. Это значит, что наш отчет будет содержать четыре колонки таблицы biolifes. db, первые две - текстовые, третья - числовая и четвертая - графическая.

Щелкните на составной части Detail, для свойства Frame (рамка) его подствойство DrawTop (рисовать верхнюю границу) установите в true. Тем самым каждая запись будет отделяться от соседней горизонтальной чертой сверху.

Наконец, на составную часть PageFooter положите два компонента QRSysData (указатели красного цвета). У первого замените свойство Data на qrsPageNumber (номер страницы), у второго на - qrsDateTime (дата и время создания отчета). Проектирование отчета закончено.

Перейдите на главную форму и двойным щелчком на кнопке с надписью Создать отчет создайте событие OnClick (на щелчок по этой кнопке). Код процедуры обработчика этого события приведен ниже:

procedure TForm1.Button1Click(Sender: TObject);
begin
fRep.QuickRep1.Preview;
end;

Приведенной там единственной командой и создается отчет. Запустите программу и щелкните на этой кнопке. Будет сформирован отчет и выведен в окно предварительного просмотра. Вид первой страницы отчета показан на рис. 3.

Рис. 3. Первая страница готового отчета

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

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

procedure TForm1.Button2Click(Sender: TObject);
begin
fRep.QuickRep1.Print;
end;

На этом разработка и создание простейшего отчета для БД закончена.

 

Запросы и язык SQL

На практике чрезвычайно редко создают отчет по все таблице БД. Обычно требуется не все, а лишь интересующие записи, которые следует отобрать из таблицы на основе запроса, записанного на специальном языке. Для этих целей используют язык SQL ( Structured Query Language - язык структурированных запросов). При помощи команд, записанных на этом языке, выполняют запрос, результаты которого помещаются в специальный компонент Query, по виду напоминающий Table, который после создания отчета будет содержать требуемые записи. Эти записи далее могут быть выведены в отчет.

Язык SQL предназначен для управления запросами данных в реляционных БД. В процессе работы с БД чаще всего используют четыре основных команд - SELECT (выбрать), INSERT (вставить), UPADTE (обновить) и DELETE (удалить). Это значит, что при помощи SQL можно не только отбирать данные, но и вносить изменения в таблицы БД. В наших упражнениях мы будем использовать SQL только для запросов на отбор записей из всей таблицы данных.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-06-04; Просмотров: 589; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь