我想做一个统计报表,即分别统计数据库里面某几列之和(都是整数),用报表显示出来。请给高手教我怎么做啊,我对RAVE不很熟悉。请大家帮帮我~~~~

解决方案 »

  1.   

    en,先算出来,然后再传入到一个数据集,然后rave的数据字段只需要读取这个统计的字段就可以了
      

  2.   

    能说详细点嘛,我还是不懂啊。是不是用一个RvDataSetConnection和一个ADOQuery对应起来然后用SQL语句就能得到吗?
    select partname,sum(renshu) as renshu,sum(carnum) as carnum
    from visitonpart
    where time between :time1 and :time2
      

  3.   

    RvDataSetConnection1.dataset :=ds1;
    RvQueryConnection1.query=query1;
    都可以,其实你的思路是对的,你把你的sql语句写道query1种,然后传入到上面两个任意一个,然后就可以传入到rave报表中去了CSDN论坛浏览器:http://CoolSlob.ys168.com/
      

  4.   

    to : luxuewei5214(小卢)
    哪里有rave的demo例子啊?
      

  5.   

    报错信息太奇怪了,是
    [C++ Error] 
    [C++ Error] 
    [C++ Error] 
    [C++ Error] 
    [C++ Error] Project1.cpp(28): E2451 Undefined symbol 'exception'
    我根本就还没写代码啊.
      

  6.   

    我是用BCB2006,先建立好ADOConnection,ADOQuery和数据库的连接,然后在ADOQuery里面写SQL语句
    select partname,sum(renshu) as renshu,sum(carnum) as carnum
    from visitonpart
    where time between :time1 and :time2
    group by partid,partname
    再设置
    RvDataSetConnection->daset = ADOQuery
    再用RAVE建立一个Direct date view.
    结果一编译就报这个错误.
    不知道是为什么?
      

  7.   

    上面的报错信息是说你的语法错误,我还以为是你用DELPHI做的列
      

  8.   

    procedure TfrmMain.btnPrintClick(Sender: TObject);
    var
        sSql : string;
    begin
         //tbCarFee.Close;
         tbCarFee.Open;
         tbCarFee.Locate('carCode',DBEdit1.text,[loCaseInsensitive]);
         with adoQCarFee do
         //while not Eof do
         begin
         close;
         sSql := 'select * from CarFee where carCode =''' + DBEdit1.Text+'''';
         sql.Text := sSql;
         open;
         end;
         RvDataSetConnection1.DataSet :=  adoQCarFee;
         RvProject1.Open;
         RvProject1.ExecuteReport('Report1');
         RvProject1.close;
                                      
    end;我的代码,你看看,不知道你rave中是如何设置的