• ベストアンサー

ACCESSで条件によってフォーム上のフィールドの色を変更

一覧形式のフォームがあり、条件によって色を変更したいのですが、その条件というのが下記のような感じです。 フィールドA | フィールドB | フィールドC | チェックボックス チェックボックスのチェックがあったら、フィールドA・B・Cの色をグレーにする。 チェックがなかったら白いまま。 というものです。 条件付書式だと、色を変更するフィールドそのもののデータを参照にしないといけないんですよね? フォームオープンのところにVBAをかいてみたんですが、ひとつひとつは認識してないみたいで…。 どのようにすればいいのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • o23
  • ベストアンサー率36% (64/175)
回答No.4

フォームのデザイン画面で3つのフィールドすべて選択し条件付書式画面を表示させる。 条件1のコンボで”式”を選択。 右側の欄に[チェックボックスのコントロール名]=True と入力し、バケツアイコンでグレーを選択。 (もちろん1フィールドづつ設定してもOK)

KODAMAR
質問者

お礼

回答ありがとうございます。 別フィールドの値を参考にしても条件付書式は使えるんですね。 知りませんでした。 ありがとうございました。

その他の回答 (3)

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.3

あぁ、コーデリング間違ってるわ・・・なにやってんだか・・・ 改めて if チェックボックス.value=true then フィールドA.BackColor=8421504 フィールドB.BackColor=8421504 フィールドC.BackColor=8421504 else フィールドA.BackColor=vbwhite フィールドB.BackColor=vbwhite フィールドC.BackColor=vbwhite endif

KODAMAR
質問者

お礼

3度も回答ありがとうございます。 ですがこれだとチェックボックスのチェックを入れたとき、となってしまいますよね? その一覧フォームではデータ更新・変更などは行わないんです。 表示のみで…。 で、開いたときに、その値をもとに…っていうのをやりたいんです。 また何かありましたら教えてください。

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.2

もう一回 よく質問を読んでませんでした。グレーにしたいのですね ということは 「vbblue」を「8421504」にしてください。ちょっと濃い目のグレーの色番号です。

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.1

チェックボックスの更新後のイベントプロシージャで 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だと色が濃いですから色は適当にどうぞ

関連するQ&A

専門家に質問してみよう