Crystal reports Crystal Reports 2011:在我创建了一个新的精确公式之后,公式就开始工作了

Crystal reports Crystal Reports 2011:在我创建了一个新的精确公式之后,公式就开始工作了,crystal-reports,crystal-reports-2011,Crystal Reports,Crystal Reports 2011,有没有人遇到过这样一个问题:一个公式由于未知的原因而不起作用,但如果我把它删掉。保存此公式,然后将其粘贴回,现在是否可以再次使用? 公式基本如下。这意味着要合计一个数字。它似乎没有正确地计算IF语句,并且始终使用0。但是一旦我把这个公式删掉并粘贴回去,它就会添加任何{@LYMAT_combined}值 whileprintingrecords; shared numberVar LYMAT_Comp; LYMAT_Comp := LYMAT_Comp + if {@Combo_Sales} &l

有没有人遇到过这样一个问题:一个公式由于未知的原因而不起作用,但如果我把它删掉。保存此公式,然后将其粘贴回,现在是否可以再次使用? 公式基本如下。这意味着要合计一个数字。它似乎没有正确地计算IF语句,并且始终使用0。但是一旦我把这个公式删掉并粘贴回去,它就会添加任何{@LYMAT_combined}值

whileprintingrecords;
shared numberVar LYMAT_Comp;
LYMAT_Comp := LYMAT_Comp + if {@Combo_Sales} < 24 then 0 else {@LYMAT_combined};
打印记录时;
LYMAT_Comp的共享号码;
LYMAT_Comp:=LYMAT_Comp+如果{@Combo_Sales}<24,则0其他{@LYMAT_combined};
此外,这是我的Calc_All公式,它位于a组页脚中,基本上对我在另一个显示总计的组页脚中调用的多个总计执行上述类似公式。Calc_All相当大是否有一定数量的公式行可以添加到公式字段?我声明了大约50个共享变量和其中的公式


首先要感谢,您不需要使用
Shared
scope——它只用于在主报表及其子报表之间共享值。改用
Global

在您的情况下,最好使用公式字段:

// {@LYMAT_Comp}
if {@Combo_Sales} < 24 then 0 
else {@LYMAT_combined}
/{@LYMAT_Comp}
如果{@Combo_Sales}<24,则0
else{@LYMAT_combined}

然后总结公式字段(插入|摘要…

您可以在一个公式中做任何您想做的事情,没有限制,但请确保输出是一个,多个输出可能会导致错误

嗨,craig,我将它们声明为一个变量,因为我需要将数字存储在LYMAT_Comp variable中,然后我需要调用并在组页脚中显示该数字,其中将显示所有总计,这就是我使用共享范围的原因。我试着把它改成“全球”并把数字打出来,但似乎不起作用,所以我又把它改成了“共享”。感谢您花时间回答我的问题,只是想知道有没有人知道公式字段的大小是否有限制?Calc_All公式基本上是一个区域,我一直在存储我的3公式技巧的所有手动运行总计计算。我已经声明了大约60多个变量,包括大约50个手动运行的total公式。您可以轻松复制摘要字段并将其放置在组的页眉或页脚中。此外,您还可以在报告的页脚部分使用它(总计)。不要为自己做额外的工作。我不知道变量的数量是否有限制。如果可能的话,我尽量避免使用手动运行总计…嗨,克雷格。找出问题所在。在创建新公式时,我只是将公式随机添加到calc_all formula字段。但是,当我把它清理干净并按顺序排列时,就像在报告中调用第一个公式到最后,自上而下的方法一样,现在一切似乎都计算正确了。我核对了一些报告,看起来不错,希望这将是这个问题的结束