如果日期验证失败,则停止执行数据集的RS

时间:2019-04-01 14:24:24

标签: sql-server reporting-services

我有以下代码可以检查报告中选择的日期范围

Function ValidateDateRange(StartDate as DateTime , EndDate as DateTime) as Boolean
Dim RetValue As Boolean
RetValue = "False"
if(DateDiff("m",StartDate,EndDate)>3) Then
    RetValue = "False"
Else
    RetValue = "True"
End if
Return RetValue
End Function`

我创建了一个名为“ ValidateDate”的隐藏参数,并将此代码作为表达式分配给“默认值”

=Code.ValidateDateRange(Parameters!DateFrom.Value, Parameters!DateTo.Value)

我有一个显示消息的文本框

所选日期范围必须小于3个月

并将“可见性”属性设置为此隐藏变量。

到目前为止,这很多作品

但是,当报表在选定的日期范围大于3个月的情况下运行时,会出现文本框,但数据集仍会执行检索数据(存储过程)的操作。

当日期范围验证失败时,是否可以阻止RS执行数据集?

1 个答案:

答案 0 :(得分:1)

您可能需要向存储过程添加类似的验证。像下面这样的东西应该起作用。

IF DATEDIFF(month, @startDate, @endDate) <= 3
   BEGIN
   [your stored procedure here]
   END