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

Quick Report 報表列印問題,連續列印倆種不同報表,動態切換印機成功,但後者不能列印

尚未結案
lingqingyun2
一般會員


發表:6
回覆:2
積分:1
註冊:2003-12-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-11 13:05:13 IP:211.148.xxx.xxx 未訂閱
各位大大: 小弟現在遇到現在一個難題:詳述如下: 我們的入庫系統要列印倆種報表,一種是連續報表紙打印的報表-->入庫單(211.6*139.70), 此種報表是用Epson1600KIII 的印表機.另一種是用HP LaserJet打印的A4報表;倆種報表的內容基本相同,只是後者是前者明細的條碼; 先需要自動列印這倆張報表.而每次列印時,入庫單能自動列印到指定的印表機,但那張A4的報表就無法輸出到指定的HP的印表機.我有測試過,發現如果不搞自動列印(即把QuickReportN.Print 改成QuickReportN.Preview),則倆報表的打印器都能自動切換,即入庫單默認的是-->Epson,A4報表默認的是-->HP;為甚麼我改成.Print後A4報表就不能列印出來呢? 代碼如下: with Local_datamd.query1 do begin close; ParamByName('plt').AsString :=plantNo; try open; except myshowmessage('Sql»y¥y°õ¦æ¥X¿ù'); end; end; Local_datamd.query1.First; QRLabel3.Caption:= Label6.Caption; QRLabel9.Caption:=Label17.Caption; QRLabel10.Caption:=Label22.Caption; QRLabel11.Caption:=Label21.Caption; QRLabel12.Caption:=Label16.Caption; QRLabel82.Caption:=Label41.Caption; NowPrinter:=TPrinter.Create; QuickRep1.PrinterSettings.PrinterIndex:=NowPrinter.Printers.IndexOf(epsonname); NowPrinter.Free; QuickRep1.Print; //列印入庫單 with qyFgp do begin close; SQL.clear; SQL.add('select * from iostock_fgp where '); SQL.add(format('fgp_plt=''%s''',[plt])); open; first; QRLabel55.Caption:=fieldbyname('FGP_ITM').AsString; QRLabel58.Caption:=fieldbyname('FGP_SHP').AsString; QRLabel60.Caption:=inttostr(RecordCount); end; NowPrinter:=TPrinter.Create; QuickRep3.PrinterSettings.PrinterIndex:=NowPrinter.Printers.IndexOf(hpname); NowPrinter.Free; QuickRep3.Print; //列印A4報表 其中epsonname和hpname是一個全局變量,程序開啟時候獲得epson和hp倆台列印機,此函數在此省略,但測試得之,能成功獲得倆台印表機. 請各位大大幫忙,謝謝!
yixiao
一般會員


發表:14
回覆:13
積分:5
註冊:2004-04-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-05 10:46:21 IP:220.170.xxx.xxx 未訂閱
需要根据实际情况重新设置TDeviceMode
lingqingyun2
一般會員


發表:6
回覆:2
積分:1
註冊:2003-12-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-06 13:40:26 IP:218.16.xxx.xxx 未訂閱
Dear yixiao: 恕小弟愚昧,看不太懂你的意思,能否再描述得詳細點, Dear All: 此問題希望能得到各位大大的支持!
a6121226
一般會員


發表:1
回覆:2
積分:0
註冊:2004-06-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-13 11:18:41 IP:220.130.xxx.xxx 未訂閱
你將程式修改成這樣,試試看可不可以 with Local_datamd.query1 do begin close; ParamByName('plt').AsString :=plantNo; open; end; Local_datamd.query1.First; QuickRep1:=TQuickRep1.Create(self); QuickRep1.PrinterSettings.PrinterIndex:= printer.Printers.IndexOf(epsonname); //切換印表機爲Epson QuickRep1.Print; //列印入庫單據到指定的Epson點陣式印表機 QuickRep1.Free; with qyFgp do begin close; SQL.clear; SQL.add('select * from iostock_fgp where '); SQL.add(format('fgp_plt=''%s''',[plt])); open; end; QuickRep3:=TQuickRep3.Create(self); QuickRep3.PrinterSettings.PrinterIndex:= printer.Printers.IndexOf(hpname); //切換印表機爲HP QuickRep3.Print; //列印A4報表到指定的HP雷射印表機 QuickRep3.Free;
lingqingyun2
一般會員


發表:6
回覆:2
積分:1
註冊:2003-12-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-28 13:22:46 IP:218.16.xxx.xxx 未訂閱
a6121226: 很感謝你的回覆,但我照你的實驗了一下,還是行不通.反而第一個報表(入庫單)都不能自動列印到打印機了,不知是何原因?
系統時間:2024-05-19 17:11:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!