将日期作为参数传递到子报表/其他报表以用作参数

use*_*357 5 subreport reporting-services

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

当你点击customername,第二个报告被称为(动作)传递3个参数- customername,datefromdateto作为参数传递给在第二份报告中使用.

当我单独运行每个报告时,两者都运行良好.当我运行第一个报告(选择报告类型,选择datefrom/ dateto)时,此报告会列出此报告类型的所有客户名称.当我点击它时customername,我收到一个错误:

'为报告参数'reportdatefrom'提供的值对于其类型'无效'(rsReportParameterTypeMismatch)

请帮忙.

Pet*_*hia 1

使用类似 format(Parameters!reportdatefrom.Value,"YYYYMMDD") 的方法将值强制转换为规范字符串,然后再将其传递到子报表。

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

无论如何,要解决这个问题,只需将日期转换为 ODBC 规范形式的字符串文字,然后再传递它们即可。

  • 字符串表达式应采用正确的格式:format(Parameters!reportdatefrom.Value,"yyyyMMdd")(注意年和日的小写)。在我的报告中有类似的问题和以下表达式:=Format(Parameters!reportdatefrom.Value, "dd/MM/yyyy") (2认同)