2010-06-28 73 views
1

我想知道是否有人可以讓我知道我做錯了以下哪些步驟。如何獲取SSRS中的子報表?

  1. 有一個空白的新報告(「空白」)
  2. 有一個現有的報告(「Sub1的」),它有它自己的 數據源和一個參數(INT,命名爲「可能性」,與 默認值)。這些在同一個項目和相同的文件夾中。
  3. 將子報表控件拖到新報表中
  4. 在子報表控件屬性中,選擇「Sub1」作爲「將此報表用作子報表」。
  5. 在參數選項卡中單擊添加。
  6. 嘗試從下拉列表中選擇一個名稱(它是空的)。
  7. 輸入'Likelihood'作爲名稱。
  8. 輸入'1'作爲值。
  9. 嘗試並預覽報告,得到'錯誤:無法顯示子報告'。在預覽和'rsErrorExecutingSubreport]執行子報告'SubReport1'時發生錯誤(實例:0):未將對象引用設置爲對象的實例。'在輸出(其中「Subreport1」是控制試圖使報告「Sub1的」的名義

事情我曾嘗試:。

  1. 輸入「= 1」作爲值
  2. 將相同類型和名稱的參數添加到我的主要報告'空白'。在子報告控件屬性中將參數選項卡留空。還嘗試將'可能性'條目的值設置爲等於空白報告上的參數'= Parameters!Likelihood.Value')。
  3. 將名稱設置爲'@Lelihood'(有關requi的錯誤響鈴名稱應符合CLR)。
  4. 將數據源和表等從子報表複製到空白父報表。

報表控件RDL:

<Subreport Name="Subreport1"> 
    <ReportName>Sub1</ReportName> 
    <Parameters> 
     <Parameter Name="Likelihood"> 
     <Value>10</Value> 
     </Parameter> 
    </Parameters> 
    <Top>2cm</Top> 
    <Left>2cm</Left> 
    <Height>7cm</Height> 
    <Width>7cm</Width> 
    <ZIndex>1</ZIndex> 
    <Style> 
     <Border> 
     <Style>None</Style> 
     </Border> 
    </Style> 
    </Subreport> 

我曾經遇到過很多人有類似的問題,但我還沒有找到一個解決方案,並希望在正確的方向點。

回答

2

我遇到了ActiveReports6上遇到相同錯誤的論壇。在這種情況下,用戶(DeepSeaDave)「在子報表的DataSourceChanged()事件中放置一個斷點,當[他調用]主報表的Run()方法時,DataSourceChanged事件[開啓]兩次。 ]當數據源[成爲]沒有...「

在我複製/重命名現有報告(以及子報告)作爲新模板。

解決方案:

通過刪除數據源(報告特定鏈接到共享數據源的項目)在我父母的報告,並重新創建它(節能與之間的逼搶),問題離開了!

0

我意識到我在我的子報表上使用了共享數據集,而其他人也遇到了這個問題。我刪除了我的子報表中的所有內容,但是直到我刪除了它沒有錯誤的情況下呈現的數據集(即,因爲我刪除了所有內容而如預期的那樣是空白頁)。考慮到這一點,我玩了一些設置,並拿出下面的「解決方案」。

一個「解決方案」,認爲「工作」對我來說是:

  1. 將數據集是不共享,保存,預覽(給力的「重新緩存」或其他)。
  2. 在父報告上添加一個等效的非共享數據集。嘗試預覽。
  3. 撤消原來的子報表更改(我從字面上做了一個源控制撤消)
  4. 確保您仍然可以預覽您的子報表。
  5. 刪除父報告中的數據集。
  6. 它神奇地工作。

我希望我知道是什麼導致它重新開始工作,我完全希望它會再次破裂,但我知道這是我做的,現在它的工作原理可能是它的緩存報告問題?

這不是一個解決方案,但我會非常感興趣的是,如果它可以幫助其他人,也許它會幫助我們找出問題。