Quick Report 報表列印問題,連續列印倆種不同報表,動態切換印機成功,但後者不能列印 |
尚未結案
|
lingqingyun2
一般會員 發表:6 回覆:2 積分:1 註冊:2003-12-17 發送簡訊給我 |
各位大大:
小弟現在遇到現在一個難題:詳述如下:
我們的入庫系統要列印倆種報表,一種是連續報表紙打印的報表-->入庫單(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 發送簡訊給我 |
|
lingqingyun2
一般會員 發表:6 回覆:2 積分:1 註冊:2003-12-17 發送簡訊給我 |
|
a6121226
一般會員 發表:1 回覆:2 積分:0 註冊:2004-06-04 發送簡訊給我 |
你將程式修改成這樣,試試看可不可以 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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |