ACCESSフォームの「現在行の色を変える」方法を紹介します。
簡単な「VBA」と「条件付き書式」を使用します。
初心者の方にもわかるように、ていねいに説明しています。
パソコンで仕事の効率を上げたい方、ペーパーレスにもおすすめです。
✔ 以下のようなフォームを作成する方法を解説しています。
例えばデータを1件ずつチェックして行くような仕事では、データを印刷して定規を当てながら確認する方法が一般的です。
表形式フォームで現在行の色を変えることが出来れば、画面だけで仕事ができます。
画面だけで仕事ができれば、紙と画面の両方を見るよりも視線の移動が少なくなるなど、効率良く仕事を進める事が出来ます。
ペーパーレスというメリットもあります。
この記事はACCESSで業務の改善を行いたい方はもちろんですが、きちんと効果を捉える事で改善提案やQCサークルのネタにもなると思います。
クリップボードへのコピーも合わせて行うと効果的です。
※環境はWindows7、ACCESS2010を使用しています。
変更前と変更後の画面のイメージ
元のフォーム
変更後のフォーム
現在行の色を変える、作業の解説
- 表形式フォームは事前に作成しておいてください。
- フォームをデザインモードにして、不可視のテキストボックスを作成します。
- フォームの表示項目は必ず一意となるKEY項目が必要です。
- 「条件付き書式」を使用して、テキストボックスとKEY値が場合に色を変えるように設定します。
- .レコード移動時のイベントで、テキストボックスにKEY値をセットするVBAを作成します。
作業内容の詳細
テキストボックスを作成する
フォーム上にテキストボックスを作成します。
テキストボックスは見えないように不可視にします。
1-1 デザインモードでフォームを開きます。
1-2 テキストボックスを選びます。
1-3 フォームヘッダーの任意の場所にテキストボックスを作成します。
1-4 ラベルの部分は不要なので削除します。
1-5 テキストボックスのプロパティを表示します。
1-6 プロパティーシートの「すべて」タブの「名前」を任意に設定します。
※今回は「w発注番号」という名前にしました。
1-7 「書式」タブの「可視」を「いいえ」に変更します。
条件付き書式の設定
フォームのKEY項目とテキストエリアが同じ値の場合、条件付き書式で背景色を変更します。
2-1 デザインモードで「詳細」部分の全ての項目を選択します。
※左側のメモリのような部分をクリックする事で、そこの右側に配置されている全ての項目が選択状態になります。
2-2 「書式」→「条件付き書式」を選びます。
2-3 「条件付き書式ルールの管理」画面になるので、「新しいルール」を選びます。
2-4 「フィールドの値」を「式」に変更します。
2-5 式と入力した右側に「発注番号=w発注番号」と入力して、下側にある色の指定を行い「OK」を選びます。
2-6 「条件付き書式ルールの管理」画面に戻るので、もう一度「OK」で終了します。
レコード移動時の処理をVBAでコーディングする
レコード移動時のイベントで、テキストボックスにKEY値をセットするVBAモジュールを作成します。ここで作成するVBAは簡単です、誰でも記述できます。
3-1 デザインモードでデザイン画面の左上の□部分をクリックします。
3-2 プロパティーシートの「イベント」タブの「レコード移動時」の部分で[イベントプロシージャ]を選択します。
3-3 右側の「…」をクリックしてコードエディッターを開きます。
3-4 エディターが表示されます。
3-5 作成したテキストボックスにKEY項目をセットするようにコーディングします。
「ME!W発注番号 = ME!発注番号」
発注番号の値ををW発注番号に代入する命令です。
・ 「ME!」は簡単に言うと「このフォームの」という意味です
・ 「W発注番号」はテキストボックスの名前
・ 「発注番号」はKEY項目の名前
2-8 エディターを閉じます。
フォームを表示して色が変わることを確認する
最後にフォームを表示して背景色が変わることを確認します。
4-1 「ホーム」→「表示」を選びます。
4-2 フォームが表示されて、背景色が変更されている事が確認できます。
4-3 行の選択を変更して、カレントレコードの色が変わる事を確認します。
VBAは難しい?
ところで、VBAは難しいでしょうか?
VBAは一般的には簡単な言語だと言えますが、プログラミングの経験がない人には難しいかもしれないですね。
書籍などの独学でなかなか覚えられないのであれば、スクールで基礎から習うのも手段です。
スクールに通ってでもプログラミングは覚える価値が有るスキルです。