条件付き属性プロパティでは、複数の条件のうちのどの条件を満たしているかが評価されます。次に、プログラムは、その条件に合った書式設定を適用します。たとえば、一定値以下の値を赤で出力し、その他の値は黒で出力することにします。プログラムは、まず、値が一定値以下かどうかを評価します。値が一定値以下の場合は、“赤”の属性が適用されます。一定値以下でない場合は、“黒”の属性が適用されます。
このような条件付き書式設定には、If-Then-Else 式を使用します。
Crystal 構文の例
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then
crRed
Else
crBlack
条件付き属性プロパティの式を作成する場合、Crystal Reports では、式ビューの式のコメント領域に、属性のオプションが表示されます。これらの任意の属性を選択して、式に使用できます。たとえば、条件付きで背景色を設定する場合は、使用可能な色の属性を含むオプションが表示されます。条件付きで境界線を設定する場合は、crSingleLine、crDoubleLine、crDashedLine、crDottedLine、crNoLine などの属性を含むオプションが表示されます。
注 Else キーワードは必ず条件式に含めてください。含まれていないと、If 条件に合致しない値が元の書式に残る場合があります。If 条件に合致しない値を元の書式に残す場合は、Default Attribute 関数を使用します。DefaultAttribute 関数は、プロパティ ビューで設定された書式設定プロパティの値を返します。
Crystal 構文の例
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then
crRed
Else
DefaultAttribute
このようなプロパティには、より詳細な指定を行うこともできます。いくつかの条件を指定し、それぞれにプロパティを設定できます。条件は 2 つに制限されません。たとえば、レポートに、世界各国の売上高を含む数値型フィールドがある場合は、国ごとに数値属性を指定できます。この場合、条件が A 国の場合は、A 国の属性が適用されます。条件が B 国の場合は B 国の属性、C 国の場合は C 国の属性が適用されます。
複数の選択肢がある場合は、次のような式を使用します。
Crystal 構文の例
If {CUSTOMER.Country} = "Canada" Then
crRed
Else If {CUSTOMER.Country} = "England" Then
crBlack
Else If {CUSTOMER.Country} = "Australia" Then
crGreen
Else
crBlue
このような条件付き書式設定には、複数条件の If-Then-Else 式を使用します。