2013-06-01 105 views
0

我正在使用SQL Server Reporting Services 2005.報告服務,文本框消息

我有一個報告,其中包含從SQL Server數據庫獲取數據的數據集。另外,我有兩種報告參數,分別是用戶在報告中選擇的DateTimeStartDate_paramEndDate_param)類型。

如果用戶挑選具有不同的月份日期,例如6月1日我已經設置的限制和5月3日,該過程停止:

我對報告屬性-----代碼段驗證碼管理限制:

Public Function ValidateDate(StartDate As DateTime, EndDate As DateTime) As DateTime 

    If (DateDiff(DateInterval.Month, StartDate, EndDate) <> 0) Then 

     Err.Raise(6,Report) 

    End If 

End Function 

,我設置了一個隱藏的參數CheckDateRange與這個表達式調用ValidateDate功能:

= Code.ValidateDate(Parameters!StartDate_param .Value, Parameters!EndDate_param .Value) 

氏S停止對SQL處理和我得到不同的月份進入的日期時,此錯誤:的「CheckDateRange的報表參數處理過程中

錯誤

但我想顯示在文本框的消息,而不是現在顯示的信息,我該怎麼做?

如果這是不可能的,那麼我能做些什麼呢?

感謝..

回答

1

什麼,而不是停止的過程中,只顯示一個不同的「報告」給用戶。此錯誤報告會顯示您想要向用戶顯示的錯誤消息。然後,您可以根據參數的評估條件設置報告的條件可見性,也可以更改「實際」報告的SQL,以便在用戶給出錯誤參數時甚至不會運行(此操作會阻止做一個現在無用的查詢,因爲這些數據將不會顯示)。

所以,如果你的報告現在是一個tablix設置tablix的可見性條件,當給出錯誤參數時隱藏。然後在該Tablix之外創建一個文本框,用於存儲錯誤消息併爲其提供相反的可見性條件邏輯。然後改變SQL查詢,以便在給出錯誤參數時它只返回一個空行。