我需要你的助手将主报告中的参数值传递给子报告。我在主报告中定义了一个名为{?ReportNumber}的参数,其类型为Number,它是静态的。
在主要报告的选择专家中,我添加了以下代码:
{engine.reportnumber}={?ReportNumber}
这将从表中获取reportnumber的值,并将其分配给参数。每次运行报表时,值都会根据检索到的数据而有所不同。
在Subreport中,我再次创建了一个名为{?ReportNumber}的参数,其类型为Number,它是静态的。
我添加了一个子报告链接,它是{?ReportNumber}参数,下面我选择了匹配子报告中的{?ReportNumber}参数。
但是我的问题是,当我运行报告时,报告会提示我输入子报告的参数,即使我已经添加并为其分配了值,正如我在上面的步骤中所解释的那样。
我正在使用Crystal Reports 2011
甚至尝试在主报告中使用共享变量:
shared numbervar report_number := {engine.rptno};
report_number;
在子报告中,我创建了一个公式(" Shared_report_number")并将其放在报告标题中。它有代码:
shared numbervar report_number;
report_number;
我点击了Select Expert然后我选择了{engine.rptno}字段等于{@Shared_report_number},它产生了一个错误:该公式无法使用,因为它必须在以后评估
请帮助我将参数的值从主报告传递到子报告。
答案 0 :(得分:1)
此提示显示您的参数未正确链接。
链接参数时。在左侧,主报表参数显示 1.是sp参数 2.是自定义报告参数
链接时,请注意您已加入包含报告名称的自定义报告。
请检查以下链接,在第三张图片的UI部分,右下角你必须选择子报告参数。所以检查然后链接。
http://blog.niklasottosson.com/?p=1137
在您的情况下,我认为您的主报告参数是与自身链接。不使用子报告参数。
映射时请仔细检查此链接。