3

非常に単純な抑制式を Crystal Report (XI) フィールドに追加しようとしていますが、期待どおりに機能しません。

特定の条件が満たされた場合はテキスト ボックスを表示し、それ以外の場合は非表示にしたいと考えています。抑制ボックスにチェックを入れた状態で、現在の式は次のとおりです。

{table1.field1} = "V1" or
{table1.field2} <> "V2" or
PageNumber > 1

条件の 1 つ、2 つ、または 3 つすべての組み合わせが満たされた場合、テキストを表示します (いずれfield1field2returnもありませんnull)。

ただし、Crystal Reports は式の最初の行のみを評価しています。その場合field1 = V2、フィールドは表示されません。

どんな援助でも大歓迎です。

4

3 に答える 3

10

その少し混乱しますが、以下の方法を試してください...

3 つの条件すべてを満たそうとしている場合は、最初にそれを記述する必要があります。1 つの条件のいずれかが最初に満たされた場合、制御は到達せず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
于 2015-03-06T05:00:07.683 に答える
-1

これを試してください。ファイルされたレベルで抑制したいだけの場合は、ファイルされたレベルのままにしてください。セクション全体を抑制したい場合は、これをセクションレベルに入れます。

IF ({table1.field1} = "V1" OR {table1.field2} <> "V2" OR PageNumber > 1) THEN FALSE ELSE TRUE

于 2015-03-05T21:08:25.580 に答える