Строка, разделенная запятыми, для запроса в SSRS

У меня есть отчет SSRS, в котором есть текстовое поле для ввода значений. Пользователь может ввести одно значение или несколько значений, разделенных запятой.

Мой вызываемый запрос отчета:

Select Name, Place from UDetails where BatchNo IN (valuetypedintextbox);

Если пользователь вводит A001, мой запрос возвращает правильный набор результатов:

Select Name, Place from UDetails where BatchNo IN ('A001')

Но если они введут A001, A002, мой запрос не вернет правильный набор результатов, поскольку он обрабатывает текст как одну строку:
Select Name, Place from UDetails where BatchNo IN ('A001,A002');

И, следовательно, не возвращает никакого набора результатов. Я хочу, чтобы отчет SSRS отправлял ниже входного значения, то есть «A001», «A002».

Самый простой способ, который я могу придумать, - это использовать функцию замены для замены на ',' но здесь я не смогу добавить первую и последнюю кавычки '. Кто-нибудь сталкивался с подобной ситуацией ранее??

Select Name, Place from UDetails where BatchNo IN ('A001','A002');


person user1820973    schedule 09.05.2014    source источник


Ответы (2)


Оператор Sql может быть выражением, поэтому вы можете создать его с нуля, выполнив что-то вроде:

="Select Name, Place from UDetails where BatchNo IN ('" & Replace(valuetypedintextbox, ",", "','") & "');"
person Chris Latta    schedule 09.05.2014
comment
Мой отчет SSRS не позволяет мне написать этот запрос. - person user1820973; 09.05.2014
comment
Вам нужно, чтобы запрос был в текстовом режиме - person Chris Latta; 09.05.2014

Я бы перешел на панель «Свойства набора данных», «Параметры». Я бы отредактировал значение параметра для этого параметра и установил для него что-то вроде:

= Разделить ( @valuetypedintextbox , "," )

person Mike Honey    schedule 12.05.2014