Инфоурок / Информатика / Конспекты / Создание отчетов в Delphi

Создание отчетов в Delphi



Московские документы для аттестации!

124 курса профессиональной переподготовки от 4 795 руб.
274 курса повышения квалификации от 1 225 руб.

Для выбора курса воспользуйтесь поиском на сайте KURSY.ORG


Вы получите официальный Диплом или Удостоверение установленного образца в соответствии с требованиями государства (образовательная Лицензия № 038767 выдана ООО "Столичный учебный центр" Департаментом образования города МОСКВА).

ДИПЛОМ от Столичного учебного центра: KURSY.ORG


библиотека
материалов

Лабораторная работа№ 15

Создание отчетов в Delphi

С.В. Каверин

Цель работы: Научиться создавать отчеты к базам данных в среде программирования Delphi используя экспортирование данных в Excel.

Постановка задачи. Интерфейс рабочего окна формы «Отчет по товарам», приведен на рисунке 1.

hello_html_m28e49e74.png

Рисунок 1 – Интерфейс окна формы «Отчет по товарам»

Отчет будет содержать шесть столбцов. Данные для отчета берутся из сетки DBGrid1, записи которой формируются SQL-запросом в DBQuery3 при создании Form6 (событие FormCreate). Запрос содержит семь полей из таблиц Товары, Поставщик и Поставка.

Код SQL-запроса (в название поля включается название таблицы):

hello_html_m29acdf06.png

Поле Товары.Описание в Отчет не входит.

Значение полей выделенной курсором записи отображаются в компонентах DBEdit1- DBEdit6 и DBМемо1 (для поля Описание). В компонентах Label прописан поясняющий текст (синим и красным цветом).

Записи отсортированы по полю НаименованиеТовара.

1 Создание окна «Отчет по товарам»

Действия, проводимые ниже, более подробно рассматриваются в лабораторной работе №14.

1.1 Создаем Form6 (File -> New-> Form-Delphi), сохраняем как Unit6.

1.2 Устанавливаем свойство Form6.Caption = Отчет по товарам.

1.3 Знакомим Form6 с Form1 и DatMod (с помощью File->Use Unit..).

1.4 Переходим на Form1. В Меню приложения добавляем новую закладку Отчеты -> Отчет по Товарам.

1.5 Дважды кликаем по пункту меню Отчет по Товарам и в обработчике события OnClick пишем код:

hello_html_m4bc07281.png

1.6 Переходим на Form6. Положите на Form6 компонент DBMemo (закладка Data Controls), шесть компонент DBEdit (закладка Data Controls), сетку DbGrid (закладка Data Controls), семь меток Label (закладка Standard) с соответствующими надписями синего цвета и кнопку Button (закладка Standard) с надписью «Создать отчет Excel». Расположите выбранные компоненты также, как на рисунке 1.

1.7 Сохраняем проект (File -> Save All) и компилируем (F9).

2 Создание запроса «Отчет по товарам»

2.1 На модуль dm положите компонент ADOQuery ((закладка dbGo) и источник DataSource (закладка DataAccess), которому дайте имя dsQuery3.

2.2 Устанавливаем свойства

  • Для ADOQuery3: свойство Connection=ADOConnection1.

  • Для dsQuery3: свойство DataSet = ADOQuery3.

2.3 Переходим на Form6 и выделяем DbGrid1. В инспекторе DbGrid1 установите свойство DataSource = dsQuery3.

2.4 Переходим на dm. Выделяем компонент ADOQuery3 и кликаем в свойстве SQL по строке TWideStrings. В окне редактора SQL-запросов пишем код для отчета по товарам (см. рисунок 2). Нажимаем OK.

hello_html_4f12c00c.png

Рисунок 2 – Окно редактора SQL-запросов с кодом

2.5 В Инспекторе ADOQuery3 устанавливаем свойство: Active = True.

2.6 Сохраняем проект (File -> Save All) и компилируем (F9).

2.7 Переходим на Form6 и выделяем DBMemo1. Устанавливаем свойства:

  • DataSource = dm.dsQuery3 // Выбираем источник данных.

  • DataField = Описание // Выбираем нужное поле из запроса.

2.8 Выделяем DBEdit1. Устанавливаем свойства:

  • DataSource = dm.dsQuery3 // Выбираем источник данных.

  • DataField = КодТовара // Выбираем нужное поле из запроса.

2.9 Аналогично установите свойства для DBEdit2- DBEdit6.

2.10 По желанию можно провести форматирование колонок в DBGrid1.

2.11 В ADOQuery3 проверьте свойство: Active = True.

2.12 Сохраняем проект (File -> Save All) и компилируем (F9).

Окончательный вид окна «Отчет по товарам» приведен на рисунке 3.

hello_html_7708034e.png

Рисунок 3 – Вид окна «Отчет по товарам»

3 Создание отчета в Excel

При нажатии на кнопку «Создать отчет в Excel» данные из DBGrid1 должны быть импортированы в Книгу Excel. Передача данных осуществляется по Com-технологии. Функции для работы с Com-объектами находятся в модуле ComObj, которых необходимо будет подключить к приложению.

3.1 Переходим на Form6. Выделяем Button1 (Создать отчет в Excel).

3.2 Создаем обработчик события OnClick компонента Button1 (двойным щелчком по кнопке) и переходим в редактор кода (окно Code).

3.3 В блок Uses добавляем модуль ComObj.

hello_html_272709b9.png

3.4 В процедуре обработки события Button1Click пишем код с подробным комментарием:

hello_html_m3c6ce0a4.png

hello_html_5087d204.png

hello_html_5087d204.png

Замечание. При вводе кода некоторых свойств будут идти сообщения типа «Неизвестный...», путем красного эффекта подчеркивания. Это просто Delphi пока не видит листов и ячеек созданной книги Excel.

3.5 Сохраняем проект (File -> Save All) и компилируем (F9).

3.6 Запустите проект. Выберите пункт Отчеты->Отчет по товарам и нажмите кнопку Создать отчет в Excel. Появится книга Excel (см. рисунок 4) с одним листом Отчет, который можно редактировать и сохранить.

hello_html_38b10b6e.png

Рисунок 4 – Вид отчета в Excel

4 Задания для самостоятельной работы

Усовершенствуйте проект своего варианта задания, организуя выборку данных SQL-запросом, и созданием отчета в Excel по этим данным.

Литература

Фленов М.Е. Библия Delphi //СПб.: БХВ-Петербург.-2011.-688с.


Очень низкие цены на курсы переподготовки от Московского учебного центра для педагогов

Специально для учителей, воспитателей и других работников системы образования действуют 65% скидки при обучении на курсах профессиональной переподготовки.

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Подайте заявку на интересующий Вас курс сейчас: KURSY.ORG


Общая информация

Номер материала: ДБ-146853

Похожие материалы