可以包含使用其他模块的query,注意清空就是了。/*************************************/
/*1、MY TOOL:*************************/
/*2、Delphi,Oracle,Sybase,C++/C*******/
/*3、PROJECT:*************************/
/*3、Boss*****************************/
/*4、为了五星的目标希望你早点结贴*****/
/*************************************/
下为我公司中餐定购点,大家随意随意.....
巴西小吃部:13033009888
阿根廷川味:13003059999
韩国料理城:3663371
英格兰拉面:3635476
西班牙火锅:3661693
中国大排挡:13956948888

解决方案 »

  1.   

    你应该可以在当初做query时做些优化,可以减少数目。做报表时就好一点。
      

  2.   

    把你的QUERY控件放到DATAMODULE窗口中去,其它单元直接引用就是,每次统计后用以下语句可以清空SQL内容,举例如下:
    Query.SQL.Clear
    然后再加SQL语句就可以啊!
      

  3.   

    便是怎么样将query统计出来的值赋值呢?
      

  4.   

    不好意思,离开了一会. 
    我也没有试过,提出一种方法仅供参考。
    下面例子仅适用于listReport.
    Struc TColumnType { ColumnName :String ,ColumnSize :Single}Column = array[0..max] of TColumnType;
     ...
    //动态创建QRDBTEXT 并指定父类为Control,以及其位置大小,等属性 
    procedure CreateReportColumn( Columns:Array;var Control: TControl; Space: Single);
    Control :指定父类为Control;
    Space: 为字段间距,可指定,亦可自动生成;
    //打印显示
    procedure ReportPreview();
    begin
       Column[1] := ....//给其付值; 
       ...
       CreateReportColumn(Column,Control,Space);
       ..
       ..              //指定QuickRep其他属性
       Query.Sql.Add(SqlString); 
       Query.Open;
       ReportForm.QuickRep.Preview;
    end;
      

  5.   

    这只是一个框架,需要你添家很多内容。Struc TColumnType { ColumnName :String ,ColumnSize :Single}
    定义一个结构:ColumnName字段名称;ColumnSize字段显示长度
    Column = array[0..max] of TColumnType;
     ...max为一张纸可显示的最多字段;
    //动态创建QRDBTEXT 并指定父类为Control(设定字段的显示区域),以及其位置大小,等属性 
    procedure CreateReportColumn( Columns:Array;var Control: TControl; Space: Single);
    Control :指定父类为Control;
    Space: 为字段间距,可指定,亦可自动生成;
    当然,有多少个字段,就需要创建多少个QRLable,等等...//打印显示
    procedure ReportPreview();
    begin
       Column[1] := ....//给其付值; 
       ...
       CreateReportColumn(Column,Control,Space);//动态创建显示字段,并指定其位置大小,等属性;
       {
           ..
           ..              //指定QuickRep其他属性
       }
       Query.Sql.Add(SqlString); 
       Query.Open;
       ReportForm.QuickRep.Preview;
    end;