このエントリーをはてなブックマークに追加

フォームのカレントレコードに背景色を付けてわかりやすくする。

こちらは、Access 2010バージョンで作成した、データ入力をするフォームサンプルと、入力する項目を検索するためのダイアログフォームサンプルです。検索ワードからフォーム上のレコードを探す。のページでは、検索フォームに「DoCmd.SearchForRecordメソッド」のコードを書いて、検索ができるようにしています。「DoCmd.SearchForRecordメソッド」を使って検索をすると、該当するレコードにフォーカスが移動します。そこで今回は、該当するレコードに移ったとき、テキストボックスに背景色を付けて、フォーカスされたレコードをわかりやすくしていきます。

ダイアログフォーム

テキストボックスの「条件付き書式」というのを設定して、背景色に色を付けたいと思います。まずはその下準備として、「検索フォーム」のヘッダーセクション部分に、非連結のテキストボックスを1つ用意しておきます。ここでは、名前を「テキスト0」としています。

フォームデザイン

では、「検索フォーム」をデザインビューで開いた状態で、「検索フォーム」の詳細セクションにあるテキストボックス「tx_商品ID」と「tx_商品名」を同時に選択します。「フォームデザインツール」「書式」タブにある、「条件付き書式」をクリックします。

条件付き書式

「条件付き書式ルールの管理」ボックスが開きますので、「新しいルール」をクリックします。

条件付き書式

「新しい書式ルール」ボックスの、「ルールの種類を選択してください」の「現在のレコードの値を確認するか、式を使用する」を選びます。「ルールの内容を編集してください」の「次のセルのみ書式設定」で、「」を選びます。その右の欄に、

[テキスト0]=[tx_商品ID]

と入力します。その下にある、塗りつぶしの色から、テキストボックスの背景色にしたい色を選択します。「プレビュー」に表示されている色が、選択した色です。設定ができたら、「OK」を押します。

条件付き書式

「条件付き書式ルールの管理」ボックスに戻ります。「ルール(表示順で適用)」欄に設定したルールが表示されます。「適用」ボタンを押して、確定させます。「OK」ボタンを押します。

条件付き書式

このルールは、「[テキスト0]と[tx_商品ID]の値が同じ時に、テキストボックスの背景色をしていした色にする。」というものです。[テキスト0]とは、ヘッダー部分に作った非連結のテキストボックスです。そこで、[テキスト0]=[tx_商品ID]が成立するようにするために、「検索フォーム」の「レコード移動時」イベントにコードを書いておきます。

Private Sub Form_Current()
Me.テキスト0 = Me.tx_商品ID
End Sub

これで、レコードが移ったときに、「tx_商品ID」の値が、「テキスト0」に代入されるので、常にカレントレコードと「テキスト0」の値が等しくなり、カレントレコードには色が付き、それ以外のレコードには色が付かない、ということになります。テキストボックス「テキスト0」については、このプログラムの内部処理に使うものなので、「書式」の「可視」を「いいえ」にしておきます。

ダイアログ

このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントフィード

トラックバックURL : http://gyoumuka.work/wp-trackback.php?p=2246

PAGE TOPへ戻る