QRCompositeReport交叉合併再次詢問 |
缺席
|
lasterliu
一般會員 發表:38 回覆:57 積分:19 註冊:2007-11-05 發送簡訊給我 |
請問各位大大,這問題之前已有 jasonma168大大提出,但都沒人回覆,所以小弟再詢問一次。
小弟使用ADOQuery進行查詢,資料須以兩個頁面來呈現,因此小弟使用了兩個QuickReport與QRCompositeReport元件, 但現在碰到一個問題,即其顯示方式不是我想要的,例子如下: 第一筆資料 A 第二筆資料 B 英文數字表示第幾筆資料,數字表示其顯示在第幾個QuickReport 想要顯示方式:A1 A2 B1 B2 以此類推下來(因為一筆資料有兩個頁面) 目前顯示方式:A1 B1 A2 B2 她不會進行分類(意即將QuickReport2直接接在QuickReport1的後面)。 所以想詢問大大這問題有解決的方法嗎? |
lasterliu
一般會員 發表:38 回覆:57 積分:19 註冊:2007-11-05 發送簡訊給我 |
無人回覆此問題,小弟把自己最後解決的方法PO上來,看大家是否能有其他更好的答案。
1、首先,將預覽功能取消(意即按下列印時,會直接列印,沒有預覽功能了)。 2、利用兩個ADOQuery(命名為1與2),2首先進行查詢某個範圍類的所有資料,1也是進行同樣查詢,但其範圍只限一個(意即2將KEY直傳給1進行比對),查到即利用QRCompositeReport1進行列印,2再跳到下一筆資料,如此反覆,直到2中的資料列印完畢為止。 程式舉例如下: ADOQuery2.Close; ADOQuery2.SQL.Text:='select * from tablename where key between :P1 and :P2'; ADOQuery2.Parameters.ParamValues['P1']:=X; ADOQuery2.Parameters.ParamValues['P2']:=Y; ADOQuery2.Open; while NOT ADOQuery2.Eof do begin ADOQuery1.Close; ADOQuery1.SQL.Text:='select * from tablename where key = :A1'; ADOQuery1.Parameters.ParamValues['A1']:=ADOQuery2['KeyFieldName']; ADOQuery1.Open; QRCompositeReport1.Reports.Clear; QRCompositeReport1.Prepare; QRCompositeReport1.Print; ADOQuery2.Next; end; 如有錯誤或須改進的地方,希望各位大大能指導一下小弟,謝謝。^^ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |