我现在想在一个报表中计算一个字段所有值的和,并显示出来。我在进入报表窗体时用ado过滤了一下,意思是想让符合条件的数据留下,然后在报表中怎么实现求和呢?不用ado的计算字段,能直接用求和公式吗?

解决方案 »

  1.   

    QuickRep.Banks有一个hasSummary
    在SummaryBank中放QRExpr组件,编写汇总表达式
      

  2.   

    将dbgrid的dgMultiSelect属性设为True
      

  3.   

    to happyzsl(学习)
       我用了你说的,可是在qrexpr中用sum(adoquery1.字段名)做表达式,结果还是0啊,根本没有变。请问是这样用吗?希望你能给个例子。谢谢
      

  4.   

    qrexpr.master := quickrep1;记得adoquery1.Open;我这样做的,可以得出结果啊
      

  5.   

    我在前一个窗体的按钮的事件是这么写的
     Application.CreateForm(TForm2, Form2);
        form2.ADOQuery1.Filtered:=true;
        form2.ADOQuery1.Filter:='ch_rq='+'四季度';
        form2.QuickRep1.Preview;
    然后在form2的quickrep1中加的qrexpr,使它的表达式是sum(adoquery1.d-s1)不好用啊
    我用了楼上的方法,还是不行啊,请问是不是我有地方写错了??
      

  6.   

    报表的sumband中加入一TQRExprQRExpr1.expression:=sum(table1.money); 
    money是字段名 
      

  7.   

    大哥,你的过滤条件错了。
        form2.ADOQuery1.Filtered:=false;
        form2.ADOQuery1.Filter:='ch_rq='+'四季度';
        form2.ADOQuery1.Filtered:=True; 
        form2.QuickRep1.Preview;
      

  8.   

    现在 想 在同一个报表中实现下面的 功能 。
    比如  QRExpr1的表达式是字段都为‘一季度’的d_s1的字段求和,
          QRExpr2的表达式是字段都为‘二季度’的d_s1的字段求和,
         以此类推,请问改怎么改变阿。
      (付:   季度字段和d_s1字段都是同一条数据的不同字段。)