FastReport
FastReport
Скажите можно ли формы отчетов хранить в базе. Если можно то как. Спасибо.
Re: FastReport
можноS.H.S писал(а):Скажите можно ли формы отчетов хранить в базе. Если можно то как. Спасибо.
1. создаешь табличку (например, T1 с полями T1.ID integer и T1.FORM bloab)
2. на форму кидаешь компонент TfrReport (назовем его frReport)
3. туда же компонент для доступа к БД (назовем его qReportForm, он возвращает поля T1.ID и T1.FORM)
4. отчет вызывается примерно так
Код: Выделить всё
if qReportForm.Locate('ID', номер отчета, []) then
begin
frReport.LoadFromBlobField(TBlobField(qReportForm.FieldByName('FORM').Value));
frReport.Title := 'можно хранить в базе';
if dbBase1.ConnectParams.RoleName = 'ADMIN' then
begin
//открывается дизайнер, для создания новых форм из клиента
frReport.Preview := nil;
frReport.DesignReport;
end
else
begin
//если ты не в группе ADMIN то тебе отчет сразу на привью
if frReport.PrepareReport then
frReport.ShowPreparedReport;
end
end
else
begin
frReport.Clear;
frReport.Title := 'новый отчет';'';
if dbBase1.ConnectParams.RoleName = 'ADMIN' then
frReport.DesignReport;
else
ShowMessage('Отчет НЕ существует');
end;