線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1303
推到 Plurk!
推到 Facebook!

再問QReport的Master-Detail

答題得分者是:chih
taxchen
一般會員


發表:15
回覆:19
積分:6
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-26 11:31:32 IP:211.74.xxx.xxx 未訂閱
Page Header和Detail的資料不一致(差一筆) ex:Page Header的Order Id : 102 Detail Band的Order Id : 103 程式已上傳在新手求助區 資料庫是SQL Server的Northwind 程式中的兩張報表都是一樣的情形 謝謝
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-27 08:24:27 IP:211.74.xxx.xxx 未訂閱
看不太懂你的意思ㄋ..還有你的需求到底是??? 因為看了一下你的寫法..上次幫你看的地方你好像沒有全部改好..(Form3) 1.Form3 的 QRSubDetail請換成 QRDetail... 2.Form3的dsOrderD是不需要的..因為你要的資料可以用一段SQL就可以用 dsOrderM SELECT 出來了... 另外我這邊的Northwind裡面沒有102,103這二筆資料喔..
引言: Page Header和Detail的資料不一致(差一筆) ex:Page Header的Order Id : 102 Detail Band的Order Id : 103 程式已上傳在新手求助區 資料庫是SQL Server的Northwind 程式中的兩張報表都是一樣的情形 謝謝
taxchen
一般會員


發表:15
回覆:19
積分:6
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-27 09:46:54 IP:210.243.xxx.xxx 未訂閱
抱歉, 說明不清楚 需求如下: 列出所有的OrderId, 下面是對應這張OrderId的Order Details, 如程式中第一張報表Order id:10248, 下面則是10248的detail(這一張正確), 但是第二張應是10249(Master), 但是PageHeader的資料卻仍然是10248, detail的部份則是正確的(Order Id: 10249). ps:如果只要一個dataset,那是用join的方式做嗎?如果是這樣,那form2的報表就是這樣做的,而且也是用detail band. 而form3是用兩個dataset做m6aster-detail的關係. 但是這兩張都會有同樣的情形 另外將detail band高度拉好,這個我試不出來,如果可以,是否可以寫個範例給我參考 謝謝各位
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-27 11:22:28 IP:211.74.xxx.xxx 未訂閱
參考底下這篇...我只有把Form2做修改...這個應該可以達到你要的... http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25408
taxchen
一般會員


發表:15
回覆:19
積分:6
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-27 11:54:44 IP:210.243.xxx.xxx 未訂閱
但是第二張報表的第二筆Order Id: 10249,這一筆應該是變成第三張的第一筆.即第二張報表的PageHeader OrderId: 10248, detail應該只有一筆10248 謝謝
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-27 14:07:46 IP:211.74.xxx.xxx 未訂閱
檔案已重新上傳.. 重新上傳...你原來的檔案怪怪的...我把Form2重新做了一張..
引言: 但是第二張報表的第二筆Order Id: 10249,這一筆應該是變成第三張的第一筆.即第二張報表的PageHeader OrderId: 10248, detail應該只有一筆10248 謝謝
taxchen
一般會員


發表:15
回覆:19
積分:6
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-01-27 17:26:16 IP:210.243.xxx.xxx 未訂閱
謝謝回答 但是這樣detail資料跟資料之間會有滿大的空格 我是希望當detail資料筆數一頁放不下時,會自動帶到下一頁 另外, 你寫在QRBand3:AfterPrint的程式碼 應該是永遠不會跳進if,不知道這段程式碼的用意何在? 謝謝
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-01-27 17:37:25 IP:211.74.xxx.xxx 未訂閱
1.Form2的程式碼你可以全部拿掉..重做的時候忘記拿掉了.. 2.因為你說要印二筆阿..所以我把detail拉大以符合你說的二筆阿.. 你要自己先確定看看你要印多少筆在調整detail的高度以符合你的需求.. TRY TYR SEE..
引言: 謝謝回答 但是這樣detail資料跟資料之間會有滿大的空格 我是希望當detail資料筆數一頁放不下時,會自動帶到下一頁 另外, 你寫在QRBand3:AfterPrint的程式碼 應該是永遠不會跳進if,不知道這段程式碼的用意何在? 謝謝
taxchen
一般會員


發表:15
回覆:19
積分:6
註冊:2002-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-01-27 17:46:19 IP:210.243.xxx.xxx 未訂閱
假設是印兩筆,但是將detail band拉大之後,確實是印兩筆沒錯,報表也完全正確,但是這兩筆之間會有一個很大的空格,能不能有什麼方法讓這兩筆資料接著印下來,而將空格留在第二筆之後 謝謝
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-01-27 18:44:48 IP:61.217.xxx.xxx 未訂閱
如果是這樣的話,把detail拉到適合高度...剩下的高度就全部給PageFooter...
引言: 假設是印兩筆,但是將detail band拉大之後,確實是印兩筆沒錯,報表也完全正確,但是這兩筆之間會有一個很大的空格,能不能有什麼方法讓這兩筆資料接著印下來,而將空格留在第二筆之後 謝謝
taxchen
一般會員


發表:15
回覆:19
積分:6
註冊:2002-03-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-01-27 22:35:36 IP:211.74.xxx.xxx 未訂閱
對不起,需求沒有講清楚 假設orderid:10248有8筆資料,而我希望當它第一頁印不完時(假設印到第5筆),其餘3筆印到第二頁,第三頁則是OrderId:10249和其資料,以此類推 因此detail band的高度不一定,無法以Page Footer來調 謝謝
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-01-28 07:56:07 IP:211.74.xxx.xxx 未訂閱
你紙張最大Size是A4或A3ㄋ?? 你要先測一下A4可以印多少個..(比如30) A3可以印多少個..(比如50).. 你的紙張如果印到A3那最多就是50阿..不可能無限制吧.. 這樣應該就可以先調出你要的Page Footer高度了阿?? TRY TRY SEE...
引言: 對不起,需求沒有講清楚 假設orderid:10248有8筆資料,而我希望當它第一頁印不完時(假設印到第5筆),其餘3筆印到第二頁,第三頁則是OrderId:10249和其資料,以此類推 因此detail band的高度不一定,無法以Page Footer來調 謝謝
系統時間:2024-05-06 0:26:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!