Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Методичка - Організація баз даних і знань.doc
Скачиваний:
60
Добавлен:
02.05.2014
Размер:
631.3 Кб
Скачать

Лабораторна робота №12

Побудова звітів

Мета:Вивчення методів побудови простих та складних звітів.

Завдання:

  1. створення простих звітів з використанням математичних обчислень;

  2. групування даних у звіті;

  3. побудова звітів на основі декількох зв’язаних таблиць;

  4. побудова композитного звіту.

Примітка:звіти будуються як на основі однієї таблиці, так і на основі декількох зв’язаних таблиць.

Обов’язкові засоби:TQuickRep, TQRBand, TQRSubDetail, TQRGroup, TQRExpr, TQRSysDate, TQRChart, TQRLabel, TQR DBText.

Зміст звіту:

  1. Опис НД, який є основою для формування звіту.

  2. Опис форми звіту.

  3. Аналіз результатів роботи.

Порядок виконання роботи

В Delphiна сторінці палітри компонентівQReportрозміщено біля двох десятків компонентів, які застосовуються для побудови звітів.

Головним компонентом є TQuickRep, який визначає поведінку звіту в цілому. Інші компоненти визначають стан частини звіту.

Компоненти для побудови звітів

  • TQRBand– заготовка для розміщення даних, заголовків тощо. Звіт в основному складається з компонентівTQRBand, які реалізують:

  • області заголовка: звіту, сторінки, групи;

  • область назв стовпців звіту;

  • область детальних даних, призначену для відображення даних самого низького рівня деталізації;

  • область підвалу групи, сторінки, звіту;

  • TQRSubDetail– визначає область, в якій розміщуються дані підлеглої таблиці при реалізації в звіті зв’язкуMaster-Detailна основі існування зв’язку між ТБД;

  • TQRGroup– використовується для групування даних у звіті;

  • TQRLabel – дозволяє розташовувати в звіті статичний текст;

  • TQRDBText - дозволяє розташовувати в звіті зміст поля набору даних;

  • TQRExpr – застосовується для виводу значень, що є результатом обчислення виразу;

  • TQRMemo - призначений для введення в звіт змісту полів коментаріїв;

  • TQRRichText - призначений для введення в звіт змісту поля форматованих коментарів;

  • TQRShape - призначений для введення в звіт графічних фігур;

  • TQRImage - призначений для введення в звіт графічної інформації;

  • TQRChart– призначений для введення в звіт графіка.

Побудова простих звітів

Компоненти TQuickRepіTQRBandє мінімально достатніми для побудови простого звіту, який не містить у собі групової інформації.

Для того, щоб побудувати простий звіт, складений із заголовка і відомостей, необхідно розмістити на формі компонент TTable(імяTable1), пов’язаний з відкритою таблицею БД (встановити властивістьActive=true). Розмістити на формі компонентTQuickRep(ім’яQuickRep1). Встановити властивістьDataSetзвіту, вказавши ім’я НД, на основі якого буде сформовано звіт. Додати на форму звіту компонентTQRBand(ім’яQRBand1). ВластивістьBandTypeкомпонентаQRBand1 встановлена в значенняrbTitle. Таким чином компонентQRBand1визначає заголовок звіту. Розмістити в просторі звіту, зайнятомуQRBand1, компонентTQRLabel(статичний текст) з іменемQRLabel1.

Групування даних в звіті

Для групування інформації використовується компонент TQRGroup. Його властивістьExpressionвказуєвираз. Група формується із записів НД, які задовольняють умові виразу. При зміні значення виразу відбувається зміна групи. Для кожної групи виводяться заголовок групи і підвал групи, якщо вони визначені. В якості заголовка групи служитьTQRBandзі значенням властивостіBandType, рівнимrbColumnHeader. Для формування підвалу групи використовуєтьсяTQRBandзі значенням властивостіBandType, рівнимrbGroupFooter.

Властивість FooterBandкомпонентаTQRGroupмістить посилання на компонент підвалу групи.

В заголовку групи зазвичай вказується вираз, за яким відбувається групування, а також заголовки, якщо вони потрібні. У підвалі групи зазначається агрегована інформація – сумарні, середні значення по групі тощо.

Приклад: Побудувати звіт про факультети з групуванням даних по групам.

Форма звіту:

Результат побудови звіту: