FileMakerの「条件付き書式設定」は条件により自動で書式を変更することができ重宝しています。条件が真の場合は1、偽の場合は0を返し、真1の場合にフォント色、背景色他を設定するだけで自動で書式が変わってくれます。
条件1、条件2,条件3・・・のように複数条件により書式を変更することも可能です。Case文のようにCase(条件1;結果1;条件2;結果2、・・・・・)のように書式変更できるわけですね。
下の電子カルテで初診院により「美容外科初診カルテ」の背景色を変更する方法について考えてみましょう。
初診院が
- 浦和なら背景色をピンク
- 岩槻なら背景色を緑
- 新宿なら背景色を青
と背景色が動的に変化するように設定してみましょう。
条件付き書式を使わないで複数条件により書式を変える方法
別ファイルもしくは別テーブルで「色リスト」を作成。その中に分院別色リストフィールド(オブジェクト)を作成。[オプション]をクリックして、複数の色が入れられるように設定します。
[データの格納]で繰り返しの最大繰り返し数を設定。必要な色は3つですが、今回は5を設定。
色リストのデータは1枚だけのデータを作るだけ。分院別色リストのフィールドに
- 岩槻1→緑のグラフィック
- 新宿2→青のグラフィック
- 浦和3→ピンクのグラフィック
を収納しておきます。
元のファイルで背景色というフィールドを作成、計算フィールドにします。Case文で
Case(初診院=”岩槻”;GetRepetition(JM色リスト::分院別色リスト:1);初診院=”新宿”;GetRepetition(JM色リスト::分院別色リスト;2);初診院=”浦和”;GetRepetition(JM色リスト::分院別色リスト;3)
のように設定。
- 初診院が岩槻→色リストの中の分院別色リストの1番目の色を取得
- 初診院が新宿→色リストの中の分院別色リストの2番目の色を取得
- 初診院が浦和→色リストの中の分院別色リストの3番目の色を取得
このように設定した背景色フィールドを美容外科初診カルテのところに重ね合わせれば完了。
条件付き書式設定で複数条件がある場合の設定
条件付き書式設定ではフィールドだけではなく、テキストも設定可能になっています。美容外科初診カルテというテキストを選択して、右クリック>[条件付き書式]を選択
[追加]をクリックして、条件を設定。
- 計算式が・・・初診院=”浦和”→書式で文字色、塗りつぶし色を設定
- 計算式が・・・初診院=”新宿”→書式で文字色、塗りつぶし色を設定
- 計算式が・・・初診院=”岩槻”→書式で文字色、塗りつぶし色を設定
以上で複数条件により書式が自動で変わるようになりました。