В начало

Отчет «Действующие скидки»

 

            Задание: нужно создать отчет «Действующие скидки» по БД «Skidki.gdb» в среде «Дельфи 7» с помощью набора компонентов «Rave», иначе говоря нужно создать rave-отчет.

            Первым делом запускаем среду разработки «Дельфи 7» и перетаскиваем на главную форму приложения компоненты, которые предоставят нам возможность подключиться к базе данных, написанной в СУБД «Interbase 6.5», они находятся на закладке компонентов «Interbase»: IBDataBase, IBTransAction, IBQuery. Настраиваем компоненты.

Название компонента

Его свойство и выставляемое значение

IBDataBase1

DataBaseName = «C:\INTERBASE\SKIDKI.GDB»

LoginPrompt = False

DefaultTransAction = IBTransAction1

Params = user_name=SYSDBA

                password=masterkey

                lc_ctype=WIN1251

IBTransAction1

Можно ничего не задавать

IBQuery1

DataBase = IBDataBase1

TransAction = IBTransaction1

SQL = «SELECT * FROM Skidki WHERE Status='Действует

            Причем простейший запрос вида:

SELECT *

FROM Skidki

WHERE Status='Действует'

            Вызывает ошибку, если в параметре «Params» компонента «IBDataBase1» нет строки с кодировкой «lc_ctype=WIN1251». И кавычки должны быть одинарные, а не двойные или обратные.

Рис. 1. Ошибка на транслитерацию

Рис. 1. Ошибка на транслитерацию

 

            Короче, после того как подключились к БД «Skidki.gdb» и проверили запрос на выполнение, можно создавать rave-отчет. Для этого переходим на панель компонентов, на закладку «Rave». Выбираем следующие компоненты и перетаскиваем их на главную форму приложения: RvSystem, RvProject, RvDataSetConnection. Настраиваем их.

Название компонента

Его свойство и выставляемое значение

RvSystem1

Можно не настраивать

RvProject1

Engine = RvSystem1

ProjectFile = «C:\RAVE\Действующие скидки.rav»

RvDataSetConnection1

DataSet = IBQuery1

            Далее переходим в главное меню «ToolsRave Designer», после этого откроется окно редактора отчетов. Создаем новый отчет, задаем ему имя «Действующие скидки».

После этого переходим на закладку «Report» и перетаскиваем область отчета «Region component». Затем с этой же закладки на «Region1» перетаскиваем две области типа «Band» и одну «DataBand».

Потом в главном меню выбираем «FileNew Data Object», а в появившемся окне «Direct Data View». При этом в правом вертикальном окне отобразятся поля таблицы «Skidki».

Рис. 2. Дерево объектов в правом окне редактора отчетов

Рис. 2. Дерево объектов в правом окне редактора отчетов

 

            После этого на области типа «Band» нужно перетащить компоненты типа «Text», а на область «DataBand» компоненты типа «DataText». У компонентов, работающих с данными нужно выставить свойства «DataView» и «DataField».

Рис. 3. Расположение элементов отчета в редакторе

Рис. 3. Расположение элементов отчета в редакторе

 

            Отчет можно посмотреть из редактора, нажав кнопку «F9» или из приложения, перетащив предварительно кнопку на форму приложения и разместив в обработчике код.

Procedure TForm1.Button1Click(Sender: TObject);

Begin

   IBQuery1.Active:=True;

   RvProject1.Open;

   RvProject1.Execute;

End;

            Далее проверяем полученный отчет.

Рис. 4. Готовый отчет «Действующие скидки»

Рис. 4. Готовый отчет «Действующие скидки»