Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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




 

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

1. Подготовка формы с полем, содержащим список. Вызов отчета целесообразно осуществить не с главного окна, а из специальной формы. В этой форме должен быть создан список для выбора параметра поиска и кнопка вызова отчета.

Пусть требуется выдать список студентов конкретной группы, шифр которой выбирается из списка. Тогда форма для реализации параметрического запроса и отчета на основе этого запроса может иметь вид, представленный на рис. 5.3.

 

Рис. 5.3. Форма для параметрического отчета в режиме

редактирования

 

В тексте программы для данной формы в разделе implementation необходимо выставить uses unit2 (если модуль данных был создан вторым) для доступа к компонентам модуля данных.

 

На данную форму помещены следующие компоненты:

компонент Label1 (надпись «Выберите шифр группы»);

компонент ComboBox1 (поле с раскрывающимся списком);

компонент Button1 (кнопка Вывести отчет).

Для формы в целом в событии OnActivate записывают следующую процедуру:

 

имя_модуля_данных.ADOTable1.First;

While not имя_модуля_данных.ADOTable1.Eof do

begin

ComboBox1.Items.Add(имя_модуля_данных.ADOTable1.fieldByName('Sh_gr').Value);

имя_модуля_данных.ADOTable1.Next;

end;

 

Данная процедура для компонента ComboBox1 создает список шифров групп, который выбирается из компонента имя_модуля_данных.ADOTable1, связанного с таблицей Group.

2. Подготовка параметрического запроса.

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

Select S.*

from Stud S

where Sh_gr =:Sh_gr;

В данном запросе имя параметра совпадает с именем поля (запрос выбирает записи по шифру группы (поле Sh_gr)).

Закрыть окно, щелкнув по кнопке ОК.

В Инспекторе Объектов выбрать свойство Parameters и щелкнуть по кнопке в строке этого свойства. В появившемся окне будут показаны имена всех параметров, введенных в тексте параметрического SQL-запроса. Каждому параметру из списка необходимо поставить в соответствие определенный тип и стартовое значение. Стартовое значение задавать необязательно. В строке ParamType задают ptInputOutput, раскрывают список Value и в строке Type задают тип данных (текстовый, числовой или дата).

Для активации запроса в свойстве Active выбрать true.

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

ADOQuery1.Active:= true;

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

 

3. Создание компонентов для связи с отчетом. После создания запроса следует поместить на форму компонент RvDataSetConnections из закладки Rave - . В его свойстве DataSet необходимо указать имя запроса – имя_модуля_данных. ADOQuery1.

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

 

4. Создать макет отчета в Rave Designer так, как это было описано в предыдущем пункте.

Возможный вид макета отчета представлен на рис. 5.4.

 

 

Рис. 5.4. Макет отчета в Rave Designer

 

Существуют некоторые особенности при формировании макета. Пока не выбран в форме параметр поиска (шифр группы), запрос не осуществляет выбор данных, т.е. источник данных пуст. Это приводит к тому, что при просмотре отчета в режиме Rave Designer не видны данные (отчет пуст).

Вторая особенность заключается в том, что при помещении компонентов полей (компонент DataText из вкладки Report) в полосу DataBand1 в свойстве DataView для каждого поля пусто. Поэтому необходимо в свойстве DataView для каждого поля вручную набирать DataView1, тогда в свойстве DataField появляется список полей, из которых можно выбрать нужное поле. При этом произойдет связь компонента DataText с конкретным полем из запроса (с полем Num_z, Fam и т.д.).

Отчет в режиме просмотра в Rave Designer будет выглядеть, как на рис. 5.5.

 

 

Рис. 5.5. Отчет в Rave Designer в режиме просмотра

 

Как видно из рисунка отчет пуст.

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

 

5. Реализация вызова отчета из формы. Для вызова отчета необходимо кнопку Вывести отчет связать со следующей процедурой.

 

With имя_модуля_данных.ADOQuery1 do

begin

Close;

Parameters.ParamByName('Sh_gr').Value:= ComboBox1.Items[ComboBox1.ItemIndex];

Open;

end;

RvProject1.Execute;

 

В этой процедуре программа сначала закрывает имя_модуля_данных.ADOQuery1, затем присваивает значение выбранного параметра поиска из компонента ComboBox1 и повторно открывает запрос.

Команда RvProject1.Execute генерирует отчет на основе макета отчета, сохраненного в файле Project1. rav (или каком-то другом).

Если список содержит даты, то используют функцию StrToDate для преобразования строки в дату. Для преобразования строки в целое число используют функцию StrToInt. Для преобразования строки в вещественное число используют функцию StrToFloat.

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

Var

Path: string;

Begin

Path:= ExtractFilePath(Application.ExeName);

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

End;

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

 

В дальнейшем необходимо привязать пункт главного меню, связанного с данным отчетом, к вызову формы. А уже из формы после выбора параметра поиска будет вызываться сам отчет.

Вид формы с выбранным параметром поиска представлен на рис. 5.6.

 

Рис. 5.6. Форма с выбранным параметром поиска

 

Вид отчета на основе параметрического запроса, когда параметр поиска выбирается из списка, представлен на рис. 5.7.

 

Рис. 5.7. Отчет в режиме предварительного просмотра


ЗАКЛЮЧЕНИЕ

 

Информационные системы находят широкое применение во всех сферах деятельности человека. Любая информационная система состоит из двух основных элементов: базы данных и приложения для работы с ней.

Данное пособие содержит теоретический и практический материал, позволяющий освоить технологии разработки приложений для работы с базами данных в среде программирования Delphi.

Пособие охватывает широкий круг вопросов, связанных с обработкой данных средствами Delphi:

реализация доступа к локальным и сетевым базам данных;

создание и редактирование таблиц и схем баз данных;

создание и редактирование форм для ввода данных; дизайн форм;

реализация сортировки, вычислений и фильтрации;

создание и редактирование различных запросов на выборку данных, вычислительных запросов, запросов на выполнение действий;

создание, редактирование и дизайн отчетов.

Полученные навыки создания баз данных и разработки приложений для работы с ними позволят студентам специальности «Вычислительные машины, комплексы, системы и сети» квалифицированно создавать и эксплуатировать приложения для обработки данных в любых предметных областях.





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


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


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



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




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