如何在一頁中秀出5個Detail Band |
尚未結案
|
Dreamlied
一般會員 發表:21 回覆:13 積分:6 註冊:2002-07-02 發送簡訊給我 |
|
tailen
中階會員 發表:82 回覆:109 積分:63 註冊:2002-04-08 發送簡訊給我 |
|
scottliou
版主 發表:16 回覆:56 積分:47 註冊:2002-03-14 發送簡訊給我 |
引言: 請問一下, 我要如何印出每頁有5個band的效果, 也就是說我可能有8筆資料, 可是我希望報表的長度格式可以一樣有5個Band的長度, 請問不足的長度要如何補填.. p.s. 因為我的資料量很大, 所以我希望可以儘量避免再填入異動檔 謝謝...我試過很多種方法都無法成功但最後我還是使用異動檔的方式 procedure createtempfile; var sDir,sfile:string; tmpTable:TTable; query : TQuery; i:integer; begin sDir:=database.directory; //如果你使用database的話必須另訂Path for i:=1 to 1000 do begin sFile:=tmp_' inttostr(i) '.db'; if not FileExists(sDir '\' sFile) exit; end; tmpTable:=TTable.create; with tmpTable do begin databasename:=sDir; tablename:=sFile; with FieldDefs do begin Add('No',ftString,10); .......... end; with IndexDefs do begin Add(.....); end; CreateTable; end; Query:=TQuery.create(self); with Query do begin Close; SQL.Clear; SQL.Add('Select ........'); //把要印的資料Query出來 open; First; while not eof do begin //把資料加入異動檔中 tmpTable.AddRecord([]); next; end; end; with tmpTable do if RecordCount mod PageCount<>0 then //如果資料筆數沒有剛好整頁 for i:=RecordCount mod PageCount 1 to PageCount do Append; // 把不足筆數加入 //把tmpTable丟到QuickReport印即可 //記得在QuickReport的Form中 onDestroy中加入 Deletefile(sfile) 這樣才不會使得異動檔一直增加 end;~~~~~~~~~~~~~~~~ 有夢想最美......
------
~~~~~~~~~~~~~~~~ 有夢想最美...... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |