#sql-server #reporting-services
#sql-сервер #отчеты-службы
Вопрос:
У меня есть следующий код, который проверяет диапазон дат, выбранный в моем отчете
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 месяцев»
и для свойства Visibility установлена эта скрытая переменная.
Пока это работает
Однако, когда отчет запускается с выбранным диапазоном дат, превышающим 3 месяца, появляется текстовое поле, но набор данных по-прежнему выполняет извлечение данных (хранимая процедура).
Есть ли способ остановить RS от выполнения набора данных при сбое проверки диапазона дат?
Ответ №1:
Вероятно, вам потребуется добавить аналогичную проверку в вашу хранимую процедуру. Должно сработать что-то вроде следующего.
IF DATEDIFF(month, @startDate, @endDate) <= 3
BEGIN
[your stored procedure here]
END