メインメニューから配合表マスタボタンを押すと開くリストフォームです。配合番号・原材料名・色調の3条件で絞り込み検索ができ、各行の詳細ボタンから編集画面へ遷移します。
配合表リスト画面の構成
配合番号検索・原材料名検索・色調検索の3つの非連結コンボボックスで一覧を絞り込みます。硬度は一覧に表示されますが検索条件には含まれません。件数表示・再検索ボタン・新規登録ボタンもこの画面に配置しています。
フォームビュー
F65配合表リスト フォームビュー
画面の概要
検索コントロール・ボタン・表示項目の役割を一覧にまとめています。
| コントロール名 | 種類 | 役割 |
|---|---|---|
| 配合番号検索 | 非連結コンボボックス | 配合番号による部分一致検索 |
| 原材料名検索 | 非連結コンボボックス | 原材料名による部分一致検索 |
| 色調検索 | 非連結コンボボックス | 色調による部分一致検索 |
| 再検索 | ボタン | 検索条件をクリアし全件表示に戻す |
| 新規登録 | ボタン | 新規登録フォームを開く |
| 詳細 | ボタン(サブフォーム内) | 該当行の編集フォームを開く |
| 件数 | テキストボックス | 一覧に表示中の件数を表示 |
デザインビューで見る仕組み
一覧はQ65配合表リストサブを元に表示しています。配合表作成者コードでT01従業員Mと連結し、登録者の略称を表示します。抽出条件はIs Null Or Likeの組み合わせで、検索欄が空欄の場合は全件、入力がある場合は部分一致で絞り込みます。
デザインビュー
F65配合表リスト デザインビュー
デザインビューの概要
フォームヘッダー・詳細セクションの構成をまとめています。
| セクション | 内容 |
|---|---|
| フォームヘッダー | タイトル・3つの検索コンボボックス・再検索ボタンを配置 |
| 詳細セクション(ヘッダー行) | 配合番号・原材料名・色調・硬度・登録者・登録日・備考の列見出し |
| 詳細セクション(明細行) | Q65配合表リストサブを表示元とする明細行。詳細ボタン・非表示のIDフィールドを含む |
| フォームフッター | 件数表示・新規登録ボタン・閉じるボタンを配置 |
クエリ:クエリQ65配合表リストサブの構成
一覧はQ65配合表リストサブを元に表示しています。配合表作成者コードでT01従業員Mと連結し、登録者の略称を表示します。抽出条件はIs Null Or Likeの組み合わせで、検索欄が空欄の場合は全件、入力がある場合は部分一致で絞り込みます。
クエリデザインビュー
Q65配合表リストサブ クエリデザインビュー
クエリの概要
結合テーブルと3つの検索条件の抽出条件式をまとめています。
| 項目 | 内容 |
|---|---|
| 結合テーブル | T65配合表M・T01従業員M |
| 結合キー | 従業員コード(配合表作成者コード) |
| 配合番号の抽出条件 | Is Null Or Like “” & [Forms]![F65配合表リスト]![配合番号検索] & ““ |
| 原材料名の抽出条件 | Is Null Or Like “” & [Forms]![F65配合表リスト]![原材料名検索] & ““ |
| 色調の抽出条件 | Is Null Or Like “” & [Forms]![F65配合表リスト]![色調検索] & ““ |
| 硬度 | 表示のみ(検索条件には含まない) |
カレント行の色分けは、非表示のIDフィールドと連携した条件付き書式で実現しています。この仕組みは他ページで解説済みのため、そちらをご参照ください。
条件付き書式によるカレント行ハイライトページ
Accessのフォームにおける「色」は、単なるデザイン要素ではありません。オペレーターが今どこにいて何をすべきかを直感的に伝えるための「重要なナビゲーション」だと考えています。 画面を開いた瞬間に「新規登録」か「編集」かを色で感じ取り、無[…]
各コントロールの設定
配合表リストに配置されたボタン・マクロの設定内容です。
配合表マスタボタン(メインメニュー)
メインメニューの配合表マスタボタンから、F65配合表リストをフォームビューで開くだけのシンプルなマクロです。
サブマクロ:配合表マスタ
- サブマクロのテキスト表示
-
サブマクロ:配合表マスタ フォームを開く(F65配合表リスト, フォーム ビュー, , , , 標準) マクロの中止 サブマクロの最後
マクロの概要
| 項目 | 内容 |
|---|---|
| 対象フォーム | F65配合表リスト |
| ビュー | フォーム ビュー |
| 動作 | 指定フォームを標準ウィンドウモードで開く |
マクロの設置場所
| 設置場所 | イベント |
|---|---|
| メインメニュー:配合表マスタボタン | クリック時 |
再検索ボタン
3つの検索コンボボックスにNullを代入してクリアし、再クエリで一覧を全件表示に戻すマクロです。ボタン名は「再検索」ですが、実際の動作は検索条件のリセットです。
サブマクロ:再検索
- サブマクロのテキスト表示
-
サブマクロ:再検索 値の代入 アイテム = [配合番号検索] 式 = Null 値の代入 アイテム = [原材料名検索] 式 = Null 値の代入 アイテム = [色調検索] 式 = Null 再クエリ コントロール名 = マクロの中止 サブマクロの最後
マクロの概要
| 項目 | 内容 |
|---|---|
| 処理内容 | 3つの検索コンボボックスをNullでクリア |
| 再クエリ対象 | コントロール名未指定=フォーム全体を再クエリ |
| 結果 | 検索条件がリセットされ、一覧が全件表示に戻る |
マクロの設置場所
| 設置場所 | イベント |
|---|---|
| F65配合表リスト:再検索ボタン | クリック時 |
詳細ボタン
選択行の配合表情報を編集フォームに転写して表示するボタンです。開くマクロと転写の仕組みの詳細は配合表マスタ 編集ページで解説します。カレント行の色分けは、非表示のIDフィールドと連携した条件付き書式で実現しており、この仕組みは他ページで解説済みです。
◆リンクカード:配合表マスタ 編集ページ(作成予定)
新規登録ボタン
新規登録フォームを開くボタンです。登録の流れと関連マクロの詳細は配合表マスタ 新規登録ページで解説します。
◆リンクカード:配合表マスタ 新規登録ページ(作成予定)
閉じるボタン
フォームを閉じるボタンです。M99共通.閉じるを呼び出す共通処理で統一されています。
フォームごとに同じ処理のマクロを個別に作ると、マクロの数が際限なく増えて管理が大変になります。M99共通マクロはどのフォームでも使い回せる処理をサブマクロとして一箇所に集約したものです。コントロール名を統一しておくことでフォームを問わず同じ[…]
件数表示
一覧に表示されている件数をリアルタイムで表示します。
フォームフッターには リストに反映されている 件数 をカウントしています。
件数表示の概要
| 項目 | 内容 |
|---|---|
| コントロールソース | =DCount(“*”,”Q65配合表リストサブ”) |
| 書式 | #,##0″ 件” |
| 動作 | クエリの抽出結果に応じた件数をカンマ区切り+「件」表示 |
まとめ
配合表マスタのリストは、配合番号・原材料名・色調の3条件検索とQ65配合表リストサブによる部分一致抽出で構成しています。硬度は表示専用、カレント行の色分けは他ページと共通の条件付き書式で対応し、件数表示はDCountで一覧件数をリアルタイムに反映しています。再検索ボタンは名前に反して「クリア→再検索」という動作である点も押さえておきたいポイントです。
本サイトではマクロを用いた構築手順を中心に紹介していますが、決してマクロを唯一の正解として推奨しているわけではありません。VBAが扱える環境であれば、より多彩で柔軟なプログラムが組めるVBAでの構築をむしろ推奨したいと考えています。
ここでマクロという選択肢を提示しているのは、VBAにハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。