在Crystal Reports 2008中,我有一个包含arg_beg_date和arg_end_date参数的主报表。我想将这些传递给子报告,但是无法将其传递给子报告。子报表中有一个带有SQL查询的Command - SELECT * FROM TXFR以保持简单。我在名为beg_date和end_date的子报表中创建了两个参数,然后将WHERE TXFR_DATE BETWEEN {?BEG_DATE}和{?END_DATE}添加到查询中。我尝试更改子报表链接,在可用字段中找到arg_beg_date,然后单击“>”将其移动到字段以链接到框。
此时我只看到“Pm-?arg_beg_date”和“参数字段”作为“要使用的子报表参数字段”框中的选项。我无法将主报表中的arg_beg_date链接到我在子报表中创建的beg_date参数。
我在另一个问题中看到有人建议选中“根据字段选择子报表的日期”框并选择“报表字段”,但我无法做到。它只是突出显示并选择框中下方的字段。
有什么想法吗?
答案 0 :(得分:3)
我最近构建了相同的报告,其中子报表是命令行。我还没有编写过程,但如果您将参数从主报表传递到子报表,这就是参数的样子。
在子报表SQL中,参数必须为此
WHFR TXFR_DATE BETWEEN {?Pm-?arg_beg_date}和{?Pm-?arg_end_date}
然后在参数列表中创建
在主报告中,更改子报告链接...
如果你想传递一个字段而不是一个参数而你在主报表中使用了一个命令,那么步骤与上面相同,但是看起来像这样。
子报告SQL
{?PM-Command.FieldName}
参数列表
PM-Command.FieldName
答案 1 :(得分:0)
我弄清楚我做错了什么。参数未显示在要链接的列表中,因为类型不匹配。主报表中的参数类型是DateTime,子报表中的类型是Date。他们必须完全匹配。
感谢您的帮助。