Генериране на отчети с QuickReport компоненти

Компонентът Quick Report е предназначен да генерира отчети за съдържанието на базата данни и да ги отпечатва. В Delphi5 (C++ Builder 5.0) този компонент е инсталиран по подразбиране. В Delphi 7.0 и по-нови се използва компонентът Rave Report, който не се разглежда в тази статия. За да инсталирате компонента Quick Report в Delphi 7.0, използвайте менюто Component/InstallPackages/Add/Program Files\Borland\Delphi7\Bin\dclqrt70.bpl. За да функционират компонентите на секцията QuickReport, на компютъра трябва да е инсталиран поне един принтер по подразбиране.

За да създадем отчет, създаваме нов формуляр ReportForm, върху който прехвърляме компонента за генериране на отчет QuckRep1 от страницата QReport: TQuickRep.

Посочете, че формулярът ReportForm използва модула DataModule2 и конфигурирайте отчета:

- в свойството DataSet задайте връзка към компонента на заявката AllQuery;

- в свойството Bands задайте стойността true пред тези секции на отчета, които са необходими за изобразяването му: HasColumnHeader - заглавия на колони, HasDetail - зона за показване на записи в база данни, HasSummary - общо под отчета, HasTitle - заглавие на отчета.

В секцията Заглавка на колона подредете компонентите на TQRLabel така, че заглавките на колоните да са разположени над данните.

В секцията Подробности поставяме компоненти от типа TQRDBText, които отговарят за показването на данните за заявката. За всеки компонент в полето DataField посочете името на полето, от което компонентът на отчета получава данни (например за компонента QRDBText1 това поле е AllQuery.FIO). В началото на реда в секцията Подробности има компонент QRSysData2, чието поле за данни е зададено на QrsDetailNo (номер на ред за отчет).

Най-общо формата на отчета е показана на фигура 6.1.

quickreport

Фигура 6.1 - Формуляр за отчет

генериране

Фигура 6.2 - Основната форма на проекта

В манипулатора BtReportClick активираме заявката AllQuery и извикваме метода ReportForm.QuickRep1.Preview:

процедура TForm1.BtReportClick(Подател: TObject);

В режим на изпълнение отчетът има формата, показана на фигура 6.3.

отчети

С помощта на лентата с инструменти, разположена в горния ред на отчета, можете да го запишете във файл или да го отпечатате.