Crystal Report链接的子报表参数无法正常工作

时间:2011-12-05 21:46:39

标签: crystal-reports report

我有一个主报告,其中包含一个组part_id,其中包含组头中的子报告。 子报告中有两个链接的参数。一个是part_id,与主要组中的组相同,另一个是stores_codepart_id参数工作正常,但stores_code参数不正常。如果选择了stores_code,那么它可以正常工作,但如果没有选择stores_code,则子报表只返回一条记录。我原以为它会返回 stores_code的所有part_id 。这是因为子报告位于组标题中吗?如果我删除了* stores_code *的链接,那么所有记录都显示在子报表中,但是我遇到了相反的问题。如果用户选择特定的stores_code,子报表仍会显示所有记录。

我的研究让我相信我需要将参数的设置更改为allow multiple and/or to make it optional and/or give it a default and/or allow null values for the parameter。但是,我在添加子报表链接时使用Crystal自动创建的参数。右键单击这些参数时,编辑选项不可用。所以我想我需要创建自己的参数,更改设置,然后链接到它们。但是,当我创建自己的参数并链接到它们时,select data based on subreport field选项不可用。

为了使这一点更加明显,这些报告是从第三方应用程序运行的。 part_idstores_code的选择是在此应用程序中进行的。它有点像黑盒子,因为我在主报告中实际上没有part_idstores_code参数。该应用程序负责选择,但我不确切知道如何。

3 个答案:

答案 0 :(得分:1)

如果您在'part_id'组标题中显示子报告,则可以指望可靠的唯一字段是'part_id'。如果每个组中有多个'stores_code',则只有该组的 first 记录的'stores_code'才会传递到子报告。这也适用于记录中的所有其他数据。

如果要根据某些'stores_code'通过用户参数过滤整个报表,则需要将主报表的参数值传递给子报表并在那里进行过滤。

答案 1 :(得分:0)

我最终取消了第二个参数的链接,并为其添加了“ALL”选项并相应地调整了选择公式。与此示例类似:

http://cogniza.com/wordpress/2005/11/24/crystal-reports-optional-multi-select-parameters/

答案 2 :(得分:0)

Crystal Report存在一些怪癖。在重新导入子报告之前,首先取消链接所有参数会更安全。重新导入后,您可以链接所有字段。否则你会遇到奇怪的问题。