FastReport 主从表显示
主表:
单号 客户
aa abc
bb bac
cc cab
从表:
单号 产品明细 数量
aa A1 100
aa A2 500
aa A3 1000
bb B1 3000
bb B2 1500
cc C1 200
cc C2 280
cc C3 300
期望报表格式:
单号 客户 产品明细 数量
aa abc A1 100
A2 500
A3 1000
bb bac B1 3000
B2 1500
cc cab C1 200
C2 280
C3 300
我用以下方法实现可是不能完全满足我的要求:
用 adoquery1 连接主表(select * from 主表),然后在adoquery1的afterscroll过程中用adotable1与从表相连(adotable1.active:=false; adotable1.fieldvalues['单号']=dataset.fieldvalues['单号']); adotable1.active:=true); 再用fastreport 的数据库(dbMaster,dbDetail)分别与adoquery1和adotable1相连,在fastreport中设master数据字段database为dbmaster,detail 数据字段database为dbdetail.
然后是frxreport1.preparereport(true); frxreport1.print; 打印出报表。
问题:1:为何从表用adoquery不能达到以上报表效果?只是连续显示相同结果。
2:以上报表打印一次后,然后在dbgrideh中选择另一个订单号打印时,打印出的还是前面刚刚打印的那份报表?这是为什么?