オブジェクトの命名ルール
「あのクエリ、どのフォームで使ってたっけ?」「テーブルの名前がバラバラで探しにくい……」
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受注マスタ |
| フォーム | F | テーブルと同番号 | テーブル・クエリと連携。メインフォーム | F20受注マスタ |
| サブフォーム | F | テーブルと同番号 | メインフォームと連携。サブフォームは末尾に「サブ」 | F20受注マスタサブ |
| マクロ | M | テーブルと同番号 | フォーム操作やデータ処理をサブマクロに展開。共通処理はM99共通に集約 | M20受注、M99共通 |
運用の例外:効率化のための「共通マクロ」
全てのボタンの命令に個別のマクロを作ると管理が大変です。そこで、「M99共通」という特別なマクロを用意しています。
- 例:「フォームを閉じる」など複数フォームで共通する処理
- M99共通内にサブマクロを多数用意し、オブジェクトを限定しない命令を格納
- 修正が一箇所で済み、マクロの乱立を防げます。
まとめ:ルールは「迷子にならないための地図」
命名ルールは「後継者のため」でもありますが、
実際には自分自身が保守しやすくするための仕組みです。
名前を見れば構造が分かる。
それが長期運用に耐えるシステムの基本だと考えています。
本サイトではマクロを用いた構築手順を中心に紹介していますが、決してマクロを唯一の正解として推奨しているわけではありません。VBAが扱える環境であれば、より多彩で柔軟なプログラムが組めるVBAでの構築をむしろ推奨したいと考えています。
ここでマクロという選択肢を提示しているのは、VBAにハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。