Merging Multiple Reports Together
Hi,
I've got a project where I need to be able to merge multiple reports
together, and display them as one report through the print preview
window within my application.
I have opted to save the reports as an archive (.raf) file, and then use
the TkuRAFMerge component to merge these reports together, finally
showing the reports using the archive viewer.
This allows the user to see the reports how they normally would any
other report. (ie, it's not exported as an external PDF file that is
'handled' differently).
The problem that I have is that when I do this, everything apperas to
work correctly and I get to see the merged report at the end - but there
is no data within the reports. (It ends up like a 'blank' report).
In these instances each report is located on a separate form. The
following happens:
1) The form is created.
2) The report has the following properties set:
Report.AllowPrintToArchive := true;
Report.AllowPrintToFile := true;
Report.DeviceType := 'ArchiveFile';
Report.ShowPrintDialog := false;
Report.ArchiveFileName := .RAF
Report.Run;
3) The form is free'd / distroyed
4) Steps 1-3 are repeated for all required reports.
5) The merge is done on the saved .RAF files and
6) The merged .RAF is loaded into the TppArchiveReader and printed to
screen.
Do Archive files not record the data, and only the report layout/template?
Is there something that I'm doing wrong with the above steps please?
I'm running RB 10.09 on Delphi 2007.
Thanks & Regards
Adam.
I've got a project where I need to be able to merge multiple reports
together, and display them as one report through the print preview
window within my application.
I have opted to save the reports as an archive (.raf) file, and then use
the TkuRAFMerge component to merge these reports together, finally
showing the reports using the archive viewer.
This allows the user to see the reports how they normally would any
other report. (ie, it's not exported as an external PDF file that is
'handled' differently).
The problem that I have is that when I do this, everything apperas to
work correctly and I get to see the merged report at the end - but there
is no data within the reports. (It ends up like a 'blank' report).
In these instances each report is located on a separate form. The
following happens:
1) The form is created.
2) The report has the following properties set:
Report.AllowPrintToArchive := true;
Report.AllowPrintToFile := true;
Report.DeviceType := 'ArchiveFile';
Report.ShowPrintDialog := false;
Report.ArchiveFileName := .RAF
Report.Run;
3) The form is free'd / distroyed
4) Steps 1-3 are repeated for all required reports.
5) The merge is done on the saved .RAF files and
6) The merged .RAF is loaded into the TppArchiveReader and printed to
screen.
Do Archive files not record the data, and only the report layout/template?
Is there something that I'm doing wrong with the above steps please?
I'm running RB 10.09 on Delphi 2007.
Thanks & Regards
Adam.
This discussion has been closed.
Comments
An archive is simply a snap-shot of a report that has already been
generated. Everything that is displayed on screen/paper during the time of
export, should be present when exporting to the archive file.
As a test, try taking a look at each individual exported archive file before
you merge them to make sure they contain the correct data. If not, the
problem is most likely further up the line (report generation, data access).
Check to see that you are able to preview each report before archiving them.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
For RB 11 we added the ability to output multiple reports to a single file -
any type of file - archive, PDF, etc. This is done by using the
StartPrintJob and EndPrintJob boolean properties of the file device. We also
added the ability to generate one report to multiple files - via the Group
NewFile option.
http://www.digital-metaphors.com/rbWiki/General/What's_New/RB_11
For RB 12 we added even more output formats and features..
http://www.digital-metaphors.com/rbWiki/General/What's_New/RB_12
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Thanks for your replies...
I have updated to Report Builder 12 today. I'm trying to figure out how
to use the StartPrintJob and EndPrintJob boolean properties, and was
wondering if you could help please.
The only reference I can find to how to use these is on
http://www.digital-metaphors.com:8080/Output/PDF/How_To...Merge_Multiple_Reports_into_one_PDF
But this shows a PDF file. I was wondering if it's possible to use
archives too (where one report's owner/form is destroyed before the
second report is created) to merge multiple reports together and 'view'
them, or if I still require the TkuRAFMerge component.
Thanks & Regards
Adam.
The ArchiveDevice has the same StartPrintJob/EndPrintJob boolean properties
as the PDFDevice, all the file devices in RB have these properties.
I don't think it should matter whether you are creating/destroying each of
the reports.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Thanks for your reply. Could you please let me know which unit I should
be referring to for the TppArchiveDevice. I'm unable to locate it.
Thanks & Regards
Adam.
The TppArchiveDevice class can be found in the ppFilDev.pas file.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
the Delphi Search | Find in Files dialog to search against the
RBuilder\Source directory.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com