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

FastReport 主-子報表列印?

尚未結案
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-10-24 02:28:59 IP:220.134.xxx.xxx 訂閱
各位前輩及版主大人:
我有一資料庫,內有兩個資料表,出貨單主檔和出貨單子檔,
我使用報表的方式是在呼叫FastReport的表單上,先將資料來源處理好
ADOConnection1、ADOQUERY1(主)、ADOQUERY2(子)、DataSource1(主)、DataSource2(子)
frxDBDataset1(主)、frxDBDataset2(子)、frxReport1
目前我資料處理的部份是在表單,我現在的迷惑電視,我是要將主子表單兩個資料表
用Join方式將兩個連結成一個資料來源,然後才進入FastReport列印,還是分開成兩個
資料來源,因為我不會設定FastReport內主子報表個關係,類似access的連結key欄位,
不知道怎麼下手,又卡住了!

------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-10-24 10:48:18 IP:60.248.xxx.xxx 未訂閱
主細關係是在DataSet上設定,
兩顆FrxDBMaster對應到ADOQueryMaster,FrxDBDetail對應到ADOQueryDetail
在報表設計裡,一樣拖放一個Master Band及Detail Band,設定其資料來源,各放置一些Memo,設定資料欄位,
相關可參考Fastreport本身Demo範例Master/Detail/SubDetail report
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-10-25 00:09:55 IP:220.134.xxx.xxx 訂閱
>> 主細關係是在DataSet上設定,  因為我用的是adoquery我找不到對應的屬性可以指定主細關係,不知道是否我太笨還是?
可否請前輩您,說明這一點,萬分感謝!
===================引 用 文 章===================

主細關係是在DataSet上設定,
兩顆FrxDBMaster對應到ADOQueryMaster,FrxDBDetail對應到ADOQueryDetail
在報表設計裡,一樣拖放一個Master Band及Detail Band,設定其資料來源,各放置一些Memo,設定資料欄位,
相關可參考Fastreport本身Demo範例Master/Detail/SubDetail report
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-10-25 09:24:28 IP:60.248.xxx.xxx 未訂閱
以訂單來說放置[TADOQuery]qryOrderMaster、qryOrderDetail及[TDataSource]dsOrderMaster、dsOrderDetail
在qryOrderMaster.Sql.Text:='Select * from OrderA where OrdDate='20061020'
qryOrderDetail.Sql.Text:='Select * from OrderB where OrdNo= :OrdNo'
在qryOrderDatail.Datasource設成dsOrderMaster,即會把qryOrderMaster的OrdNo帶給qryOrderDetail.Params裡的OrdNo,也就是單號1時,調出訂單明細為單號1
qryOrderMaster.Active設True,qryOrderDetail.Active設True
frxDBMaster的DataSet設成qryOrderMaster,frxDBDetail的DataSet設成qryOrderDetail,然後在報表設計裡,Master Band資料來源設成frxDBMaster,Detail Band資料來源設成frxDBDetail,在Master Band及Detail Band上各放置一些Memo,按預覽即可看到效果
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-10-26 09:35:13 IP:220.134.xxx.xxx 訂閱
pedro756901前輩:
可否在請教您,那如果是單據的連續列印呢? 也就是多張單據號碼各自有子項(表身)
那要怎麼處理呢?
pedro756901 前輩,感謝您您一再回應!先向您說聲謝謝!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2006-10-27 22:16:18 IP:61.67.xxx.xxx 未訂閱
要在FR中去關聯兩份資料表並不容易, 也不建議, 最簡單的方式就是像你這樣, 先在Delphi中把所有連結做好, 分別指向兩個frDBDataset, 然後再到FR中分置master 與 Detail band分別指定為 dataset1, dataset2, 列印時, FR自然會依據連結來丟資料!
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2006-11-02 23:37:33 IP:220.134.xxx.xxx 訂閱
感謝各位前輩:
目前我解決的方式是,在Delphi呼叫報表的Form 放上兩個資料來源,一為ADOQUERY一為ADOTABLE
ADOQUERY對應的是主檔,因為需要過濾要列印的範圍和單號 ADOTABLE放的是子檔,然後透過ADOTABLE
MasterFields 和 MasterSource屬性然後在放上兩個frxDBDataset做好關聯後終於可以得到我要的結果了!
真是感動到想哭!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
系統時間:2024-05-05 13:12:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!