将子报表值传递给主报表

Raj*_*esh 6 crystal-reports

在我的报告中,我传递的子报告总数显示在主报告中,因为我使用下面的公式,

在子报告中,

WhilePrintingRecords;
Shared Numbervar EvTotal:= cdbl({Evaluation_Details.NOOFCOPIESEVALUATED})
Run Code Online (Sandbox Code Playgroud)

在主报告中,

Shared NumberVar EvTotal;
EvTotal;
Run Code Online (Sandbox Code Playgroud)

但是当我在主报表中包含公式显示时,它显示为"0"而不是"子报表总计"

cam*_*o_1 11

有几件事:你的代码中有一些拼写错误.在这里你错过了最后的分号:

WhilePrintingRecords;
Shared Numbervar EvTotal:= cdbl({Evaluation_Details.NOOFCOPIESEVALUATED});
Run Code Online (Sandbox Code Playgroud)

在这里你不需要分号:

Shared NumberVar EvTotal;
EvTotal
Run Code Online (Sandbox Code Playgroud)

正如@Raphael指出的那样,重要的是层次结构中的子报表高于主报表中调用变量的公式.我还建议有"WhileReadingRecords;" 在这两种情况下,您都可以确保他们同时进行评估.此外,作为一个小调试帮助,将"EvTotal"放在第一个公式的末尾,这样你就可以看到值是/应该是什么.