我要打印门诊收费发票,要求每一项收费项目就要打印在一张发票上.
我用了一张表统计所有收费项目的金额:
//Table结构
brxm char(10);
blh  char(13);
yzh  char(5);
xmmc char(20);
xmje money;
xmjedx char(20);
sfr    char(10);
//SQL语句
if lb_preview then
   begin
   with Frm_Print.ADOQuery2 do
     begin
     Frm_Print.ADOQuery2.Close;
     Frm_Print.ADOQuery2.SQL.Clear;
     Frm_Print.ADOQuery2.SQL.Add('select * from mzfpb where  blh='+ip_patient+'and yzh='+recipecode+'and xmje<>0');//打印收费项目金额不为0的项目
     Frm_Print.ADOQuery2.Open;
     end;
      //Frm_print.QuickRep1.PrinterSettings.Copies:=Copies;
      Frm_print.QuickRep1.Preview
   end
      else
   begin
   with Frm_Print.ADOQuery2 do
   begin
     Frm_Print.ADOQuery2.Close;
     Frm_Print.ADOQuery2.SQL.Clear;
     Frm_Print.ADOQuery2.SQL.Add('select * from mzfpb where  blh='+ip_patient+'and yzh='+recipecode+'and xmje<>0');
     Frm_Print.ADOQuery2.Open;
   end;  
      //Frm_print.QuickRep1.PrinterSettings.Copies:=Copies;
      Frm_print.QuickRep1.Print;
   end;//QuikReport设置
我用的是QRDBText,Dataset为ADOQuery2;QuikReport的DATASet也为ADOQuery2;但是打印的时候只能打印第一条记录,不知道为什么?

解决方案 »

  1.   

    QuickReport1.DataSet没有设置————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    QuickReport1.DataSet没有设置
      

  3.   

    1.要设定纸张大小,和发票一样大就可以;2。打印机要支持(一般的针打都支持),只要符合条件一,就应该没问题。我用fastreport做的,很好。