2011-12-05 36 views
0

我有一個組主報表,part_id,其中包含組報頭中的子報表。在子報告中有兩個鏈接的參數。一個是part_id,與主組中的一樣,另一個是stores_codepart_id參數工作正常,但stores_code參數不正確。如果選擇stores_code,那麼它可以工作,但如果沒有選擇stores_code,那麼子報告只返回一條記錄。我期待它會返回所有stores_codepart_id。這是因爲子報告是在組標題?如果我刪除* stores_code *的鏈接,那麼所有記錄都顯示在子報表中,但是我有相反的問題。如果用戶選擇特定的stores_code,則該子報告仍顯示所有記錄。水晶報表鏈接的子報表參數無法正常工作

我的研究讓我相信我需要將我的參數設置更改爲allow multiple and/or to make it optional and/or give it a default and/or allow null values for the parameter。但是,在添加子報表鏈接時,我使用由Crystal自動創建的參數。當你右鍵點擊這些參數時,編輯選項不可用。所以我想我需要製作自己的參數,更改設置,然後鏈接到它們。但是,當我創建自己的參數並鏈接到它們時,select data based on subreport field選項不可用。

爲了使這更加明顯,這些報告從第三方應用程序運行。在這個應用程序中可以選擇part_idstores_code。這是一種黑匣子,因爲我在主報告中實際上沒有part_idstores_code參數。該應用程序負責選擇,但我不知道如何。

+0

在子報表中,如何使用{stores_code}參數?它是一個存儲過程參數還是用在記錄選擇公式中? – dotjoe

+0

它用於選擇公式。 Crystal將它添加爲{?Pm-Param2} = {field2}。我將「=」改爲「IN」,但沒有奏效。 – user1011625

回答

1

如果您在'part_id'組頭中顯示子報告,那麼您唯一可以依賴的可靠字段就是'part_id'。如果每個組中有多個'stores_code',則只有該組的第一個記錄的'stores_code'將被傳遞給該子報告。這也適用於記錄中的所有其他數據。

如果要根據某些'stores_code'通過用戶參數篩選整個報表,則需要將主報表的參數值傳遞給子報表並在那裏進行篩選。

+0

嗨,謝謝你的迴應。我認爲你是對的,但我沒有訪問主要報告參數值。主報告中沒有選擇公式。我認爲應用程序只是將選擇添加到發送到數據庫的查詢。 – user1011625

0

有與水晶報表的怪癖。在重新導入子報告之前,首先取消所有參數的鏈接更爲安全。重新導入後,您可以鏈接所有字段。否則,你會遇到奇怪的問題。