Будь умным!


У вас вопросы?
У нас ответы:) 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. Introduction ldquo;Everything should s fr s possible be plced before the senses
2. Анатомия слухового анализатора
3. 20 лет правового государства в России Этап 1 прохождение тестирования 1.
4. . А~дар~а ж~не олардан шы~~ан тегіне сенетін ежелгі дін т~рі
5. Внутренний фотоэффект в полупроводниках
6. Психологические основы формирования и развития профессионально важных качеств сотрудников органов внутренних дел
7. Банковский маркетинг- проблемы и перспективы
8. О валютном регулировании и валютном контроле1
9. задание 1
10. реферат дисертації на здобуття наукового ступеня кандидата медичних наук Одеса 1999.
11. 102013 по 27122013 з-п Найменування заходів Терм
12. Противопожарная безопасность жилых зданий
13. І. С початку з~явилося картинне письмо піктографія- якусь подію зображали в вигляді малюнка пізніше.html
14. Тема 9 Недійсність правочинів у цивільному праві Основні питання для підготовки- Поняття недійсно
15. Опека и попечительство
16. Реферат- Движение - это жизнь и здоровье
17. Лекция Драматургия А
18. 10.2009 Голова- проф
19. Варіант 1 1 Вперше поняття ldquo;керування документацієюrdquo; у вітчизняних нормативних актах з~явилося-
20. Социальное партнёрство