我有两份报告。第一个报表从下拉列表框中选择一个报表类型,并接受from/to dates,以及单击视图report时列出此报表类型的客户名称。
单击customername时,第二个报告被称为(action),传递3个参数-- customername、datefrom和dateto作为第二个报告中使用的参数。
当我单独运行每个报告时,两者都运行良好。当我运行第一个报表(选择report类型,选择datefrom/dateto)时,此报表将列出此报表类型的所有客户名称。当我点击customername时,我得到了一个错误:
‘为报表参数'reportdatefrom’提供的值对其类型无效(rsReportParameterTypeMismatch)
请帮帮忙。
发布于 2009-10-22 14:59:18
使用类似的格式(参数!reportdatefrom.Value,"YYYYMMDD")在将值传递给子报表之前将其强制放入规范字符串。
SSRS有时有问题w/日期时间。URL可寻址性意味着所有参数值无论如何都会转换为字符串,但默认转换规则在组件之间可能会有所不同。一个组件将生成另一个组件无法读取的日期时间文本。通常这是由于非美国的地区设置。
无论如何,要解决这个问题,只需在传递日期之前将日期转换为ODBC规范形式的字符串。
发布于 2016-08-10 04:21:33
这也取决于您如何将URL传递到子报表中。
如果通过主报表中的SubReport对象传递它,通过URL选项传递Action属性:

我建议您创建URL字符串,并向其中添加满足子报表参数要求所需的字段引用。
即
="http://serverXXXX/ReportServer?/FernandoReports/rptTET&rs:Command=Render&rc:toolbar=false&wsTETID=" + Fields!TETID.Value.ToString()这样,您就强制SSRS将整个字段值呈现为一个字符串,并从field表中得到正确的值。
发布于 2016-08-10 04:38:09
检查第二次报告中的类型参数--两个参数!从和参数!--都是日期时间类型,但我不知道调用第二次报告的方法是什么,但在我的例子中,我是这样做的
右键单击Textbox > Properties >SelectActionon左侧窗格>选择Go to Report选项,如下所示

然后添加要发送到第二次报告的参数。
确保参数!From和To (两个报表)都是Datetime .
https://stackoverflow.com/questions/1442743
复制相似问题