按正常分组后在footer那设置汇总,就可以把当前分组的数值汇总出来,可这个分组FOOTER是在该分组的下面显示的,我想问下是否有办法可以将这些FOOTER里显示的数据放在一起。比如:
a001 合计:1500
a002 合计:1000
请大家来谈谈。

解决方案 »

  1.   

    比如像这样:
    大类    颜色     数量
    a001   BLACK   200
    a001   BLACK   100
    a001   BLACK   110
    a001   BLACK   1200
    BLACK合计:             1610大类    颜色     数量
    a001   WHITE   1200
    a001   WHITE   500
    a001   WHITE   110
    a001   WHITE   1200
    WHITE合计 :          3010就像上面的报表格式一样(只举例了一个类),这个报表已经做了二个分组,第一个是大类,第二个是颜色。
    这样显示是正确的,可是为了美观,我想显示成:大类    颜色     数量
    a001   BLACK   200
    a001   BLACK   100
    a001   BLACK   110
    a001   BLACK   1200
    a001   WHITE   1200
    a001   WHITE   500
    a001   WHITE   110
    a001   WHITE   1200BLACK合计:             1610
    WHITE合计:            3010
    请问有办法吗?谢谢!
      

  2.   

    这种情况比较复杂,要实现也不是不可能,但要变通一下,不能按常规来做。
    还是用两个数据源来实现。
    打印时不能用常规方法处理。
    1、测试出每页打多行,比如20行;
    2、准备数据,表1取总表的前20行,表二取表1的分类汇总数。
    3、报表设计时放两个数据带,关联至两个表就可以了。
    说明:iD为主键i:=1;
    while i<=(总记录数/20)
        j:=20*i;
        h:=20*i-20;
        adoquery1.sql.clear;
       adoquery1.sql.add('select * top '+inttostr(j)+' from aa  where id not in (select * top '+inttostr(h)+' from aa)');//每次只取20条记录
       adoquery1.open;
       adoquery2.sql.clear;
       adoquery2.sql.add('select * top .... group by 颜色 ');
       adoquery2.open;
       //这里开始打印报表
       
       i:=i+1;
    end;
     
    以上代码没有时间测试,有错误请包涵,仅供思路参考。