全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1520
推到 Plurk!
推到 Facebook!

fastreport打印問題

尚未結案
dengguo
一般會員


發表:41
回覆:49
積分:23
註冊:2004-01-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-30 12:08:50 IP:218.17.xxx.xxx 未訂閱
我在打印時,是這樣寫的 ----------------------------------------------------- allprt.SQL.Clear;   allprt.SQL.Text:='select csbh from cg_cszl order by csbh';   allprt.Open;   while not allprt.Eof do   begin   h:=0;   yfdz_p1.active:=false;   yfdz_p1.Parameters.ParamByName('@csbh').Value:=allprt.fieldbyname('csbh').AsString;   yfdz_p1.Parameters.ParamByName('@t1').Value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date);   yfdz_p1.Parameters.ParamByName('@t2').Value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date);   yfdz_p1.active:=true;   yfdz_fr.showreport;   allprt.Next;   end;   allprt.Close; ------------------------------------------------------------------ 這樣每一個CSBH就會出現一個打印預覽界面,關掉一個才會出現下一個界面 請問:可不可以做到後面的CSBH選 出來打印的頁面追加到前一CSBH的打印頁面後 最後只出現一次打印預覽的界面,而預覽的內容是所有CSBH, 謝謝!!    ############################### 初學delphi,請各位多多提點!謝謝! ###############################
chinyu
高階會員


發表:12
回覆:157
積分:153
註冊:2002-06-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-06 13:58:24 IP:61.223.xxx.xxx 未訂閱
引言: 我在打印時,是這樣寫的 ----------------------------------------------------- allprt.SQL.Clear; allprt.SQL.Text:='select csbh from cg_cszl order by csbh'; allprt.Open; while not allprt.Eof do begin h:=0; yfdz_p1.active:=false; yfdz_p1.Parameters.ParamByName('@csbh').Value:=allprt.fieldbyname('csbh').AsString; yfdz_p1.Parameters.ParamByName('@t1').Value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date); yfdz_p1.Parameters.ParamByName('@t2').Value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date); yfdz_p1.active:=true; yfdz_fr.showreport; allprt.Next; end; allprt.Close; ------------------------------------------------------------------ 這樣每一個CSBH就會出現一個打印預覽界面,關掉一個才會出現下一個界面 請問:可不可以做到後面的CSBH選 出來打印的頁面追加到前一CSBH的打印頁面後 最後只出現一次打印預覽的界面,而預覽的內容是所有CSBH, 謝謝!!
好像是不能這樣的 但依你的程式看來應該不用如此做,只要一個報表使用兩個data band即可,在allprt的AfterScroll重新查詢yfdz_p1
chinyu
高階會員


發表:12
回覆:157
積分:153
註冊:2002-06-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-09 17:44:27 IP:61.223.xxx.xxx 未訂閱
引言: 我在打印時,是這樣寫的 ----------------------------------------------------- allprt.SQL.Clear; allprt.SQL.Text:='select csbh from cg_cszl order by csbh'; allprt.Open; while not allprt.Eof do begin h:=0; yfdz_p1.active:=false; yfdz_p1.Parameters.ParamByName('@csbh').Value:=allprt.fieldbyname('csbh').AsString; yfdz_p1.Parameters.ParamByName('@t1').Value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date); yfdz_p1.Parameters.ParamByName('@t2').Value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date); yfdz_p1.active:=true; yfdz_fr.showreport; allprt.Next; end; allprt.Close; ------------------------------------------------------------------ 這樣每一個CSBH就會出現一個打印預覽界面,關掉一個才會出現下一個界面 請問:可不可以做到後面的CSBH選 出來打印的頁面追加到前一CSBH的打印頁面後 最後只出現一次打印預覽的界面,而預覽的內容是所有CSBH, 謝謝!! ############################### 初學delphi,請各位多多提點!謝謝! ###############################
FastReport 3.X 已經可以這樣列印了 frxReport1.LoadFromFile('1.fr3'); frxReport1.PrepareReport; frxReport1.LoadFromFile('2.fr3'); frxReport1.PrepareReport(False); frxReport1.ShowPreparedReport;
dengguo
一般會員


發表:41
回覆:49
積分:23
註冊:2004-01-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-10 15:20:27 IP:219.133.xxx.xxx 未訂閱
請問chinyu:是否用FR3在每次查詢一個CSBH後生成並保存一個.FR3,然後在最後SHOW所有的.FR3文件?    ############################### 初學delphi,請各位多多提點!謝謝! ###############################
chinyu
高階會員


發表:12
回覆:157
積分:153
註冊:2002-06-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-10 20:16:25 IP:61.223.xxx.xxx 未訂閱
引言: 請問chinyu:是否用FR3在每次查詢一個CSBH後生成並保存一個.FR3,然後在最後SHOW所有的.FR3文件? ############################### 初學delphi,請各位多多提點!謝謝! ###############################
.fr3檔是報表設計檔,當你設計報表時如果是存成檔案的話它預設的副檔名就是fr3。 依你的程式來說應如此改:
frxReport1.LoadFromFile('XXX.fr3'); //載入 XXX.fr3 報表檔
allprt.SQL.Clear;
allprt.SQL.Text:='select csbh from cg_cszl order by csbh';
allprt.Open;
while not allprt.Eof do
begin
  h:=0;
  yfdz_p1.active:=false;
  yfdz_p1.Parameters.ParamByName('@csbh').Value:=allprt.fieldbyname('csbh').AsString;
  yfdz_p1.Parameters.ParamByName('@t1').Value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date);
  yfdz_p1.Parameters.ParamByName('@t2').Value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date);
  yfdz_p1.active:=true;
  if 第一次
    frxReport1.PrepareReport; //產生第一個報表
  else
    frxReport1.PrepareReport(False); //產生第二至n個報表
  endif
  allprt.Next;
end;
frxReport1.ShowPreparedReport; //顯示已產生的報表
allprt.Close;
系統時間:2024-06-24 20:28:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!