Crystal报告抑制公式,多个OR运算符不起作用

pwl*_*wlm 2 formula suppress crystal-reports crystal-reports-xi

我试图在我的Crystal Report(XI)字段中添加一个非常简单的抑制公式,但它没有按预期工作.

如果满足某些条件,我希望文本框可见,否则抑制.勾选抑制框后,我当前的公式如下:

{table1.field1} = "V1" or
{table1.field2} <> "V2" or
PageNumber > 1
Run Code Online (Sandbox Code Playgroud)

如果满足1,2或所有3个条件的任何组合,则显示文本(既不返回field1也不field2返回null).

但Crystal Reports仅评估公式的第一行; 如果field1 = V2那时该字段没有显示.

任何援助都将非常感激.

Siv*_*iva 8

它有点令人困惑,但尝试下面的方式......

如果你想要满足所有3个条件,那么你需要首先写出来,因为如果首先满足任何一个条件,那么控制将永远不会达到statisying all 3 conditions和之后你满足每个条件的常规条件.

所以你的公式是:

If
({table1.field1} = "V1" and
{table1.field2} <> "V2" and
PageNumber > 1)
then false        //don't Supress when all are met
else if {table1.field1} = "V1"
Then false        //field1 is met so don't supress
else if {table1.field2} <> "V2"
then false        //field2 is met don't supress
else if PageNumber > 1
then false       //3rd condition is met don't supress
else true        //Supress anything as all conditions were failed
Run Code Online (Sandbox Code Playgroud)

  • @Siva 这很清楚。我要说的是,是否所有 3 个条件都为真,或者其中一个是否为真,都不会影响结果;无论哪种方式,它仍然会评估为“false”,因此前 5 行是多余的。如果你不理解或不相信我,我建议你为这 3 个陈述画一张真值表。 (2认同)