こんにちはmasalifeです。
Accessで入力フォームを構築する際に、少しでもユーザビリティを高めるために様々な工夫をしています。今までの経験で、
無くても困らないけど、あるとちょっと便利
な工夫を少しずつ記事にしていきたいと思っています。
今回紹介するのは、
カーソルがあるテキストボックスの色を変える
といった工夫です。
これから入力する項目が視覚的にはっきりと分かったほうが入力効率が上がります。
簡単に設定できるためぜひ活用してみてください。
完成形をイメージする
まずやりたい事をイメージしましょう。
「カーソルがあるテキストボックスの色を変えたい」ので、次のようなフォームとなるようにします。
これから入力する会員名のテキストボックスの色が変わります。
Accessの機能で設定する方法とVBAで設定する方法と2通り紹介します。
どちらも簡単なので、好きな方を使用してみてください。
Accessの機能で設定する方法
フォームをデザインビューで開いて、
設定したい(色を変更したい)テキストボックスを選択します。
【書式タブ】の【条件付き書式】アイコンをクリックします。
【新しいルール】アイコンをクリックします。
「現在のレコードの値を確認するか、式を使用する」が選択されている(default)ことを確認し、【フィールドの値】のコンボボックスをクリックします。
コンボボックスの項目から、【フォーカスのあるフィールド】を選択します。
*カーソルがあるテキストはフォーカスを取得しているため、【フォーカスのあるフィールド】に書式設定をすることとなります。
変更したい書式に設定をし、【OK】ボタンをクリックします。
【適用】ボタンをクリック後、【OK】ボタンをクリックします。
これで設定が完了です。
必要に応じて、他のテキストボックスも同様に設定してください。
赤枠のコンボボックスにコントロールの一覧が表示されますので、設定したいテキストボックスを選択後、同様の設定を行うのがオススメです。
VBAで設定する方法
フォームをデザインビューで開いて、
設定したい(色を変更したい)テキストボックスを選択し、プロパティを出します。
フォーカス取得時にコードを記述する
【イベントタブ】の【フォーカス取得時】の【…】アイコンをクリックします。
【コードビルダー】を設定し、【OK】ボタンをクリックします。
VBE画面に下記のコードを記述します。(2行目)
*RGB関数を用いて黄色にしています。
[crayon-6767a457e6ecd417369537/]
フォーカス取得後にコードを記述する
一度色が変わるとカーソルが移動しても黄色になりっぱなしになってしまうので、カーソルが移動した時は元の色(白色)に戻しましょう。
【イベントタブ】の【フォーカス喪失時】の【…】アイコンをクリックします。
【コードビルダー】を設定し、【OK】ボタンをクリックします。
VBE画面に下記のコードを記述します。(2行目)
*RGB関数を用いて白色(元に戻す)にしています。
[crayon-6767a457e6ed3343386661/]
これで設定が完了です。
必要に応じて、他のテキストボックスも同様に設定してください。
さいごに
いかがでしたでしょうか。簡単に設定できたと思います。
VBAで設定する癖が付くと、Accessの機能をついつい忘れちゃいます。
今回の機能も忘れていて、設定を探すのに時間がかかってしまいました…
すでに知っている人にも思い出す材料として活用していただければ幸いです。