Accessの帳票フォームでフォーカスがあるテキストボックスに色を付けるのは、条件付き書式で簡単に設定できます。
でも、フォーカスがあるレコードのすべてのテキストボックスに色を付けるには、少し工夫する必要があります。
カーソルがあるテキストボックスに背景色をつける
以下のような帳票フォームを作成しています。
カーソル(フォーカス)があるテキストボックスが目立つように、そのテキストボックスに背景色が付くように設定します。
帳票フォームをデザインビューで開きます。
テキストボックスの背景色がわかるように、[詳細]セクションのプロパティを開き、[書式]タブで[代替の背景色]を[背景1]にします。
プロパティシートは、キーボードから[F4]キーを押して表示/非表示を切り替えられます。
[F5]キーを押して、フォームビューに切り替えると以下のようになります。
[条件付き書式]で設定
フォームをデザインビューで開きます。
[詳細]セクションのコントロールをすべて選択します。
左端にマウスを置くと、マウスポインターが黒い右矢印になりますので、その時にクリックすると、まとめて選択できます。
[書式]タブの[コントロールの書式設定]グループにある[条件付き書式]をクリックします。
[条件付き書式ルールの管理]ダイアログボックスが表示されます。
[新しいルール]をクリックします。
[新しい書式ルール]ダイアログボックスが表示されます。
[ルールの種類を選択してください]は、[現在のレコードの値を確認するか、式を使用する]が選択されていることを確認します。
左端の[フィールドの値]と表示されているコンボボックスから[フォーカスのあるフィールド]を選択します。
そして、[背景色]ボタンをクリックして、色を選択して[OK]ボタンをクリックします。
次も[OK]ボタンをクリックして閉じます。
フォームビューに切り替えて、確認します。
カーソルがあるテキストボックスに背景色が付きます。
参考反対にAccessのフォームを開いたときにテキストボックスを反転表示させたくない場合の方法は、以下の記事に記しています。
-
フォームを開いた時にテキストボックスを反転表示したくない
フォームを開くと、既定ではTab移動順の先頭のテキストボックスが黒く反転表示します。 このテキストボックスの反転表示をさせたくない場合の方法 ...
Excelでアクティブセルのみに色を付ける方法は、以下の記事で解説しています。
-
アクティブセル(選択しているセル)の行または列に色を付けるには
Excelで横や縦に長い表の場合、アクティブセルのある行全体や列全体に塗りつぶしを設定すると、見やすくなることがあります。 行番号、列番号を ...
カーソルがあるテキストボックスのレコード全体に背景色をつける
カーソル(フォーカス)があるテキストボックスだけでなく、カーソルがあるテキストボックスを含むレコード全体に背景色を付ける方法です。
非連結のテキストボックスを作成
フォームをデザインビューで開いて、フォームヘッダーか、フォームフッターに小さい非連結のテキストボックスを作成します。
フォームヘッダーとフッターを表示する方法は、以下で解説しています。
-
フォームヘッダー/フッターの表示(タイトル・ロゴ・日付と時刻の挿入)
Access2013のフォームで[フォームのヘッダー/フッター]を表示する方法です。 フォームをデザインビューで開くと、以下のようになってい ...
ここでは、フォームヘッダーへ作成します。
テキストボックスは、ヘッダーで描画する時に[Ctrl]キーを押したままドラッグすると、テキストボックスのみ(ラベルは作成されない)を挿入できます。
テキストボックスのプロパティを表示します。
[その他]タブの[名前]に任意の名前を付けます。ここでは、[textbox]とします。
参考テキストボックスの作成時にラベルをつけずに挿入する方法は、以下の記事で解説しています。[Ctrl]キーを使う以外に、プロパティで設定することもできます。
-
テキストボックス作成時(フィールドの追加時)にラベルを挿入したくない
Accessのフォームやレポートのデザインビューでテキストボックスを作成すると、自動的にラベルも挿入されてしまいます。 これは、意外と面倒に ...
フォームの[レコード移動時]に埋め込みマクロを設定
フォームのプロパティを表示します。
フォームの左上をクリックするか、プロパティのプルダウンから[フォーム]を選択します。
そして、[イベント]タブをクリックして、[レコード移動時]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]ダイアログボックスが表示されますので、[マクロビルダー]を選択して[OK]ボタンをクリックします。
[マクロデザイン]ウィンドウが表示されます。[すべてのアクションを表示]をクリックします。
[すべてのアクションを表示]を選択しないと、[値の代入]アクションは表示されませんので気をつけてください。
そして、▼ボタンをクリックして、[値の代入]を選択します。下から4番目にあると思います。
[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。
マクロアクション[値の代入]に、以下のように入力します。
アイテムに[textbox](フォームヘッダーに作成した非連結のテキストボックスの名前)
式に[ID](主キー)と入力します。先頭に[=]を付けないように気をつけてください。入力するのは、フィールド名のみです。
以下のようになっていることを確認して、上書き保存して閉じます。
条件付き書式の設定
条件付き書式を設定します。
[詳細]セクションのテキストボックスをすべて選択します。
そして、[書式]タブの[コントロールの書式設定]グループにある[条件付き書式]をクリックします。
[条件付き書式ルールの管理]ダイアログボックスが表示されます。
[新しいルール]をクリックします。
[新しい書式ルール]ダイアログボックスが表示されます。
[ルールの種類を選択してください]は、[現在のレコードの値を確認するか、式を使用する]が選択されていることを確認します。
左端の[フィールドの値]と表示されているコンボボックスから[式]を選択します。
そして、テキストボックスに以下を入力します。
[背景色]を選択して[OK]ボタンをクリックします。
[条件付き書式ルールの管理]ダイアログボックスが、以下のようになっていることを確認して[OK]ボタンをクリックして閉じます。
フォームビューで動作を確認
[F5]キーを押して、デザインビューをフォームビューに切り替えて動作を確認します。
どこをクリックしても、カーソル(フォーカス)があるレコード全体のテキストボックスに背景色が付くと思います。
非連結のテキストボックス[textbox]と、選択している[ID]は、同じ数字になります。
レコードを移動すると、そのレコードの[ID]がテキストボックス[textbox]に表示されます。
条件付き書式の条件は、[textbox]と[ID]が同じという設定にしていますので、背景色が付くわけです。
非連結のテキストボックスを非表示に設定
非連結のテキストボックスは、非表示にします。
フォームをデザインビューで開いて、テキストボックス[textbox]のプロパティを表示します。
[書式]タブの[可視]を[いいえ]にします。ダブルクリックすると、[はい]と[いいえ]を切り替えられます。
フォームビューに切り替えて確認すると、テキストボックスは非表示になっています。
参考Excelでも条件付き書式を使って、アクティブセルの行に背景色を設定することができます。
-
アクティブセル(選択しているセル)の行または列に色を付けるには
Excelで横や縦に長い表の場合、アクティブセルのある行全体や列全体に塗りつぶしを設定すると、見やすくなることがあります。 行番号、列番号を ...
以下は、Accessの条件付き書式を使って解説した記事です。
-
チェックがオンになったら非連結のテキストボックスの文字列を表示
Accessのフォームで複数の入力項目があっても、必要な項目をすべて入力せずに保存されてしまうことがあります。 できるだけ、入力の手間を省い ...
-
フォームとレポートの条件付き書式(データバー機能)
Access2010の新機能です。 フォームやレポートの[条件付き書式]で他の値との比較結果をExcelと同じように[データバー]として表示 ...
-
チェックをオンしたら背景色を付ける(条件付き書式で複数条件の結び付けも)
Accessのフォームやレポートでは条件付き書式を設定することができます。 この条件付き書式で、複数の条件を満たされているかどうかを判定する ...
-
チェックをオンにしてテキストボックスを使用不可にする(条件付き書式)
Accessのフォームでチェックボックスをオンにすると、指定したコントロールを使用不可にする方法です。 条件付き書式の数式を使用して、条件が ...