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中选择另一个订单号打印时,打印出的还是前面刚刚打印的那份报表?这是为什么?

转载于:https://www.cnblogs.com/lzj1981/archive/2013/04/29/3050617.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值