Chciałbym zauważyć, że FastReport VCL jest jednym z najwygodniejszych komponentów do generowania raportów o dowolnej złożoności. W końcu możemy tutaj wykorzystać nie tylko różne typy DBMS, ale również szwajcarskie kody kreskowe, mapy, tabele, wykresy i wiele innych obiektów. Dość często spotykamy się z pytaniem "jak z kilku raportów stworzyć jeden?". Cóż, to proste! Spójrz!
Do tego celu FastReport ma odpowiednią funkcję, która umożliwia utworzenie nowego raportu jako dodatek do wcześniej wygenerowanego. Metoda TfrxReport.PrepareReport posiada jeden opcjonalny parametr ClearLastReport:Boolean, który domyślnie ma wartość True. Parametr ten określa, czy strony poprzednio zbudowanego raportu powinny zostać wyczyszczone. Jest jeden mały szczegół. Przy wytwarzaniu pierwszego raportu jest wykorzystywany zbiór danych DataSet z jednej bazy danych, przy wytwarzaniu drugiego raportu - z innej.
Przykład budowy raportu złożonego:
frxReport1.LoadFromFile('1.fr3'); frxReport1.PrepareReport; frxReport1.LoadFromFile('2.fr3'); frxReport1.PrepareReport(False); frxReport1.ShowPreparedReport;
frxReport1->LoadFromFile("1.fr3"); frxReport1->PrepareReport(true); frxReport1->LoadFromFile("2.fr3"); frxReport1->PrepareReport(false); frxReport1->ShowPreparedReport();
Load the first report and build it without showing it on the screen. Then load the second one into the same TfrxReport object and build it with the ClearLastReport = False parameter. This adds the report to the previously generated one.
The second-to-last two lines can be repeated to add more and more reports. This option is only available from code.
After you have finished working with the databases, you can see the resulting file in the preview window. You can also immediately save it to any destination in any desired format – PDF, SVG, Text file, etc. without any difficulties.