SubReport

參考 CR 官方文件:scr_subreports.pdf

如何插入 SubReport?

CR Menu > Insert > SubReport

依需要看是要新建或是插入現有檔案,之後放置到適當Section。

如何去除SubReport的邊框?

在SubReport上按右鍵 > Format SubReport > 切到Border頁夾 > Line Style 都切成 None

如何連結MainReport 以及SubReport?

在SubReport上按右鍵 > Change SubReport Links >Available Fields 選擇要被SubReport所使用的欄位在SubReport有兩種使用方式

1. 勾選 "Select data in subreport based on field"

如果有勾選這個選項的話,在下面的的下拉式選單則會啟用,裡面會列出所有在SubReport裡已被使用的欄位,選擇要"等於"的欄位後按OK即可。

這 個方法可以想成類似 "篩選"的概念。SubReport 會找出與該次 MainReport 傳來的值相等的Records ,可以想見,一但 SubReport 如果是放在Detali Section,則 MainReport 有幾筆 Record ,傳給SubReport 的篩選值就有幾個, SubReport 也必須作相同次數的搜尋,所以是非常耗時間的呦。

2. 不勾選 "Select data in subreport based on field"

則可直接使用MainReport傳過來的欄位。開啟SubReport的Field Explorer 展開DataBase Fields,就可以看到剛剛Link過來MainReport的欄位,當成一般欄位使用就可以啦。

但 有一點要注意的是,若想要把MainReport裡的ParameterField Link到SubReport時似乎有點問題,你會發現CR不讓你在SubReport建立新的ParameterField。這時候當你把 MainReport的Parameter Link過來時,先不要取消勾選"Select data in subreport based on field",直接按OK讓他跟SubReport裡的某個欄位作Link,之後再重新打開"Change SubReport Links",選取該ParameterField並取消勾選"Select data in subreport based on field",就會發現SubReport裡有剛從MainReport裡Link過來的Parameter拉,我想這應該是CR程式的錯誤巴。

因為沒有辦法直接Set SubReport Paramater,因此要從Web傳入參數如字串或數字等,必須在 MainReport新增Parameter然後 Link 到SubReport來,是有點麻煩...不過也沒辦法囉。

SubReport 的限制

1.無法在 SubReport 再插入 SubReport

2.無法連接兩個SubReport (不能Share Fields or Parameter)

3.MainReport 的設定,如Page Setup、Save Data With Report....不會影響SubReport ,SubReport 必須另外自己做設定

CR如何幫我們的MainReport 以及SubReport 作連接?

SubReport的Menu > Report > Edit Selection Formula > Record,可以看到CR自動幫我們產生的公式

資料來源:http://itgroup.blueshop.com.tw/Gpx1981/gpx1981?n=convew&i=8934