Accessの条件付き書式でフォームを行ごとに色分けする方法

概要

この記事の結論
Accessの連続フォームで行ごとに色分けするには、対象となるテキストボックスなどへ同じ条件付き書式を設定します。詳細セクション全体を行別に変える処理と考えるより、各入力欄の背景を揃える方法が分かりやすくなります。

この記事でわかること

  • 判定に必要なフィールドを用意する
  • 条件付き書式へ式を登録する
  • 行全体に見えるよう配置を整える
  • 現在選択中の行を変える用途と区別する

この記事の主な内容

  1. 行の色分けは各コントロールへ条件を揃える
  2. 判定に必要なフィールドを用意する
  3. 条件付き書式へ式を登録する
  4. 行全体に見えるよう配置を整える
  5. 現在選択中の行を変える用途と区別する
  6. 日付境界と再表示を試す
  7. よくある質問

想定読了時間:約7分


1 行の色分けは各コントロールへ条件を揃える

Accessの連続フォームで行ごとに色分けするには、対象となるテキストボックスなどへ同じ条件付き書式を設定します。
詳細セクション全体を行別に変える処理と考えるより、各入力欄の背景を揃える方法が分かりやすくなります。

ここでは期限が今日より前で、完了していない作業を色分けします。
色だけに頼らず状態の文字も表示すると、印刷や色の見え方が違う環境でも意味が伝わります。

条件付き書式の適用先について、行の各欄、詳細領域、表示の関係を示す図

2 判定に必要なフィールドを用意する

T_作業の作業ID、件名、期限、完了をフォームのレコードソースに含めます。
期限は日付/時刻、完了はYes/Noです。
見た目には隠しても、条件式で参照するフィールドは元データに必要です。

期限がNullの行を期限切れに含めるかは、業務のルールで決めます。
今回は未設定と期限切れを区別し、未設定を期限切れとして色付けしません。

期限切れの条件について、期限、完了、Nullの関係を示す図

3 条件付き書式へ式を登録する

対象の部品を選択して条件付き書式の管理を開き、新しいルールで「式」を指定します。
期限と完了の両方を評価するため、単純な1項目の値比較ではなく式を使います。

ルール設定の順序について、選択、式、書式、展開の関係を示す図

操作手順

1. フォームをデザインビューまたは対応するレイアウトビューで開きます。

2. 件名などの対象テキストボックスを選びます。

3. 条件付き書式で新しいルールを作ります。

4. 式に [期限]<Date() And [完了]=False を指定します。

5. 淡い赤の背景と読みやすい文字色にします。

6. 同じルールを行内の対象コントロールへ適用します。

行の見た目を揃えるについて、高さ、余白、状態の関係を示す図

4 行全体に見えるよう配置を整える

テキストボックス同士の余白が大きいと、背景色が分断されて見えます。
必要な欄の高さや位置を揃え、ラベルや画像など条件付き書式が同じように使えない部品との違いを確認します。

完了行を別色にする場合は、期限切れの条件と競合しない式にします。
複数ルールが同時に真になると見た目が意図と違う場合があるため、ルールの順序と停止設定を確認してください。

設定例と確認点

条件例扱い
期限が過去・未完了期限切れの色
完了=True完了の表示
期限がNull未設定として別扱い
2種類の強調表示について、業務状態、現在行の関係を示す図

5 現在選択中の行を変える用途と区別する

業務状態で色分けする方法と、現在選択中の行を強調する方法は判定の仕組みが異なります。
Currentイベントで共有される部品の背景色を単純に変えると、連続フォームの全行が同じ色に見えることがあります。

現在行の強調が必要なら、一意なIDと非連結の保持欄を使った条件式など、現在行を判定できる設計を別途用意します。新規行のNullと移動時の再計算も考慮してください。

試す5つのケースについて、昨日、今日、未来、未設定、完了の関係を示す図

既存Accessへの影響を判断できない場合

本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。


6 日付境界と再表示を試す

昨日、今日、明日、期限未設定、完了済みの行を用意し、期待どおりに色分けされるか確認します。
今回の式では今日の期限は対象外です。
今日を含める場合は、時刻を含む期限値も踏まえて式を変えます。

深夜をまたいで画面を開いたままにする運用では、再表示や再計算のタイミングも確認します。
色が変わらないときは式だけでなく、参照フィールド、ルール競合、表示更新を順に調べます。

色が変わらない原因について、式、競合、更新の関係を示す図

7 よくある質問

連続フォームでは各コントロールへ条件付き書式を揃える方法が基本です。

期限の時刻を含めるなら翌日未満などの条件を検討します。

イベントで共有部品の背景を直接変えていないか確認します。
行ごとの式による判定が必要です。

まとめ

深夜をまたいで画面を開いたままにする運用では、再表示や再計算のタイミングも確認します。
色が変わらないときは式だけでなく、参照フィールド、ルール競合、表示更新を順に調べます。

本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。


参考情報

Microsoft公式資料を参照しています。サンプルは説明用の架空データです。Windows版Accessの実機検証は未実施のため、適用前に対象環境のコピーで結果を確認してください。

Microsoft:FormatConditions
https://learn.microsoft.com/en-us/office/vba/api/access.formatconditions

Microsoft:Form.Current
https://learn.microsoft.com/en-us/office/vba/api/access.form.current

Microsoft:Recalc
https://learn.microsoft.com/en-us/office/vba/api/access.form.recalc

TOP