フォームおよびレポートでは、コントロールの値などに応じてレコードごとにコントロールの書式(フォント、背景色など)を変えることができ、この機能を条件付き書式といいます。
なお、条件付き書式を設定できるコントロールはテキストボックスとコンボボックスの2種類です。
設定例
コントロールの値に応じて書式を変える
はじめに、コントロールが記録している値により書式を変える例を見てみます。
画像はサンプルとなるフォームで、各都道府県の名称と人口(2010年及び2015年)が表示されています。
ここで次のように設定をするものとします。
- 「人口2010」の値が500万以上である場合に、その背景色を赤色にする
「人口2010」のテキストボックスを選んだ状態で、書式タブから「条件付き書式」をクリックします。
「条件付き書式ルールの管理」というダイアログが現れます。
何も設定されていない状態ですので、まずは「新しいルール」をクリックします。
すると「新しい書式ルール」というダイアログが現れます。
下側の左から2番目の欄で「次の値以上」を選択します。
そして右側の欄に「5000000」と入力します。
さらにバケツのアイコン(背景色設定)をクリックし、色は赤色を選択します。
プレビュー(「AaBbCcYyZz」という部分)が赤色になっていることを確認して「OK」に進みます。
先ほどの「条件付き書式ルールの管理」というダイアログに戻りました。
ここでも「OK」とし、設定を終了します。
フォームビューです。
ちょっとどぎつい色になりましたが、値が500万以上のテキストボックスが赤くなっています。
複数の条件付き書式の設定
さて、同じコントロールに対して条件付き書式を複数設定することができます。
そこで上記の設定に引き続き、次のように設定をするものとします。
- 「人口2010」の値が200万以上である場合に、その背景色をオレンジ色にする
再度「人口2010」を選択した状態で「条件付き書式」メニューをクリックし、「条件付き書式ルールの管理」ダイアログから「新しいメニュー」選択します。
その先の画像は省略しますが、上記(5つ上の画像)と同じ要領で「次の値以上」「2000000」と入力して背景色はオレンジ色を選択し、「OK」として「条件付き書式ルールの管理」ダイアログに戻ります。
さて、画像は「条件付き書式ルールの管理」ダイアログに戻ったところです。条件が2つ設定されているのが分かります。
コントロールが複数の条件を満たす場合、上位の条件が優先されます。よってこの設定では人口が「500万以上」であれば背景色が赤色に、人口が「200万以上500万未満」であればオレンジ色になります。
フォームビューの様子です。
人口200万人以上500万人未満の場合、確かに背景色がオレンジ色となっています。
ついでに「人口2015」列にも同じように設定をした様子です。
条件式に基づき書式を変える(他のコントロールとの比較)
条件付き書式では、式の真偽により条件を設定することができます。
代表的な例は、あるコントロールと他のコントロールの値を比較して書式を設定するというものです。
ここでは上記と同じフォームを例として、次のように設定をするものとします。
- 「人口2015」の値が「人口2010」の値より大きい場合に、「人口2015」の背景色を太字にする
「人口2015」のテキストボックスを選んだ状態で、書式タブから「条件付き書式」をクリックし「条件付き書式ルールの管理」ダイアログから「新しいメニュー」を選択して「新しい書式ルール」ダイアログに進んだところです。
ここで、左の欄から「式」を選択します。
そして右側の欄に「[人口2010]<[人口2015]」という式を入力します。
さらにBの字のマーク(太字の設定)をクリックしてOKに進み設定完了です。
フォームビューです。
「人口2015」の値が「人口2010」より大きい場合のみ、太字になっています。
フォーカスのあるコントロールの書式を変える
コントロールの値などに関係なく、「フォーカスのあるコントロール」の書式を変えることもできます(書式が変わるのは当該レコードのみ)。つまり操作中のコントロールを目立たせることができます。
ここでは「都道府県コード」にフォーカスがあるときに書式を変えるものとします。「都道府県コード」を選んだ状態で「条件付き書式」メニューを選択し「新しい書式ルール」ダイアログに進んだところです。
ここで左側の欄から「フォーカスのあるフィールド」を選択します。
条件設定はこれだけで終了ですので、次に書式を設定します。
次にバケツマークを選んで黄色を選んでみます。
簡単ですが以上で設定完了ですので「OK」に進みます。
これでフォーカスのあるコントロールの背景色が黄色くなります。
フォームビューで都道府県コードをクリックしてフォーカスを当てると、そのレコードのみ都道府県コードの背景色が変わりました。
ただし、同じ詳細セクションにある他のテキストボックス(都道府県名)を選んでも書式は変わりません。
この方法ですべてのコントロールに同じ設定をしても、書式が変わるコントロールは1つだけです(フォーカスのあるコントロールだけ)。どう設定しても複数のコントロールを同時に目立たせることはできません。
なお、フォーカスのある詳細セクションを全体的に目立たせる例として、次のような方法もあります。ただしなかなか面倒です。