こんにちは、なかぜんです。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設計にも取り入れてみてくださいね。
それでは、また!なかぜんでした。
