2009-07-28 65 views
0

我對SSRS 2005比較新。我已經構建了簡單的報告和電子表格,但我剛開始深入探索SSRS/RDL這個有趣的世界。我試圖從一個報告(* .rdl)傳遞一個(自定義/非查詢)參數到另一個報告。雖然邏輯上我想添加一個全局變量,似乎沒有任何直接的方法/技術來做我想做的事情。看起來每個頁面/報告都有自己的參數,不允許報告共享彼此的信息。在SSRS 2005中報告之間傳遞參數

我想根據用戶選擇的選項來簡單地隱藏對象/項目。如果用戶選擇選項A或B,我想根據他們的選擇簡單地隱藏多個報表上的某些對象(在同一個項目中)。我只需檢查任何給定對象中可見性屬性的表達式中的參數值。沒有什麼複雜的。我已經測試過了,只有一個報告本身,它的工作原理。但是試着讓一份報告在另一份報告中讀到這個價值,並且沒有明確的路徑。

現在,我已經習慣了SSRS,我相信這是「正常」的程序員的方式,然後是「SSRS」方式。兩者相互排斥。所以要麼我試圖做一些永遠不會被允許的事情,這是一種「內置設計」功能,或者我正在以錯誤的方式去做。

想法?建議?也許我正在以這種錯誤的方式去做。

回答

1

好的,所以只有幾種方法可以將參數從一個頁面傳遞到下一個頁面。我(最終)發現我只是試圖將布爾值從一個傳遞給下一個。數據不是來自數據庫,而是手動的('true/false')。起初我以爲我需要類似於SSRS中的一些內置全局變量的全局變量。但是,正如我發現的那樣,您無法向該集合添加任何內容。

因此,在這一份報告中,我有一張圖片指向報告的「下一頁」頁面。在該對象/圖像中,您可以在該對象/圖像上設置導航參數。目前有意義。

在下一頁中,您的報告參數必須與下一頁中列出變量的位置相匹配。我猜SSRS將一個非關鍵數組從一個報告傳遞給下一個,所以索引/位置對於正確獲取參數至關重要。因此,箭頭可以讓您調整參數順序。這就是讓我失望的事情,但我認爲這是SSRS更加熟練,因爲參數通過的名稱必須匹配,而不是位置。

(恕我直言),因爲我看到的東西,SSRS has/tries /必須保持相當靜態。沒有事件,面向對象等的真實意義,但SSRS似乎將VB,VBA(表達式),SQL/T-SQL中的元素拼接在一起,並且產生了可用的產品。我想這是我的新視角。我相信它會隨着時間而改變。

0

使用子報表可能允許您提供所需的功能。否則,我知道從一個報告「傳遞」下一個報告的唯一方法是使用查詢字符串。

+0

謝謝,我會試試它的子報表。當然,我有一個rdl頁面調用另一個報告頁面,這是一個10+子報表的母版頁,所以我會嘗試跳過一個步驟,看看它是否工作。 – osij2is 2009-07-29 13:31:22