我可以帮你做出来,你再出具体一点,下边只是一点点代码
procedure Ttdeform.printyss;
var
   dayingform:tdayingform;
   i,j:integer;
begin
   dayingform:=tdayingform.Create(application);
   lsysquery:=Tadoquery.Create(Application);
   lsysquery.Connection:=projectdatamodule.Projectconnection;
   with lsysquery do
   begin
     close;
     SQL.Clear ;
     SQL.Add('select * from Yss_ls');
     prepared;
     Open;
     first;
   end;
   dayingform.QRDBText1.DataSet:=lsysquery;
   dayingform.QRDBText3.DataSet:=lsysquery;
   dayingform.QRDBText5.DataSet:=lsysquery;
   dayingform.QRDBText4.DataSet:=lsysquery;
   dayingform.QRDBText6.DataSet:=lsysquery;
   dayingform.QRDBText7.DataSet:=lsysquery;
   dayingform.QuickRep1.DataSet:=lsysquery;
   dayingform.qrlabel21.Caption:=projectname;
   dayingform.QuickRep1.Preview;   lsysquery.Free;
end;

解决方案 »

  1.   

    有多种方法
    NO。1
    你可以下新的控件;
    NO.2
    你在程序中动态的写;
    NO.3
    用QRExpr//最容易
      

  2.   

    有什么新的控件?
    动太态写又如何?
    我用的是QRexpr,遇到麻烦 再明确一点吧:
    第一页(假设每页有二条记录)
    序号   物业费
    1      6000
    2      3000
    小计   9000
    第二页 物业费
    3      8000
    小计   8000
    说明如下:要求小计紧跟于数据后面,第二页中由于数据记录只有一条,所以在其后也就是第4条的位置上是小计,我本来是将小计做在pagefooter里的,这样不行,因为还要把所有的数据都画在一张表里,包括小计,如果写在pagefooter里的话,第二页很难画的。中间会出现一个大空,记录多的话,就更加难看。