- ベストアンサー
ACCESSで条件によってフォーム上のフィールドの色を変更
一覧形式のフォームがあり、条件によって色を変更したいのですが、その条件というのが下記のような感じです。 フィールドA | フィールドB | フィールドC | チェックボックス チェックボックスのチェックがあったら、フィールドA・B・Cの色をグレーにする。 チェックがなかったら白いまま。 というものです。 条件付書式だと、色を変更するフィールドそのもののデータを参照にしないといけないんですよね? フォームオープンのところにVBAをかいてみたんですが、ひとつひとつは認識してないみたいで…。 どのようにすればいいのでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
フォームのデザイン画面で3つのフィールドすべて選択し条件付書式画面を表示させる。 条件1のコンボで”式”を選択。 右側の欄に[チェックボックスのコントロール名]=True と入力し、バケツアイコンでグレーを選択。 (もちろん1フィールドづつ設定してもOK)
その他の回答 (3)
- souta_n
- ベストアンサー率33% (79/234)
あぁ、コーデリング間違ってるわ・・・なにやってんだか・・・ 改めて if チェックボックス.value=true then フィールドA.BackColor=8421504 フィールドB.BackColor=8421504 フィールドC.BackColor=8421504 else フィールドA.BackColor=vbwhite フィールドB.BackColor=vbwhite フィールドC.BackColor=vbwhite endif
お礼
3度も回答ありがとうございます。 ですがこれだとチェックボックスのチェックを入れたとき、となってしまいますよね? その一覧フォームではデータ更新・変更などは行わないんです。 表示のみで…。 で、開いたときに、その値をもとに…っていうのをやりたいんです。 また何かありましたら教えてください。
- souta_n
- ベストアンサー率33% (79/234)
もう一回 よく質問を読んでませんでした。グレーにしたいのですね ということは 「vbblue」を「8421504」にしてください。ちょっと濃い目のグレーの色番号です。
- souta_n
- ベストアンサー率33% (79/234)
チェックボックスの更新後のイベントプロシージャで if チェックボックス.value=true then フィールド1.BackColor=vbblue フィールド2.BackColor=vbblue フィールド1.BackColor=vbblue else フィールド1.BackColor=vbwhite フィールド2.BackColor=vbwhite フィールド1.BackColor=vbwhite endif ではいかがですか? vbblueだと色が濃いですから色は適当にどうぞ
お礼
回答ありがとうございます。 別フィールドの値を参考にしても条件付書式は使えるんですね。 知りませんでした。 ありがとうございました。