ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.001

欠番が出たオートナンバー型フィールドの番号をふり直すには

2003/2007/2010/2013/2016/2019

オートナンバー型のフィールドがあるテーブルでレコードが削除されると、オートナンバーに欠番が生じます。
欠番の番号を入力しようとしても、オートナンバー型では常に新しい最大の連番がふられるため、欠番を埋めることはできません。

もちろん、Accessの管理において、欠番はまったく問題ありません。番号をふりなおしたいというのは、人間の気持ちによるものですね。

例えば、このようなオートナンバーに欠番が生じたテーブルがあります。

欠番テーブル

連番を1から順にふりなおすことで、欠番がなくなり気持ちもすっきりとなります。
では、複数の方法をご紹介します。どの方法にせよ、同じデザイン ビュー設定の新しいテーブルを作成し、現在のテーブルは最終的に破棄します。
では、同じデザイン ビューの新規テーブルを作成する方法からです。手順は次のとおりです。

<同じデザインの新規テーブルを作製>

  1. オートナンバーを振りなおしたいテーブルを開かずにナビゲーション ウィンドウで選択し、ショートカット キーや右クリック、[ホーム]タブ を利用してコピーします。
  2. そのままナビゲーション ウィンドウのあいた場所で [貼り付け] します。
  3. 表示された[テーブルの貼り付け]ダイアログ ボックス で、[テーブル名]を任意に指定、[貼り付けの設定] で [テーブル構造のみ]オプションを選択し、[OK] をクリックします。
    貼り付けの設定

これで、同じデザイン ビューの新しいテーブルができあがりました。

このテーブルに、現在の欠番が出ているレコードを追加すればよいのです。
追加するときのポイントは「オートナンバーのフィールド以外を追加する」ことです。

追加する方法は、おもに次の3通りでしょうか。単純、簡単な順にご案内いたします。

<新規テーブルにコピー>

この方法は完全手動な方法です。

  1. 先の手順で、同じデザイン ビュー設定の新規テーブルを作成しておきます。
  2. 欠番が出ているテーブルを開き、オートナンバー フィールド以外のレコードを列選択し、コピーします。
    レコードコピー
  3. 先に作成したテーブルの、オートナンバー以外のフィールドを列選択して、貼り付けます。
  4. レコードを貼り付けるかどうかのメッセージが表示されますので、[はい]をクリックします。
    テーブルの貼り付け

<Excel からインポート>

この方法は、Excel のデータをインポートするときの特徴を利用した方法です。

  1. 先の手順で、同じデザイン ビュー設定の新規テーブルを作成しておきます。
  2. 欠番が出ているテーブルを開き、オートナンバー フィールド以外のレコードを列選択し、コピー、新規作成したExcel のセルA1に貼り付け、保存します。
    または、外部データのエクスポートの機能を使用し、Excel にエクスポートします。
    Excel にはオートナンバーのフィールド以外のデータを用意します。
    インポート元Excel
  3. 保存したExcel を、先に用意した新しいテーブルに追加インポートします。
    インポートは、[外部データ]タブ - [インポートとリンク]グループ - [Excel]ボタン から、保存したExcelを指定し、[レコードのコピーを次のテーブルに追加する]オプション を選んで実行します。

かえって面倒な方法ですけれども、Excel のデータをオートナンバー型を持つテーブルにインポートすると連番が作成されることを知っていると、別の機会にうまく利用できるかもしれません。
その他、インポート、エクスポートの操作は保存することもできますので、半自動な操作方法といえます。

また、Excel に欠番となっている番号のデータのみを用意し(この場合オートナンバーのフィールドも用意)、欠番のあるテーブルに追加インポートすると、欠番が復活します。

<追加クエリを利用>

この方法は、Excel のインポートのところを追加クエリで行います。

  1. 先の手順で、同じデザイン ビュー設定の新規テーブルを作成しておきます。
  2. クエリをデザイン ビューで新規作成し、欠番が出ているテーブルを追加、オートナンバー型以外のフィールドをデザイン グリッドに追加します。
  3. [クエリ ツール] - [デザイン]タブ - [クエリの種類]グループ - [追加]ボタン をクリックします。
    これでクエリは、追加クエリとなります。
  4. 表示される [追加]ダイアログ ボックス で、1で用意したテーブルを指定し[OK] をクリックします。
    追加クエリ
  5. [クエリ ツール] - [デザイン]タブ - [結果]グループ - [実行]ボタン をクリックして追加クエリを実行します。
  6. 使用した追加クエリは必要であれば保存します。

新しいテーブルを用意し、追加クエリを実行すればよいだけです。
連番振り直しがよくある場合は、この方法がおすすめです。

Access2003でのコマンドの場所は、次のとおりです。
インポートやエクスポートは、[ファイル]メニュー - [外部データの取り込み] - [インポート]、また[ファイル]メニュー - [エクスポート] です。
追加クエリの作成は、クエリをデザイン ビューにして、[クエリ]メニュー - [追加] をクリックします。

関連ヘルプ

テーブルのデータの一部分の文字列を別の文字列に置き換える
テーブルデータの先頭にあるシングル クォーテーション(')を取りたい
オートナンバー型フィールドの書式を変更する
Accessの日付、時刻の書式(表示形式)について
郵便番号⇔住所の自動入力機能の設定(住所入力支援プロパティ)
市区町村の合併で郵便番号や住所が変更された場合の住所入力支援の更新について
オートナンバーを任意の番号からからふられるようにする
テーブルやクエリを印刷したときのページ設定が次に開くと戻ってしまう
twitter hatena line pocket