Вы, безусловно, можете выполнять эти проверки в SSRS без необходимости обращения к SQL. Но предоставление обратной связи пользователю является проблемой. Вы не можете динамически изменять пользовательский раздел ввода в диспетчере отчетов.
Что я сделал, чтобы удовлетворить почти идентичные требования:
Оставьте значение по умолчанию для параметров даты как NULL. Затем запишите свои чеки (в VB), чтобы в тексте отчета отображалось текстовое поле с предупреждающим сообщением («Неверные параметры: вы должны ...»), если проверка не удалась. Инверсия должна быть добавлена в любой раздел данных, чтобы он был скрыт при возвращении неверных данных. Если нет видимых ссылок на набор данных, запрос не выполняется.
Установка свойства видимости текстового поля на:
=IIF(Parameters!ShowInactive.Value = "Yes"
and (ISNothing(Parameters!InactiveFrom.Value)
or Isnothing(Parameters!InactiveTo.Value)),
false,
true)
отобразит текстовое поле, если для @InactiveParameter установлено значение «Да», а параметры @InactiveFrom или @InactiveTo не установлены.