Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Order By R. R_zn




FROM Knigi K, Razd_zn R

Список книг

Создание отчета с группировкой записей по определенному полю

 

Предположим, что существует следующее задание:

Создать отчет на основе таблицы «Книги», записи сгруппировать по области знаний, рассчитать стоимость книг по каждому шифру книги, по группе записей из одинаковой области знаний и ведомости в целом:

Шифр книги Название Авторы Кол-во экз. Цена Стоимость книг
Область знаний
           
           
Итого  
Общий итог  

Порядок создания отчета с группировкой записей следующий.

1. Первоначально, следует создать запрос на выборку данных из таблиц Разделы знаний (Razd_zn) и Книги (Knigi) с созданием вычисляемого поля «Стоимость книг» и сортировкой данных по полю «Область знаний».

Чтобы создать запрос необходимо поместить на модуль данных компонент ADOQuery из закладки ADO. Для данного компонента настроить следующие свойства: в свойстве Connection выбрать ADOConnection1; в свойстве SQL щелкнуть по кнопке и в открывшемся окне набрать запрос на языке SQL; в свойстве Active выбрать true

В данном примере в свойстве SQL компонента можно ввести запрос следующего вида (щелкнув по кнопке …):

SELECT R.R_zn, K.Sh_kn, K.Nazv, K.Avt, K.Kol_ikz, K.Zena, (K.Zena*K.Kol_ikz) As Stoim

Where K.Kod_r = R.Kod_r

 

Во вкладке Events модуля данных для программной активации запроса необходимо в событии onCreate в процедуре обработки события дописать:

ADOQuery1.Active:= true;

Номер компонента может быть отличным от единицы.

 

2. После создания запроса следует поместить на главную форму (где находится меню) компонент RvDataSetConnection1 из закладки Rave. В его свойстве DataSet необходимо выбрать имя_модуля_данных.ADOQuery. Предварительно в тексте программы для главной формы в разделе implementation необходимо выставить uses unit2 (если модуль данных был создан вторым).

 

3. Затем необходимо перейти в утилиту создания отчетов RaveDesigner, выбрав пункты меню Tools/Rave Designer.

Дальнейшие действия осуществляются утилитой Rave Designer.

 

4. Если при загрузке Rave Designer открылся какой-то отчет, то следует выбрать пункт меню File/New. Откроется окно создания нового отчета.

Следующий шаг – создание источника данных для отчета. Для этого выбирают пункт меню File/New Data Object. В открывшемся окне со списком необходимо выбрать Direct Data View и нажать кнопку «Next». В появившемся окне следует выбрать RvDataSetConnection1 и нажать кнопку «Finish».

 

5. Далее необходимо сформировать структуру отчета. На пустую область отчета следует поместить компонент Region из закладки Report - . Все компоненты структуры данных отчета будут наноситься на этот компонент. Компонент Region (серого цвета) следует растащить по всему белому листу, оставив небольшие белые поля.

 

6. На компонент Region нужно поместить несколько компонентов Band и один компонент DataBand из закладки Report - и в следующем порядке.

Band1 – здесь будет размещаться заголовок отчета;

Band2 – шапка таблицы отчета;

Band3 – значение поля группировки данных отчета;

DataBand1 – данные отчета;

Band4 - итог по группам данных отчета;

Band5 – общий итог по данным отчета.

 

7. Теперь необходимо настроить свойства компонентов структуры отчета.

Для компонента Band1 следует выбрать свойство BandStyle и щелкнуть по кнопке . В открывшемся окне в группе опций Print Location надо включить опцию Body Header. Аналогично следует включить опцию:

для Band2 – Row Header;

для Band3 – Group Header;

для Band4 – Group Footer;

для Band5 – Body Footer.

Для компонента DataBand1 необходимо в свойстве DataView указать значение DataView1 (или DataView2, в зависимости от имени источника данных).

 

8. На компонентах Band1 и Band2 (заголовок и шапка таблицы отчета) следует разместить компоненты Text из закладки Standard () и задать им необходимые значения (например: в свойстве Text указать название; в свойстве Font выбрать шрифт MS Sanc Serif и другие характеристики шрифта; в свойстве FontJustify указать выравнивание). Для прорисовки шапки таблицы следует воспользоваться компонентами HLine и VLine из закладки Drawing ( и ).

 

9. Для настройки заголовка и итога группы используют компоненты Band3 и Band4. В свойстве GroupDataView обоих компонентов следует указать DataView1 (или другой источник данных), а в поле GroupKey – R_zn (R_zn - это поле «Раздел знаний», по которому будет осуществляться группировка данных). В поле ControllerBand следует указать DataBand1 (область данных, которая будет группироваться).

Для вывода на экран значения поля группировки на компонент Band3 следует поместить компонент DataText из закладки Report (). В его свойствах DataView и DataField следует указать источник данных (DataView1 или какой-то другой) и R_zn соответственно.

10. На компоненте DataBand1 следует разместить компоненты DataText для отображения значений полей данных таблицы. В его свойствах DataView и DataField следует указать источник данных (DataView1 или какой-то другой) и выбрать имя поля из списка. Также для подсчета итоговой суммы по полю «Стоимость» на DataBand1 следует поместить компонент CalcController из закладки Report (). Он является невидимым компонентов – к его свойствам можно обратиться только через дерево объектов (находится в правой части экрана). В данном случае, изменение свойств этого компонента не требуется.

11. На компоненте Band4 (итог по группам) следует разместить компонент CalcText из закладки Report (). В его свойстве DataView следует указать источник данных (DataView1 или какой-то другой), в свойстве DataFieldStoim (поле «Стоимость»), в свойстве ControllerCalcController1 (чтобы связать поле с областью данных).

12. Аналогичные операции следует проделать и на компоненте Band5 (общий итог), поместив на нем компонент CalcText (настройки его свойств будут такими же).

13. Можно также добавить ряд поясняющих надписей (компонент Text).

14. Далее следует сохранить отчет с помощью команды меню File/Save, задав файлу проекта какое-либо имя (например Project1. rav или Project2. rav, или какое-то другое).

Закрыть утилиту RaveDesigner и вернуться в Delphi.

Вид отчета в режиме редактирования представлен на рис. 5.1.

 

Рис. 5.1. Вид отчета в режиме редактирования

 

15. Затем следует поместить на форму, где находится главное меню, компонент RvProject из закладки Rave (). В его свойстве ProjectFile следует указать имя файла проекта отчета и путь к нему.

 

16. Создать в программе обработчик нажатия какой-либо кнопки или выбора пункта меню, вызывающего отчет, и включить в него следующую строчку:

RvProject1.Execute;

 

После запуска программы при выборе пункта меню, вызывающего отчет, или при щелчке по кнопке появится окно просмотра отчета (рис. 5.2).

Для формирования автоматического поиска места нахождения отчета (файл отчета должен быть сохранен в папке вместе с проектом и файлом project1) необходимо для формы, где вызывается отчет, на событии формы onShow создать следующую процедуру:

Var

Path: string;

Begin

Path:= ExtractFilePath(Application.ExeName);

RvProject1.ProjectFile:= Path + ‘Project1.rav’;

End;

 

В данном тексте Project1.rav – имя файла отчета.

 

 

Рис. 5.2. Окно просмотра отчета

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 661; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.