Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема 42 Создание отчетов в среде FstReport 4

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.11.2024

PAGE  8

Раздел 4. Проектирование процессов вывода информации

Тема 4.2. Создание отчетов в среде FastReport 4.0

Практические занятия 7, 8

Содержание

  1.  Создание отчета «один-ко-многим»
  2.  Создание отчета при помощи SQL запроса

1. Создание отчета "один-ко-многим" 

При помощи средств FastReport 4.0 можно также создавать сложные отчеты. Такой отчет должен быть связан как минимум с двумя просмотрами, которые находятся в отношении "один-ко-многим".

Постановка задачи

Создать отчет, выводящий список поставщиков с соответствующими поставками для базы данных fabrika (Кондитерская фабрика).

Технология выполнения

1. Рассмотрим схему базы данных fabrika и определим, сколько пар компонентов необходимо предусмотреть для формирования отчета (до родительских форм, даже если они не используются в отчете, рис.1). В нашем случае их будет 3.

Рис.1. Таблицы, необходимые для формирования сложного отчета.

2. Создать пары элементов TFrxDBdataSet  и Tfrxreport (вкладка Fast Report 4), расположить их на поверхности той формы, которая вызывает создаваемый отчет, и установить соответствующие свойства.

таблица

Свойства

TFrxDBdataSet

TFrxreport

Postavshiki

DataSet

Name

dataBD.ADOPostavshik

frxPostavshik

frxreportPostavshik

Postavka

DataSet

Name

dataBD.ADOPostavka

frxPostavka

frxreportPostavka

Surie

DataSet

Name

dataBD.ADOSurie

frxSurie

frxreportSurie

Рис.2. Главная форма, вызывающая отчет о поставщиках.

3. Правой кнопкой мыши выделить элемент frxreportPostavka + Edit report – при вызове отчета будем ссылаться на этот элемент.

4. Подключить набор данных: report + data + необходимые флажки + ОК.

Рис.3. Подключение набора данных.

5. Подключить дерево объектов: View + Toolbars + data Tree (рис.4).

Рис.4. Дерево объектов.

6. Слева на панели инструментов выделить объект Insert Band  + report Title. Расположить в нем объект Picture Object и выбрать рисунок, сохраненный предварительно в папке с приложением, созданном в Turbo Delphi. Также расположить элемент Text Object и прописать «Список постоянных поставщиков фабрики».

7. Расположить в отчете полосу Master data (Insert  Band + master data), подключить ее к соответствующему элементу frxPostavshik (рис.5).

Рис.5. Подключение к набору данных.

С помощью мыши перетащить с набора данных необходимые поля и сверху в полосе report Title оформить соответствующие надписи (для того чтобы эти надписи появились один раз в отчете).

9. Расположить полосу Detail data (Insert  Band + detail data), подключить ее к соответствующему элементу frxSurie(рис.5).

В полосе Detail data расположить: name, ed_izm, price с объекта frxSurie.  

10. Правой кнопкой мыши щелкнуть по полосе Detail data и выбрать команду Add Child band и присоединить ее к frxPostavka.

Рис.6. Добавление подчиненной полосы.

11. На созданных полосах расположить следующие поля (методом перетаскивания с data Tree).

Child Band: data_post, kolvo, summa_post. Объясняющие надписи расположить объясняющие надписи в  предыдущей полосе (рис.7).

Рис.7. Отчет в конструкторе.

12. Запустить на предварительный просмотр кнопкой предварительного просмотра или клавишей F9 (рис.8).

Рис.8.Отчет в режиме просмотра.

13. В главном меню приложения предусмотреть пункт Поставки поставщиков в разделе Отчеты из которого вызвать созданный отчет, прописав строку:

frxreportpostavka.ShowReport;

2. Создание отчетов при помощи SQL запроса

Постановка задачи

Для базы данных fabrika (Кондитерская фабрика) создать форму, содержащую кнопки вывода формируемых отчетов.  Выбор фамилий клиентов или  выбор товара, с указанием всех клиентов, купивших данный товар, происходит при помощи раскрывающихся списков, расположенных на форме (рис.9).

Рис.10. Таблицы базы, необходимые для формирования отчетов.

Технология выполнения

Для создания новой формы, содержащей требуемые списки вывода формируемых отчетов, необходимо в модуле UnitBD создать элементы связи с наборами данных базы данных. Таких компонентов – 4 пары (по числу таблиц).

1. В модуле UnitBd  расположим элементы связи с наборами данных, необходимых для создания формы (рис.10, 11). Для отчета необходимо создать следующие элементы.

Таблицы базы

Tovar

Klient

Prodaga

Sort

ADOTable

Name

ADOOtchetTovar

ADOOtchetKlient

ADOOtchetProdaga

ADOOtchetSort

Connection

ADOfabrika

ADOfabrika

ADOfabrika

ADOFabrika

TableName

Tovar

Klient

Prodaga

Sort

Active

True

True

True

True

DataSourse

dataSet

ADOOtchetTovar

ADOOtchetKlient

ADOOtchetProdaga

ADOOtchetSort

Name

dataOtchetTovar

dataOtchetKlient

DataOtchetProdaga

DataOtchetSort

Рис.11. Компоненты в UnitBd.

2. Создайте форму FormOtchetprodaga (модуль UnitOtchetProdaga), установите свойство FormStyle=fsMDIChild, подключите модуль UnitBd. Выполните стандартные действия с дочерней формой.

3. В главной форме предусмотрите в разделе Отчеты пункт Продажа товара. Данный пункт будет вызывать форму FormOtchetprodaga.

4. Добавьте на общий модуль UnitBD  компонент ADOQuery1(вкладка dbGo) для общей видимости данного запроса.

Для компонента ADOQuery1 необходимо  установить свойства:

Name = QueryOtchetProdaga

Connection = ADOfabrika

dataSource = DataBD.DataOtchetKlient

SQL:

select *

from prodaga, Tovar, klient, surie

Active = true

5. Добавьте в модуль UnitBD компонент DataSource (вкладка Data Access), установите его свойства

DataSet = QueryOtchetProdaga

name=dataQueryotchetProdaga.

6. Расположить на форме, вызывающий отчет, элементы, связанные с формированием отчета.

таблица

Свойства

TFrxDBdataSet

TFrxreport

Klient

DataSet

Name

dataBD.ADOOtchetKlient

frxKlient

reportKlient

Prodaga

DataSet

Name

dataBD.ADOOtchetProdaga

frxProdaga

reportProdaga

Tovar

DataSet

Name

dataBD.ADOOtchetTovar

frxTovar

reportTovar

Surie

DataSet

Name

dataBD.ADOOtchetSurie

frxSurie

reportSurie

7. Расположить на форме элементы DBLookUpComboBox и установить для них соответствующие свойства, выводящие список наименований клиентов или товара.

Рис.12. Форма FormOtchetProdaga в конструкторе.

7. Правой кнопкой мыши выделить элемент reportProdaga + Edit report – при вызове отчета будем ссылаться на этот элемент.

8. Подключить набор данных: report + data + необходимые флажки + ОК.

Рис.13. Подключение набора данных.

9. Подключить дерево объектов: View + Toolbars + data Tree.

10. Слева на панели инструментов выделить объект Insert Band + report Title. Расположить в нем объект Picture Object и выбрать рисунок, сохраненный предварительно в папке с приложением, созданном в Turbo Delphi. Также расположить элемент Text Object и прописать «Продажа товара клиентам фабрики».

11. Расположить в отчете полосу Master data (Insert  Band + master data), подключить ее к соответствующему элементу frxKlient.

12. Расположить полосу Detail data (Insert  Band + detail data), подключить ее к соответствующему элементу frxProdaga.

13. На созданных полосах расположить следующие поля (методом перетаскивания с Data Tree).

В полосе masterData1: name, fam, otch с объекта frxKlient, а также расположить текстовые названия данных полей.

В полосе DetailData: data_post, kolvo, summa_post. Объясняющие надписи расположить в полосе Masterdata

15. Расположите на форме FormOtborProdaga кнопку Отчет по клиентам и прописать код:

databd.QueryKlient.Active:=false;

dataBD.QueryKlient.SQL.Clear;

dataBD.QueryKlient.SQL.Add('SELECT *');

dataBD.QueryKlient.SQL.Add('from klient, tovar, prodaga');

dataBD.QueryKlient.SQL.Add('where klient.id_klient=prodaga.id_klient and tovar.id_tov=prodaga.id_tov and klient.fam like '''+ edit1.Text+'''');

dataBD.QueryKlient.Active:=true;

reportprodaga.showreport;

16. Предусмотрим создание отчета для вызова из раскрывающегося списка «выберите товар».

Правой кнопкой мыши выделить элемент reportTovar + Edit report – при вызове отчета будем ссылаться на этот элемент.

Повторить все пункты 8 – 15 для создания отчета, подсоединив полосу MasterData к компоненту frxTovar. Остальное самостоятельно.




1. В современном обществе огромное значение приобрели массовая и элитарная культуры
2. реферат Гимнастика Содержание [0
3. кадровый аудит это экспертиза состояния дел в части управления персоналом включающая систему мероприятий
4. Реферат- Экспедиция Ермака и присоединение Сибири
5. таможенная территори
6. Ловкий делец от журналистики на бесчестную голову которого были обрушены десятки беспощадных эпиграмм луч
7. прежде всего черная металлургия
8. Транссибирская магистраль
9. ФинансовЫЙ УНИВЕРСИТЕТ при Правительстве Российской Федерации Финансовый университет Липецкий фил
10. Рабочий портфолио ученикапервоклассника 1
11. Маркетинговое обоснование производства проектируемой модели диаграммы
12. Виды и органы финансового контроля
13. 16 Экономика предприятия
14. МНОГО ХЛЕБА БЫВАЕТ И НА НИВЕ БЕДНЫХ Часто от людей можно услышать что жизнь не справедлива
15. Лекция 10 Семейное право
16. На тему- Уровень жизни населения и проблемы его измерения Выполнила студентка Гуманитарного фа
17. Музыкальное воспитание детей младшего школьного возраста
18. Методика расчета налоговых обязательств
19. Определение витамина В12 в биологических объектах
20. Упражнения в определении склонений имен существительных