2013-06-01 53 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查询,以便在给出错误参数时它只返回一个空行。