私は、関税、レンタル、シェア、総額、ネットなどのフィールドがあるCrystalレポートのデータを表示するビューを持っています。私の問題は、誰かがデータベースの関税を変更すると、通常の異なる関税の同じレコードの2行が表示されることです。データベースの観点からの動作ですが、同じIDの関税が異なる場合、またはレンタルが新しいレコードで繰り返される場合は、月額レンタルのフィールドを0に抑制したいと思います。
ID Tariff Rental
1 20 390
1 15 390
Idに基づいて重複している場合、レポートのレンタルのフィールドを抑制したいのですが、現在、この式をCrystalレポートで使用して、以前のフィールドデータをチェックし、重複している場合は抑制しています。
{DatabaseField} = Previous({DatabaseField})
それは正常に動作していますが、IDが同じでなく、レンタルが繰り返されると、不要なものも抑制されます。同じIDに対してのみ抑制させたいです。
数式をフィールド非表示に書き込む必要があります。 (重複している場合は非表示にする必要はありません)
レンタルフィールド{ID} = previous({ID})
および{rental} = previous({rental})
IDとレンタルが同じ場合、レポートのみがレンタルを抑制します。
これはうまくいくと思います。
Crystal Reportsで、[詳細]セクションを右クリックし、[セクションエキスパート]を選択します。
例:{Table.Databasefield} = Previous({Table.Databasefield})
これを非表示にするフィールドの抑制式に入れます。
{myTable.ID} = previous({myTable.ID})の場合はtrue、それ以外はfalse
Crystal XIで機能するように括弧を追加して、Janarthananによるソリューションの式を少し変更する必要がありました。
私が使用した:
{ID}=previous({ID}) and {rental}=previous({rental})
編集された質問に表示されるこの書式のバリエーションは、同様の問題を解決するのに役立ちました。