s-s-rS 打开带有提供参数的子报告

Posted

技术标签:

【中文标题】s-s-rS 打开带有提供参数的子报告【英文标题】:s-s-rS Open sub report with provided parameters 【发布时间】:2020-12-10 10:31:20 【问题描述】:

我有一个包含 5 个参数的报告,我想从此报告中打开另一个包含 13 个参数的报告。 当我尝试打开此报告时,它说缺少一些参数。 我想知道是否有可能,如果我不传递参数,那么它应该在报告和 SQL 查询中忽略这些参数(所有这些都是多值参数)。 我不能使用“允许空值”,因为这些是多值参数。

This is main report

These are parameters in sub report which i want to call

有人可以帮帮我吗?或者我需要每次都使用精确的参数创建单独的子报表

【问题讨论】:

【参考方案1】:

有两种常用的方法。

使用列表默认值填充参数 在您的子报告中,以@service 为例。如果您可以从数据库中获取服务列表,则创建一个数据集以提供不同服务的列表,将其用作参数的默认值。然后,当您不从主报表传递任何内容时,子报表将使用所有服务。

将默认参数值设置为固定常数 另一种选择是将子报表参数设置为默认值,例如*all,然后在将其传递给子报表的数据集查询时进行处理。

所以数据集查询可能类似于

SELECT *
  FROM myTable
  WHERE location in (@location)
    AND (service = '*All' OR service IN(@Service)

【讨论】:

非常感谢......我没有为这些参数设置默认值,所以它不起作用。现在我已经设置它并按预期工作。非常感谢您的帮助 不客气。您能否将答案标记为已接受(向上/向下投票按钮下方的复选标记)。谢谢 投票时出错:感谢您的反馈!声望低于 15 人的投票会被记录,但不会更改公开显示的帖子得分。

以上是关于s-s-rS 打开带有提供参数的子报告的主要内容,如果未能解决你的问题,请参考以下文章

需要子报告上的页码从 s-s-rS 中的 2 开始

子报告中的 s-s-rS 2008 交互式排序未按预期工作

使用 C# 自定义代码从主报告 s-s-rS 调用子报告

s-s-rS 有条件地运行 SQL/DataSet

s-s-rS 2005,钻取中的“未指定某些参数或凭据”

Jasper报告:当其中一个子报告没有数据时,主报告为空白