我已经创建了一个包含多个报表的报表。在查询中,我为where子句使用了宏。
select * from tbl1 where &conditions order by id
单个报表工作正常。报表运行正确。当我想用语句创建多报表时,有时会出现问题。
frxReport1.LoadFromFile('report.fr3');
frxReport1.PrepareReport(False);
在PrepareReport中,它通知
SQL错误...标记未知ORDER
。订单对应于SQL“order by"。
查看FDMonitor时,宏丢失。
select * from tbl1 where order by id
ResourceOptions.宏创建与宏展开设置为True.
所有嵌入式报表(至少10个)都包含宏。有些已正确添加到多报表中,有些未正确添加。为什么?
我正在使用 Delphi 10.3和Fastreport 6.8企业我等待评论
2条答案
按热度按时间dtcbnfnu1#
有时需要同时打印一组报表或在一个预览窗口中显示。
FastReport具有将第二个报表添加到已生成报表末尾的方法。
TfrxReport.PrepareReport
方法具有可选的ClearLastReport
布尔参数,默认值为True
。此参数为True
时,将清除前一个已生成报表的输出。下面的Pascal代码显示了如何生成包含两个报表的批处理:
eimct9ow2#
如何解决这个问题。您需要做的是,在一个统一的报表中完全控制您的各个报表,对每个报表重复此顺序。
...
在个别报表中,Rpt001,002,nnn do
最后时刻
通过这种方式,您可以将复杂的报表与数据流程统一起来。