(при условии, что вы используете источник данных SQLServer) измените запрос так, чтобы он включал AND column IN (@ParameterName)
.
Если ваш параметр ParameterName
еще не существует, он должен появиться в списке отчетов.Параметры доступны в меню «Отчет».Выберите его в диалоговом окне «Параметры отчета» и установите флажок «Многозначный» (если он еще не установлен).
Если вы сейчас попробуете запустить отчет в окне предварительного просмотра, вы увидите, что ParameterName
может иметь нескольковыбранные значения.
РЕДАКТИРОВАТЬ, следующие комментарии:
Пара возможностей -
Использование динамического SQL: жесткий код доступных значений для множественного выборапараметры, так что их метки показывают удобные для пользователя описания типа адреса электронной почты, который будет включен, а их значения содержат имена полей, которые будут выбраны.Установите запрос во время выполнения, чтобы он был похож на "...and eMailID in (" & Join(Parameters!EMailField.Value, ", ") & ")"
.Динамический SQL обычно не рекомендуется из-за риска атак SQL-инъекций, но поскольку вы будете жестко программировать только доступные значения, это не должно вызывать проблем.
Использование предложений IN внутриПредложения IN: жестко закодируйте доступные значения для параметров множественного выбора, чтобы их метки отображали удобные описания типа включаемого адреса электронной почты, а их значения содержали значимые коды (такие как O, G и S).,Затем измените запрос так:
and eMailID in
( (case when 'O' in (@EMailField) then OwnersEmailField else NULL end),
(case when 'G' in (@EMailField) then GeneralEmailField else NULL end),
(case when 'S' in (@EMailField) then ServerEmailField else NULL end)
)