PR

オートナンバーの使いどころと注意点

Access

こんにちは、なかぜんです。Accessでテーブルを作成していると出てくる「オートナンバー」というフィールド。
「これって使ってもいいの?」「どんな場面で便利なの?」と疑問に思う方も多いのではないでしょうか。

この記事では、Access初心者〜中級者の方向けに、オートナンバーの基本から実務での使いどころ、気をつけたいポイントまで丁寧に解説します。

オートナンバーとは?

オートナンバー(AutoNumber)とは、Accessのテーブルで自動的に一意の番号を割り振ってくれるフィールドのことです。主に主キーとして使用されます。

自動的に採番される

データを新規追加するたびに、自動で「1」「2」「3」…と連番で番号が振られるため、ユーザーが手動で入力する必要がありません。

一意性の保証

オートナンバーは一意(ユニーク)な値になるため、主キーに最適です。

オートナンバーの設定方法

テーブルをデザインビューで開き、フィールドの「データ型」を「オートナンバー」に設定するだけでOKです。

フィールド名:ID
データ型:オートナンバー

主キーに設定する場合は、そのフィールドを右クリックして「主キーの設定」を選びます。

実際の画面イメージ

このように「ID」フィールドにオートナンバーを設定し、主キーにしています。

オートナンバーを使うメリット

  • 重複の心配がない
  • 入力ミスが起きない
  • 内部処理のID管理に最適

システム内部でレコードを一意に識別する「ID」として使うのが一般的です。

注意点とよくあるミス

一度削除すると番号は飛ぶ

途中のレコードを削除すると、空いた番号は再利用されません。例:1, 2, 4, 5(3は削除済)

業務上の番号としては不向き

伝票番号や発注番号など、「連番管理」が求められる番号にはオートナンバーは向いていません。番号が飛ぶと困るケースでは、VBAやカスタムロジックで連番管理しましょう。

後から手動変更はできない

オートナンバーは基本的にユーザーが直接変更できません。番号を調整したい場合は注意が必要です。

中級者向け:応用ポイント

VBAで次の番号を取得する方法

新しいレコードのオートナンバーを事前に知りたいときは、DMax関数が便利です。

Dim nextID As Long
nextID = Nz(DMax("ID", "受注テーブル"), 0) + 1

※これはあくまで「予想値」なので、実際のオートナンバーとは異なることがあります。

GUID型のオートナンバーもある

Accessでは「複製ID(ランダム型)」というGUID(グローバル一意識別子)を使うことも可能です。クラウド連携やSQL Serverと連携する場面で使われます。

まとめ:オートナンバーは「システムの裏方」に最適!

今回は、Accessのオートナンバーについて解説しました。

  • 主キーやIDの自動採番に便利
  • 番号が飛ぶ・変更できない点には注意
  • 業務番号には使わず、裏方的なIDに使うのがベスト

うまく使いこなせば、テーブル設計の効率が大きく上がります。
これを機に、ぜひあなたのAccess設計にも取り入れてみてくださいね。

それでは、また!なかぜんでした。