Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 将日期作为参数传递给子报表/另一个报表以用作参数_Reporting Services_Subreport - Fatal编程技术网

Reporting services 将日期作为参数传递给子报表/另一个报表以用作参数

Reporting services 将日期作为参数传递给子报表/另一个报表以用作参数,reporting-services,subreport,Reporting Services,Subreport,我有两份报告。第一个报告从下拉框中选择一个报告类型,并接受从/到日期以及单击查看报告时-列出此报告类型的客户名称 当您单击customername时,第二个报告称为action,它传递了3个参数——customername、datefrom和dateto,作为要在第二个报告中使用的参数 当我单独运行每个报告时,两个报告都运行良好。当我运行第一个报告选择报告类型时,选择datefrom/dateto,此报告将列出此报告类型的所有客户名称。当我单击customername时,我得到一个错误: '为报

我有两份报告。第一个报告从下拉框中选择一个报告类型,并接受从/到日期以及单击查看报告时-列出此报告类型的客户名称

当您单击customername时,第二个报告称为action,它传递了3个参数——customername、datefrom和dateto,作为要在第二个报告中使用的参数

当我单独运行每个报告时,两个报告都运行良好。当我运行第一个报告选择报告类型时,选择datefrom/dateto,此报告将列出此报告类型的所有客户名称。当我单击customername时,我得到一个错误:

'为报表参数'reportdatefrom'提供的值不正确 对其类型“rsReportParameterTypeMismatch”有效


请帮助。

使用formatParameters之类的工具!reportdatefrom.Value,yyyyymmdd,用于在将值传递给子报表之前将其强制转换为规范字符串

SSR有时会出现带有日期时间的问题。URL可寻址性意味着所有参数值无论如何都会转换为字符串,但默认的转换规则在组件之间可能会有所不同。一个组件将生成另一个组件无法读取的日期时间文本。通常这是由于非美国地区设置


无论如何,要解决这个问题,只需在传递日期之前将日期转换为ODBC标准格式的字符串文字。

这也取决于您如何将URL传递到子报表中

如果通过主报表中的SubReport对象传递,并通过URL选项传递Action属性:

我建议您创建URL字符串,并向其中添加满足子报表参数要求所需的字段引用


这样,您就可以强制SSRS将整个字段值呈现为一个字符串,其中包含字段表中的正确值。

检查2st中的类型参数并报告两个参数!来自和参数!To是Datetime类型,但我不知道您将什么方法称为2st报告,但在我的情况下,我可以这样告诉您

右键单击文本框>属性>选择左窗格上的操作>选择转到报告选项,如下图所示

然后添加要发送到2st报告的参数


确定参数!From和To都是Datetime类型。

字符串表达式的格式应正确:formatParameters!reportdatefrom.Value,yyyyMMdd通知年份和日期的小写字母。在我的报告中有类似的问题和以下表达式:=FormatParameters!reportdatefrom.Value,年月日
="http://serverXXXX/ReportServer?/FernandoReports/rptTET&rs:Command=Render&rc:toolbar=false&wsTETID=" + Fields!TETID.Value.ToString()