まず、これまでに質問されたことがあることをお詫び申し上げますが、答えが見つかりませんでした。要点:私の問題は次のとおりです。VS2010用のCrystal Reportsを使用しており、Ifチェックに基づいて1または-1を表示するフィールドがあります。
If IsNull ({Orders.OrderReplacedBy})
Then 1
Else -1
フィールドのnull値の場合はレポート1に表示され、それ以外の場合は-1が表示されます。問題は、私のレポートでは、ifテストの値に関係なく.00しか得られないことです。さらに、レポートに表示されているすべての1と-1の合計を計算する別の数式フィールドがあり、少し奇妙に機能しているようです。私のデータベースには合計772行あり、そのうち39行はNULLであり(したがって、合計が694の7331と39-1である必要があります)、表示される合計は488です。合計のコードは次のとおりです。
Sum({@N})
ここで、Nは1と-1を計算するフィールドです。
私がこれまでに試したこと:
- IfテストをIsNullからに変更しました
ToText({Orders.OrderReplacedBy})=""
{Orders.OrderReplacedBy}>0
データベースのOrderReplacedByフィールドが数値であり、ゼロ未満の値は存在できないため、Ifテストをに変更しました。したがって、NULLはElseをトリガーするだけです。- 数式の表示をに変更しよう
"1"
としましたが、何も機能しToNumber("1")
ないようです
正直なところ、他に何を試すべきかについてのアイデアはありません。また、Crystal Reportsの知識もありません(2日間しか使用しておらず、既存のアプリのレポートを変更する必要があります)。
どんな助けもいただければ幸いです、
ありがとう :)
PS:私はSilverlight4を使用しています