Скромно отмечу, что FastReport VCL является одним из самых удобных компонентов генерации отчетности любой сложности. Ведь тут мы можем использовать не только разные виды СУБД, но и свисс коды, карты, таблицы, графики и многие другие.
Достаточно часто нас спрашивают “а как из нескольких отчётов сделать один?”. Да легко! Смотрите!
Для этого в FastReport есть функция, помогающая создать новый отчет в дополнение к первому завершенному. Метод TfrxReport.PrepareReport имеет один необязательный параметр ClearLastReport: Boolean, по умолчанию он равен True. Этот параметр определяет, надо ли очищать страницы ранее построенного отчета. Присутствует небольшая тонкость. При создании первого отчета используется DataSet из одной базы данных, при втором - из иной.
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();
Мы загружаем первый отчет и строим его, не показывая на экране. Затем загружаем второй в этот же объект TfrxReport и строим его с параметром ClearLastReport = False. При этом отчет добавляется к ранее завершенному.
Предпоследние две строчки могут повторяться для добавления еще и еще каких-либо отчетов. Данная опция осуществима только из кода.
После того как мы закончили с базами данных можно просмотреть получившееся в предпросмотре. Тут же без каких-либо трудностей можно сохранить в любое место, и в любом формате - PDF, SVG, Text File и т.д.