IBXDatabase
У меня такой вопрос! Создаю в FastReport отчет и внем имеется запрос к базе данных. Для этого я устанавливаю компоненты IBXDatabase, IBXQuery. В программе у меня уже есть IBDatabase. Нельзя ли как нибудь передать в IBXQuery.Database этот IBDatabase. А то неудобно иметь два подключения к базе данных - одно в программе другое в FastReporte.
Комментарии
Считаем, что у нас есть коннект к базе.
Действия на форме:
- Ставим запрос (ADOQuery), который выдает нужные нам данные.
- Кладем на форму frxDBDataset и ставим его свойству DataSet наш запрос (ADOQuery).
- Кладем на форму frxReport.
- Запускаем дизайнер отчета.
Действия в дизайнере отчета:
- Меню Report -> Data, выделяем галочкой наш датасет.
- Используем наш датасет в отчете как обычно.
procedure TMainForm.frxReport1BeforePrint(c: TfrxReportComponent);
var
IBQ: TfrxIBXQuery;
begin
if c is TIBXfrxQuery then
begin
IBQ := TfrxIBXQuery( c );
IBQ.Database.Database:=IBDataBase1;
end;
end;
и получаю ошибку
Declaration of 'frxReport1BeforePrint' differs from previous declaration
Достаточно в программе сделать
frxIBXComponents1.DefaultDatabase:=IBDataBase1;
а в самом отчёте добавить запрос. У запроса БД автоматом проставится IBDataBase1