- •Базы данных.
- •Проектирование базы данных
- •Шаги проектирования базы данных
- •Создание таблиц базы данных
- •Компоненты для работы с бд
- •Создание простейшего приложения
- •Режимы наборов данных
- •Команды навигации
- •Визуальные компоненты для работы с данными
- •Обзор компонент
- •Работа с полями таблицы
- •Создание статических полей
- •Задание ограничений на вводимые значения
- •Компонент Table
- •Сортировка и фильтрация
- •Поиск записей
- •If Table1.Locate ('Number',123,[]) {опции поиска отключены}
- •If not Table1.FindKey([EditGroup.Text,EditName.Text]){ищем соответствующие значения}
- •Связывание таблиц
- •Компонент Query
- •Чтение данных из таблиц (select)
- •Модификация записей (update, insert, delete)
- •Insert into Tovar.Db (Name, Price, Count) values (’Яблоки’, 20, 10)
- •Некоторые функции языка sql
- •Компоненты для построения отчетов
- •Основные свойства компоненты QuickRep
- •Методы компоненты QuickRep:
- •Свойства компоненты qrBand:
- •Создание простого отчета
- •Включение выражений в отчет
- •Отображение системной информации
- •Группировка данных в отчете
- •Построение отчета для связанных наборов данных
- •Комбинированный отчет
- •Упражнения:
-
Свойства компоненты qrBand:
AlignToBottom – позволяет установить полосу непосредственно над подвалом страницы (True) или справа/снизу от предыдущей полосы (False).
BadType – определяет назначение полосы с помощью выбора одного из заданных значений:
-
RbTitle – печатается на первой странице отчета для вывода заголовка отчета;
-
RbPageHeader – печатается вверху каждой страницы и содержит ее заголовок;
-
RbDetail – содержит информацию из набора данных
-
rbPageFooter – хранит подвал страницы и выводится внизу каждой страницы
-
rbSummary – представляет собой подвал отчета и выводится в его конце
-
rbSubDeatil – содержит детальную информацию из подчиненного набора данных в случае связи между несколькими таблицами БД
-
rbColumnHeader – представляет собой заголовки столбцов и размещается на каждой странице отчета после заголовка страницы
-
rbGroupFooter – хранит подвал группы, применяется при группировках информации в отчете и выводится в конце каждой группы
-
rbGroupHeader – содержит заголовок группы и выводится в начале каждой группы
-
rbOverlay – используется для обратной совместимости с предыдущими версиями QuickReport
-
rbChild – резервируется для использования компонентом QRChildBand
Enabled – разрешает печать полосы при значении True.
ForceNewColumn – разрешает печатать полосу в следующей колонке при значении True.
ForceNewPage – разрешает печатать полосу на новой странице при значении True.
HasChild – создает дочернюю полосу при значении True.
-
Создание простого отчета
При создании отчетов достаточно использовать компоненты QuickRep и QRBand.
Пусть дана таблица students.db о данных студентов университета:
-
Nom_stud – номер студенческого билета
-
Fio – Фамилия Имя Отчество
-
Grup – группа
1) Создадим отчет "Список студентов". Для этого на форму поместим Компонент Table, который свяжем с таблицей students.db. Установим свойство Active в True для открытия к значениям полей БД.
2) На форму поместим компонент QuicRep. Установим связь с таблицей, задав свойству DataSet значение Table1.
3) В отчет добавим компонент QRBand. Свойство BandType имеет значение по умолчанию rbTitle, что определяет место под заголовок отчета. Поэтому добавим на него компонент QRLabel и зададим свойству Caption название заголовка "Список студентов". Можно также определить параметры шрифта с помощью свойства Font.
4) Добавим компонент QRBand и его свойству BandType зададим значение rbDetail. В этой полосе будет отображаться содержимое таблицы. Поэтому на нее помещаем три компоненты QRDBText, которые связываем с полями таблицы БД- Nom_stud, Fio, Grup, меняя для каждой компоненты свойство DataSet на Table1, а свойство DataField – имя соответствующего поля.
5) Предварительный просмотр можно осуществить с помощью команды контекстного меню Preview для построенного отчета.
6) Для предварительного просмотра при выполнении программы создадим обработчик события OnCreate для формы:
procedure Tform1.FormCreate(Sender:Tobject);
Begin
QuickRep1.Preview;
End;
7) Для закрытия отчета после закрытия формы используем обработчик события OnAfterPreview для компоненты QuickRep:
procedure Tform1.QuickRepAfterPreview(Sender:Tobject);
Begin
Form1.Close;
End;