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

发布于 2024-08-04 15:52:40 字数 499 浏览 5 评论 0原文

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

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

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

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

请帮忙。

I have two reports. The first report selects a report type from a dropdownbox and accepts from/to dates and when click on the view report - lists customer names for this report type.

When you click on the customername, the second report is called (action) passing 3 parameters - customername, datefrom, and dateto as parameters to be used in the second report.

When I run each report individually, both run fine. When I run the first report (select report type, select datefrom/dateto), this report lists all customer names for this report type. When I click on the customername, I am getting an error:

'The value provided for the report parameter 'reportdatefrom' is not
valid for its type' (rsReportParameterTypeMismatch)

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不离久伴 2024-08-11 15:52:40

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

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

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

Use something like format(Parameters!reportdatefrom.Value,"YYYYMMDD") to force the value into a canonical string before passing it to the subreport.

SSRS sometimes has issues w/ date times. The URL addressability means that all parameter values get converted to strings anyhow, but default conversion rules can run differ between components. One component will generate a date time literal that another component can't read. Usually this is due to non-US regional settings.

Anyhow, to get around this, just convert dates to string literals in ODBC canonical form before passing them around.

━╋う一瞬間旳綻放 2024-08-11 15:52:40

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

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

在此处输入图像描述

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

即,

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

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

It depends too on how you're passing the URL into the sub-report.

If you're passing it via the SubReport object in your main report, and the Action property via the URL option:

enter image description here

I suggest you create the URL string and add to it the Field references you require to fulfill the subreport's parameter requirements.

ie

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

That way you're forcing SSRS to render the entire field value as one string with the correct value from the Fields table.

挽心 2024-08-11 15:52:40

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

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

在此处输入图像描述

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

确保参数!From 和 To(均报告)为日期时间类型。

Check Type Parameter in 2st report Both Parameters!From and Parameters!To are Datetime Type but i dont know what method you call 2st report but in my case I you this way

Right click on Textbox > Properties > select Action on left pane > choose Go to Report option like this image below

enter image description here

Then add parameter to send to 2st report.

Make sure Parameters!From and To (both report) are Datetime Type.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文