我有一个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');
答案 0 :(得分:0)
Sql语句可以是一个表达式,因此您可以从头开始构建它,例如:
="Select Name, Place from UDetails where BatchNo IN ('" & Replace(valuetypedintextbox, ",", "','") & "');"
答案 1 :(得分:0)
我会转到数据集属性,参数窗格。我会编辑该参数的参数值并将其设置为:
=拆分(@ valuetypedintextbox,",")