Access。クエリで数値がマイナスなら赤色の「▲」で表示したい
<Access:表示形式>
Excelの桁区切りスタイルのボタン。そう、三桁区切のカンマボタンをクリックして、スタイルを設定後、数値をマイナスにすると、自動的に「赤色」に変わりますが、これと同じことを、Accessの演算フィールドの算出結果にも行いたい場合、どうしたらいいでしょうか?
Accessには、残念ながらExcelの三桁区切りのボタンは存在していません。
では、次のテーブルからクエリを作っていきます。
作成タブのクエリデザインをつかって、クエリをつくっていきます。
売上目標と売上高の差を算出する演算フィールドを算出していきますので、
目標差: [売上高]-[売上目標]
という演算フィールドをつくります。
ここまでの状態を確認してみましょう。
目標差は、正数も負数もゼロも、文字の色は黒色です。マイナスは、「▲」の表示でもありません。
この算出結果をケースによって変えていきたいわけです。
デザインビューに切り替えます。
演算フィールドを選択します。
カーソルがあるだけでも、選択されている状態ですが、今回はわかりやすいように、列で選択しています。
クエリツールのデザインタブにある「プロパティシート」をクリックします。
プロパティシート作業ウィンドウが表示されますので、標準タブの書式に、次の設定を行います。
#;[赤]▲#;0;#
と設定したら、実行して確認してみましょう。
マイナスの結果のところは、赤色で「-」ではなく「▲」で表示することができました。
#;[赤]▲#;0;# は、
正数;負数;ゼロ;文字という順番のルールになっています。
基本的には、Excelの表示形式と同じですね。
負数のところは、[赤]とすることで、文字の色を赤色にすることができますし、▲と設定してあるので、負数の時には、▲で表示するように設定した表示形式ですね。
さて、ここでアレンジというとかアイディアでIF関数のようなことも設定することができます。
目標差の演算フィールドのとなりに、達成という演算フィールドをつくります。
達成: [売上高]-[売上目標]
という演算フィールドをつくりました。
やりたいことは、売上高が売上目標より大きければ、「達成」
越えなければ「達成せず」、もし同じ場合は「同じ」という文字を表示したいということが、先程と同じ方法で、設定することができます。
"達成";"達成せず";"同じ" とプロパティシートの書式に設定します。
たったこれだけですが、実行して確認してみましょう。
このように、達成の有無を表示することができました。
IF関数でいいのでは?と思うかもしれませんが、Accessの場合、三分岐を設定する場合、IIF関数でつくるのが少々面倒と感じられる方もいますので、プロパティシートの書式で設定する方法もあります。