我有一个VB 2008程序,它有一个进程,可以将一个事务编号列表构建成一个用逗号分隔的字符串。然后,它将使用Reporting Services 2005将该变量传递给SSRS报告。 我的问题是,现在客户已将其数据库和报告服务升级到2014年。
当报告开始加载时从程序中调用报告时,我可以看到所有的交易编号都是报告炸弹的参数框。
我可以从网上打开报告并手动输入一个交易号,然后选择查看报告并显示正确的数据。但是,一旦我键入2个事务编号,我会收到一个语法错误显示,显示第一个事务发生的语法错误。
我认为修复必须在报告的设计中并设置参数。我已经在参数的属性上检查了允许多值。
这不是一个用例,您可以让用户一次运行带有一个事务ID的报表,因为他们甚至不知道进程时的事务ID。
VB应用程序根据满足的事务要求的结束将ID拉到一起。
该报告是使用
的where
子句的基于文本的查询
where TransID in (@Trans)
,@Trans
是交易ID列表。这不是调用存储过程。
答案 0 :(得分:0)
转到数据集的“参数”选项卡,检查@Trans参数的设置方式。它应该是这样的:
=JOIN(Parameters!YourTransactionsParameterName.Value,",")