【命名規則】ACCESSオブジェクトの名前の付け方

Accessオブジェクトの命名規則 入門講習

Accessで作業をする中で、テーブルやフォームなどの「オブジェクト」を新しく作成する際に、名前を付ける機会が多くあります。今回は、このオブジェクトの新規作成時における名前の付け方について解説します。

オブジェクト名には、基本的にどのような名前でも付けることができますが、あらかじめ名前を付ける際のルールを決めておくことで、日々の作業効率が向上し、将来的なメンテナンス作業も格段に楽になります。この名前のルールを決めることを、専門用語で「命名規則」といいます。

この記事では、Accessのオブジェクトにおける命名規則について、具体的な例を挙げながら、おすすめの方法をご紹介します。

おすすめしたい命名規則の基本構成

オブジェクト名は基本的に以下の要素を組み合わせて作成します。

基本構成□□_※※_△△
要素□□オブジェクト種別/用途
※※内容説明(処理内容を簡記)
△△その他補足

それでは、次項から要素別に説明していきます。

【□□】オブジェクト種別/用途の具体例

アンダースコア( _ )で区切った3区分のうちの1つ目には、そのオブジェクトの種類や用途を示す1文字から3文字程度の文字列を入れます。こういった先頭に配置する文字列を「プレフィックス」といいます。

テーブル

テーブルの用途に応じて次のいずれかを先頭文字(□□)に使用します。

要素[□□]解説
Tトランザクションテーブル(頻繁に情報が追加/更新されるタイプのテーブル)
Mマスターテーブル(あまり更新されない基盤データを格納するテーブル)
Wワークテーブル(一時的なデータを格納するテーブル)
先生
先生

具体的な名称例はこんな感じ↓
・T_売上管理
・M_ユーザマスタ
・W_当日売上実績

テーブル種別については、こちら↓の記事でも解説しています。

クエリ

クエリの用途に応じて次のいずれかを先頭文字(□□)に使用します。

要素[□□]解説
QS選択クエリ(SQL”SELECT”のS)
QI追加クエリ(SQL”INSERT”のI)
QU更新クエリ(SQL”UPDATE”のU)
QD削除クエリ(SQL”DELETE”のD)
QCテーブル作成クエリ(SQL”CREATETABLE”のC) 
QUIユニオンクエリ(SQL”UNION”のUI)
先生
先生

具体的な名称例はこんな感じ↓
・QS_月別売上集計
・QI_新規請求データ追加
・QD_期限到来データ削除

クエリの種類についてはこちらの記事で詳しく解説しています。

フォーム

フォームの場合は一択です。下記を先頭文字(□□)に使用します。

要素[□□]解説
FFormの”F”を先頭文字にします
先生
先生

具体的な名称例はこんな感じ↓
・F_新規ユーザ登録
・F_過去データ検索画面

レポート

レポートもフォームと同様一択です。下記を先頭文字(□□)に使用します。

要素[□□]解説
RReportの”R”を先頭文字にします
先生
先生

具体的な名称例はこんな感じ↓
・R_成績管理一覧表
・R_事業所別在庫一覧

モジュール

モジュールもフォーム、レポート同様に一択です。下記を先頭文字(□□)に使用します。

要素[□□]解説
Modmoduleの”Mod”を先頭文字にします
先生
先生

具体的な名称例はこんな感じ
・Mod_パブリック変数定義
・Mod_※※処理サブルーチン

【※※】内容説明の具体例

アンダースコア( _ )で区切った3区分のうちの2つ目には、そのオブジェクトの中身を表す文言を簡記します。あまり難しく考える必要はなく、テーブルであればどういったデータを格納するものか、フォームであればどういったデータを入力するのか、または参照するのか、といった視点で名付ければOKです。ただし、いくつか注意事項もありますので、その辺りを含めて説明します。

具体的な命名例

・顧客情報を管理するマスターテーブル → M_顧客管理マスタ
・月別の売上集計を取りまとめるためのクエリ → QS_月別売上集計
・ 新規の取引情報を入力するためのフォーム → F_新規取引登録画面

こんな感じの長すぎず、シンプルな感じがおすすめです。

注意事項

記号は使用しない

名称に記号は使用しないようにしましょう。特に括弧「( )」は全角と半角の見分けが付きにくく、手入力した際に誤入力しがちです。記号はアンダースコア( _ )のみにしてください。

場合によっては日本語を使用しない

ACCESS以外のデータベース(MySQL、PostgreSQL、Oracle等)を接続する場合は日本語ではなく英語でテーブル名を付ける必要があります(SQLServerの場合は日本語も使用できますが)。
また、比較的規模の大きなシステムを構築する場合はチームメンバーが日本人だけとは限らないため、そういった面でも英語で統一するのが望ましいでしょう。
よって、事前にそういった開発環境が見込まれる場合は、Accessでのテーブル作成段階から英語にしておくと移行も楽ですし、作成チーム間での意思疎通もスムーズです。

momongacat
momongacat

例えばこんな感じですね
M_CustomerMaster
M_UserMaster
SQ_MonthlySalesSummary

連続番号を使用しない

一般的な命名規則の中には連続番号を入れ込むケースも見受けられます。例えばこんな感じです。

M_005_顧客管理マスタ

こうすることで、オブジェクトの表示順をコントロールでき整理しやすいといった意図があります。
しかしながら個人的にはお勧めしません。私も過去に試したことはありますがうまく管理できませんでした。オブジェクトを後からどんどん追加する際、当然より大きな番号を振りますが必ずしもその順番で表示したいとは限りませんし、不要になったオブジェクトの番号は虫食い状態になります。ある程度作り込んでいくと、やたらと名称変更するわけにもいかないため、なかなか難しいと感じます。

【△△】その他補足の具体例

アンダースコア( _ )で区切った3区分のうちの3つ目には、必要に応じて補足の文言を入れます。具体例を3つ紹介します。

サブフォーム/サブレポートの場合

サブフォームやサブレポートに対しては「Sub」を加えましょう。そうすることでサブフォーム等を選択すべき場面で迷わず選ぶことができます。

先生
先生

具体的な名称例はこんな感じ↓
F_取引先別履歴_sub
R_個人別取組実績_sub

リンクテーブルと同名のローカルテーブルの場合

リンクテーブルへ複数人が同時アクセスすることは、Accessにとって好ましいことではありません。多人数が使用するシステムの場合は同時アクセスを極力避けるため、リンクテーブルと同じ構成のローカルテーブルを用意し、データを同期したうえで、ローカルテーブルを参照する手法があります。

その際のローカル側のテーブルに対しては「ローカル」を付けて区別するようにしましょう。

先生
先生

具体的な名称例はこんな感じ↓
・M_社員管理マスタ_ローカル

リンクテーブルの活用方法については、こちら↓の記事で詳しく解説しています。

一時的な臨時クエリを作るとき

検証やテスト、バックアップなどで一時的なクエリを作る場合があります。これをそのまま残しておくとオブジェクトが乱立して管理が大変になります。そこで、そういった臨時クエリには「yyyymmdd」形式の日付を加えて、後で忘れずに削除できるようにしましょう。

momongacat
momongacat

例えばこんな感じです
・QS_条件※※で抽出検証_20250215

命名規則の目的とメリット

さて、ここまで具体的な命名規則を説明してきましたが、そもそもなぜここまで名前の付け方に気を付けないといけないのか、最後にしっかり把握しておきましょう!

可読性の向上

「可読性」とは、文章などの読みやすさのことです。この記事においては、VBAのソースコードがこれに該当します。変数やオブジェクトに、その種類や用途がひと目でわかるような名前を付けておけば、コードを読むだけで処理の流れをある程度把握できるようになります。もし名前が適切でなければ、コードを読むたびにナビゲーションウィンドウでオブジェクトの種類を確認したり、実際に開いて内容を確認したりする必要が生じ、非常に手間がかかります。

共同作業の円滑化

複数人でシステム開発を共同で行う場合や、同じ職場で複数の担当者がシステム開発に携わる場合、各自が自由に名前を付けていると、最終的にシステムの保守が非常に困難になります。

momongacat
momongacat

うわぁ~こういうシステムの改修はできれば避けたいなぁ…

先生
先生

だからこそ、命名規則をチーム間で共有しておくことが大事だね

開発効率の向上

ルールが決まっていれば名前の構成をいちいち考える必要がないので、単純に名前を付けやすく、その分効率的といえます。

まとめ

Accessオブジェクトの名前の付け方について説明しました。今回の提示した命名規則は一つの例になりますので、各自の開発環境に合わせてカスタマイズしてみてください。

大切なのは一定のルールを設けることで、開発効率やメンテナンス効率が格段に向上するということです。ぜひそのあたりを押さえていただければ幸いです。

タイトルとURLをコピーしました