- •Базы данных в Delphi Оглавление
- •Глава I. Базы данных в Delphi 3
- •Глава II. Наборы данных 11
- •Глава I. Базы данных в Delphi
- •1.1. Ведение в базы данных
- •1.2. Таблицы баз данных.
- •1.3. Таблицы формата dBase и Paradox
- •Сравнительная характеристика dBase и Paradox
- •1.4. Практическая работа
- •1.5. Самостоятельная работа
- •Глава II. Наборы данных
- •2.1. Набор данных
- •2.2. Практическая работа
- •2.3. Самостоятельная работа
- •2.4. Режимы наборов данных
- •2.5. Практическая работа
- •2.6. Перемещение по записям набора данных
- •2.7. Практическая работа
- •2.8. Доступ к полям
- •2.9. Практическая работа
- •2.10. Практическая работа
- •2.11. Способы задания состава полей набора данных
- •Редактор полей
- •2.12. Вычисляемые поля
- •2.13. Практическая работа №7
- •Глава III. Индексирование баз данных
- •3.1. Установка текущего индекса
- •3.2. Сортировка набора данных
- •3.3. Практическая работа
- •Глава IV. Фильтрация записей
- •4.1. Фильтрация по выражению
- •4.2. Практическая работа
- •4.3. Практическая работа
- •4.4. Фильтрация по диапазону
- •4.5. Самостоятельная работа
- •Глава V. Поиск записей в наборе данных.
- •5.1. Поиск записей
- •5.2. Поиск записей по нескольким полям.
- •5.3. Практическая работа
- •Глава VI. Модификация набора данных
- •6.1. Редактирование записей
- •6.2. Добавление записей
- •6.3. Удаление записей
- •6.4. Практическая работа
- •Глава VII. Работа со связанными таблицами
- •7.1. Организация связей между таблицами
- •7.2. Практическая работа
- •7.3. Самостоятельная работа
- •Глава VIII. Работа с отчетами
- •8.1. Объект QuickRep
- •8.2. Компоненты, размещаемые в полосе
- •8.3. Практическая работа
7.3. Самостоятельная работа
Создать БД «Музыкальная картотека» по примеру предыдущей практической работы
Глава VIII. Работа с отчетами
8.1. Объект QuickRep
Отчет – это печатный документ, содержащий данные из таблиц или текстовых файлов.
Компоненты, предназначенные для создания отчетов, находятся на странице QReport Палитры компонентов. Большинство из них визуальные и похожи на компоненты страниц Standard, Additional, Data Controls.
Главным элементом отчета является компонент-отчет QuickRep – это основа, на которой размещаются другие компоненты. Он обычно размещается на отдельной форме, предназначенной для создания отчета.. При помещении на форму компонент QuickRep имеет вид страницы формата А4, масштаб которой можно изменить (свойство Zoom типа integer (по умолчанию – 100 %))
Помимо компонента QuickRep на форме размещают тот НД Table, для которого создается отчет.
Компонент QuickRep связывается с НД Table, для которого создается отчет, с помощью свойства DataSet, в котором выбирается имя НД, для которого создается отчет (например, Table1). При печати отчета в процессе выполнения приложения НД должен быть открыт. Если перед печатью отчета пользователь произвел фильтрацию или сортировку записей, то в распечатанный отчет попадут отфильтрованные или отсортированные записи НД.
Отчет состоит из отдельных полос – составных частей отчета, которые определяют содержание и вид созданного документа. Полоса – это составной элемент отчета. Каждая полоса размещается на своем месте и предназначена для отображения соответствующих компонентов отчета и вывода данных.
При построении отчета на форму помещается компонент QuickRep и связывается с НД Table с помощью свойства DataSet. Потом компоненты QRBand (полосы) в соответствующем порядке. Свойство BandType определяет тип вставляемой полосы:
rbTitle – заголовок отчета (печатается вначале отчета под верхним колонтитулом);
rbPageHeader – верхний колонтитул, который печатается сверху на каждой странице;
rbDetail – данные записей НД; выводятся для каждой записи НД;
rbPageFooter – нижний колонтитул; печатается внизу на каждой странице;
rbSummary – итог отчета; выводится в конце отчета под всеми другими сведениями отчета, но выше нижнего колонтитула;
rbSubDetail – данные подчиненного НД для отчета “мастер-детальный”;
rbColumnHeader – заголовки столбцов; печатаются один раз на каждой странице над данными.
При создании в отчет нужно включать не более одной полосы каждого вида, так как при печати отчета «лишние» полосы одного и того же вида учитываться не будут.
Каждая полоса может иметь рамку, которой управляет свойство Frame.
Страница отчета тоже может иметь рамку, параметры которой задает свойство Frame компонента QuickRep. Рамку можно установить и с помощью диалогового окна изменения параметров страницы отчета (двойной щелчок по компоненту QuickRep или контекстное меню компонента QuickRep→Report Settings).
Для печати отчета предназначен метод Print, сразу после вызова которого отчет подготавливается к печати и направляется на установленный в системе принтер. Метод Print может вызываться, например, при нажатии кнопки «Печать», расположенной на форме, с которой пользователь работает. Для этой кнопки можно написать следующий обработчик события:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
QuickRep1.Print;
end;
Если компонент-отчет QuickRep связан с НД, записи которого находятся в сетке DBGrid формы, то порядок записей отчета соответствует порядку записей, видимых пользователем на форме. После фильтрации или сортировки при печати отчета учитывается новый состав и порядок следования записей.
Для предварительного просмотра отчета перед печатью служит метод Preview компонента QuickRep, вызывающий окно просмотра. В этом окне можно:
просмотреть отчет в различных масштабах;
сохранить отчет в файле;
загрузить предварительно сохраненный отчет;
направить отчет на печать.
Пример
Table1.Preview; – команда для кнопки «Предварительный просмотр».
На этапе разработки приложения также можно просмотреть отчет, выполнив команду Preview контекстного меню компонента QuickRep. Внешний вид отчета будет таким же, как при печати или в окне просмотра при выполнении приложения, за исключением отсутствия значений вычисляемых полей.
