概要
| この記事の結論 Accessのオートナンバーは行を識別するための値であり、欠番のない連続番号を保証する機能ではありません。削除や入力取消で番号が飛んでも、それだけで異常ではありません。本番データの主キーを見栄えのために振り直すことは避けましょう。 |
この記事でわかること
- 採番をやり直す前に参照先を確認する
- 空のテスト用テーブルを作り直す
- 全件削除と最適化だけで決めつけない
- 帳票の連番は表示用に付ける
この記事の主な内容
- 本番の主キーは欠番だけを理由に振り直さない
- 採番をやり直す前に参照先を確認する
- 空のテスト用テーブルを作り直す
- 全件削除と最適化だけで決めつけない
- 帳票の連番は表示用に付ける
- 本当にID移行が必要な場合は対応表を作る
- よくある質問
想定読了時間:約8分
1 本番の主キーは欠番だけを理由に振り直さない
Accessのオートナンバーは行を識別するための値であり、欠番のない連続番号を保証する機能ではありません。
削除や入力取消で番号が飛んでも、それだけで異常ではありません。
本番データの主キーを見栄えのために振り直すことは避けましょう。
番号を1から始めたいという要望は、空の練習表、帳票の行番号、業務の伝票番号に分けて考えると適切な方法を選べます。

2 採番をやり直す前に参照先を確認する
顧客IDが受注表や外部CSVに保存されている場合、親だけ振り直すと関連が壊れます。
リレーションシップがない場合でも、VBAや外部ファイルでIDを使っている可能性があります。
単に番号列を削除して再作成する方法は、同じ行へ同じ番号が戻る保証がありません。
並び順も未指定なら安定しないため、既存IDの置き換えには使わないでください。
設定例と確認点
| 目的 | 判断 |
|---|---|
| 空の練習表を初期化 | 空表の作り直しを検討 |
| 帳票で1から表示 | 表示用の連番を使う |
| 本番主キーの欠番解消 | 原則として不要 |
| 正式な伝票番号 | 別の採番設計を用意 |

3 空のテスト用テーブルを作り直す
最も分かりやすいのは、バックアップを取った検証用DBで、同じ構造の空テーブルを作る方法です。
オートナンバーを増分で設定し、試験行を追加して開始値を確認します。
既存の明細や外部参照がないことが前提です。

操作手順
1. 練習用データベースのコピーを作ります。
2. 対象のテーブル構造と主キーを記録します。
3. 新しい空テーブルを作り、IDをオートナンバーにします。
4. データを1件追加し、採番を確認します。
5. 必要なインデックスと入力規則も確認します。

4 全件削除と最適化だけで決めつけない
全件削除後に最適化・修復を行うことで採番状態が変わる場合がありますが、既存の最大値や採番状態、構成によって期待どおりにならないことがあります。「必ず1へ戻る」と考えて本番へ適用しないでください。
最適化・修復はファイル保守の機能です。
バックアップを取り、他の利用者が閉じた状態で実施します。
番号を整えるための通常業務の手段として頻繁に繰り返すものではありません。

5 帳票の連番は表示用に付ける
レポートの詳細セクションにテキストボックスを置き、コントロールソースを =1、集計実行を全体にすると、レポート上で連番を表示できます。
グループごとに振り直すなら集計実行の範囲を変えます。
この番号は印刷時の表示であり、主キーを変更しません。
並び順を指定してから使うと、利用者が読む順番に合わせた番号になります。

既存Accessへの影響を判断できない場合
本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。
6 本当にID移行が必要な場合は対応表を作る
システム統合などで識別子の変更が必要なら、旧IDと新IDの対応表を作り、親子と外部参照を同じルールで移行します。件数と対応漏れを確認し、戻せる状態を保って切り替えます。
正式な伝票番号は重複防止、同時登録、取消時の欠番、年度切替などを考慮して別に設計します。
主キーと業務番号を分けることで、見せ方の変更がデータの関連に波及しにくくなります。

7 よくある質問
削除や入力取消による欠番は通常起こり得ます。
識別できていれば、埋める必要はありません。
本番では子の参照や外部連携が壊れるため避けます。
空の独立したテスト表とは区別します。
できます。
=1と集計実行を使って表示用の連番を設定します。
まとめ
正式な伝票番号は重複防止、同時登録、取消時の欠番、年度切替などを考慮して別に設計します。
主キーと業務番号を分けることで、見せ方の変更がデータの関連に波及しにくくなります。
本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。
参考情報
Microsoft公式資料を参照しています。サンプルは説明用の架空データです。
Windows版Accessの実機検証は未実施のため、適用前に対象環境のコピーで結果を確認してください。
Microsoft:型とフィールド
https://support.microsoft.com/en-us/access/introduction-to-data-types-and-field-properties
Microsoft:最適化と修復
https://support.microsoft.com/en-us/access/compact-and-repair-a-database
Microsoft:RunningSum
https://learn.microsoft.com/en-us/office/vba/api/access.textbox.runningsum