Crystal Reports for Rational Application Developer ガイド

If 式を使用する(Crystal 構文)

If 式は、Crystal 構文で最も広く使用される機能の 1 つです。If 式はまた、式の性質を理解するポイントを示してくれます。式の前方にある If 式は、独立した式と見なします。この式が単一の式であり、そのためセミコロンを必要としない点に注意してください。
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
"one unit"
この式を変更して、条件を満たす場合は“2 個以上”と出力し、それ以外の場合は数字の 1 を出力するようにしたとします。
//An erroneous formula
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
1
この式はエラーになります。こらは、この式に使われている値の型が異なるためです。“2 個以上” は文字列型の値であり、1 は数値型の値です。Crystal Reports では、1 つの式の値は常に単一の型である必要があります。

この例を修正するには、CStr 関数を使用して、数値型の値 1 を文字列型の値に変換します。たとえば、CStr(1, 0)を呼び出すと、数値 1 は文字列“1”に変換されます。
//A correct formula
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
CStr (1, 0) //Use 0 decimals



Business Objects, an SAP company
http://japan.businessobjects.com/
サポート サービス
http://japan.businessobjects.com/support/
Web 上の製品マニュアル
http://support.businessobjects.com/documentation/