オブジェクトの命名ルール
「あのクエリ、どのフォームで使ってたっけ?」「テーブルの名前がバラバラで探しにくい……」
Access開発が楽しくなればなるほど、オブジェクトの数は増えていきます。
販売・生産管理システム内で使用している フォーム・テーブル・クエリ・マクロなど全オブジェクトの命名ルール をまとめています。 各ページで同じ説明を繰り返さず、内部リンクでこのページを参照できるようにしています。 命名ルールは「後継者のため」でもありますが、何より自分自身が分かりやすく保守しやすいためのものです。
オブジェクトの命名ルールの目的
ルールを設ける最大の目的は、「何と何が紐付いているか一目でわかる状態」を作ることです。
- すべてのオブジェクトに命名ルールを適用
- 名前を見ただけで「何と何が紐付いているか」が分かるようにする
- 名前は極力短く、内容が推測できるようにする
- 英語ではなく日本語ネーミング(後継者が理解しやすい)
- 数字・英字は半角、カタカナは全角
/、-、スペースは使用しない- テーブル名を基準に、同じ番号帯でクエリ・フォーム・マクロを紐付ける
オブジェクト命名の基本方針
① 接頭辞(プレフィックス)で種類を分ける
全てのオブジェクトの先頭に、その種類を表す1文字を付けます。
-
T (Table):テーブル
-
Q (Query):クエリ
-
F (Form):フォーム
-
R (Report):レポート
-
M (Macro):マクロ
② 「2桁の管理番号」でグループ化する
01~99の数字を振り、業務カテゴリごとに分類します。これにより、オブジェクト一覧が機能順に整列され、探しやすさが劇的に向上します。
-
01番台: 基本マスタ関係(住所、社員など)
-
10番台: 製品マスタ関係
-
20番台: 受注業務関係 ……など
③ テーブルを起点とした「一気通貫」の紐付け
テーブル名を基準とし、派生するクエリやフォームにも「同じ番号」を使います。
-
例:
T20受注→Q20受注→F20受注 -
サブフォームの場合: 最後に「サブ」を付け加える(例:
F20受注サブ)。
④ 文字種と記号のルール
-
数字・英字: 半角
-
カタカナ: 全角
-
記号: スラッシュ(/)やハイフン(-)、スペースはエラーや誤認の元になるため一切使用しない。
実践例:新規受注フォームの構成
一つの機能を、どのようなネーミングで連携させているかの具体例です。
| オブジェクト種別 | 接頭辞 | 番号範囲 | 内容・用途 | 命名例 |
|---|---|---|---|---|
| テーブル | T | 01〜99 | データの基礎。01番台はマスタ関係、10番台は製品マスタ、20番台は受注マスタなど | T20受注マスタ |
| クエリ | Q | テーブルと同番号 | テーブルと必ず紐付け。同じ番号で頭だけQに変更 | Q20受注マスタ |
| クエリ | Q | テーブルと同番号+ | 名前の末尾に更新クエリは「更新」追加クエリには「追加」削除クエリには「削除」 | Q20受注マスタ更新 |
| クエリ | Q | テーブルと同番号 | サブフォームの元になるクエリの末尾に「サブ」 | Q20受注マスタサブ |
| フォーム | F | テーブルと同番号 | テーブル・クエリと連携。メインフォーム | F20受注マスタ |
| サブフォーム | F | テーブルと同番号 | メインフォームと連携。サブフォームは末尾に「サブ」 | F20受注マスタサブ |
| マクロ | M | テーブルと同番号 | フォーム操作やデータ処理をサブマクロに展開。共通処理はM99共通に集約 | M20受注、M99共通 |
オブジェクトの連携が名前で紐付けられることにより、プログラムの構築とあとあとのメンテナンスの際に便利
効率化のための「M99共通マクロ」
全てのボタンの命令に個別のマクロを作ると管理が大変です。そこで、「M99共通」という特別なマクロを用意しています。
- 例:「フォームを閉じる」など複数フォームで共通する処理
- M99共通内にサブマクロを多数用意し、オブジェクトを限定しない命令を格納
- 修正が一箇所で済み、マクロの乱立を防げます。
「M99共通」マクロを活用するためのコントロールの命名ルール
フォームをまたいで同じマクロを使い回すには、コントロール名の統一が前提になります。例えば備考フィールドの入力補正マクロはアイテムに [備考] を指定しています。別のフォームで同じ補正をかけたい場合、そのフォームのコントロール名も「備考」になっていれば同じマクロがそのまま動作します。コントロール名がフォームごとにバラバラだと同じ処理でも個別にマクロを作る必要が生じ、マクロが乱立する原因になります。業務システム固有の名称は異なって構いませんが、汎用的なコントロールは統一しておくとM99共通マクロの恩恵を最大限に受けられます。以下はこのシステムで採用しているマイルールです。命名は自由ですが、統一されていることが重要です。
コントロール名一覧
| コントロール名 | 役割・命名の理由 |
|---|---|
| 行色 | カレント行の色替えに使うIDの転記場所。フォームヘッダーに非表示で設置 |
| ID | テーブルには必ずオートナンバー型のIDを設置する。行色用およびデータ特定用 |
| 検索 | 検索窓を設置した際に統一。複数条件検索の場合は使わない |
| 備考 | 備考フィールドへの入力。数字やカタカナは半角に変換して収納 |
| メモ | 備考と同様の用途 |
| 手配番号 | 数字やカタカナが全角で入力されても半角に変換して収納 |
| いつから | 期間指定で日付を検索する開始日の窓 |
| いつまで | 期間指定で日付を検索する終了日の窓 |
| 前月 | いつからの日付を起点に前月へ移動するボタン |
| 翌月 | 前月と同様。翌月へ移動 |
| 前週 | 前月と同様だが週単位で移動 |
| 翌週 | 前週と同様 |
| 今月 | いつから・いつまでの内容にかかわらず今月分に戻すボタン |
| 略称 | 取引先の略称。サブフォームの並び替えに使用 |
| 図番 | 製品名を図番として運用しているためこの名称。並び替えにも使用 |
| 日付 | 日付を入力するボックス。前日・翌日・明日などのボタンで日付を変更するため統一 |
いつから・いつまでとボタンの連動について
「いつから」「いつまで」のコントロール名を統一しておくことで、前月・翌月・前週・翌週・今月などの日付操作ボタンをM99共通マクロとして使い回せます。週単位で検索中に月単位のボタンを押すと日付がずれる問題を防ぐボタンの有効・無効切り替えの仕組みや期間ボタンの関数については、M99共通マクロのページで詳しく解説しています。
(M99共通マクロページへのリンクをここに挿入)
まとめ:ルールは「迷子にならないための地図」
命名ルールは「後継者のため」でもありますが、
実際には自分自身が保守しやすくするための仕組みです。
名前を見れば構造が分かる。
それが長期運用に耐えるシステムの基本だと考えています。
本サイトではマクロを用いた構築手順を中心に紹介していますが、決してマクロを唯一の正解として推奨しているわけではありません。VBAが扱える環境であれば、より多彩で柔軟なプログラムが組めるVBAでの構築をむしろ推奨したいと考えています。
ここでマクロという選択肢を提示しているのは、VBAにハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。