5

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

当您单击 时customername,将调用第二个报告(操作),传递 3 个参数 - customernamedatefromdateto作为要在第二个报告中使用的参数。

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

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

请帮忙。

4

3 回答 3

1

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

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

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

于 2009-10-22T14:59:18.167 回答
0

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

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

在此处输入图像描述

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

IE

="http://serverXXXX/ReportServer?/FernandoReports/rptTET&rs:Command=Render&rc:toolbar=false&wsTETID=" + Fields!TETID.Value.ToString()

这样,您将强制 SSRS 将整个字段值呈现为具有字段表中正确值的字符串。

于 2016-08-10T04:21:33.913 回答
0

检查第二份报告中的类型参数参数!从和参数!到都是日期时间类型,但我不知道你调用第二份报告的方法,但在我的情况下,我是这样的

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

在此处输入图像描述

然后添加参数以发送到第二个报告。

确保参数!从和到(两个报告)是日期时间类型。

于 2016-08-10T04:38:09.090 回答