HOME > 即効テクニック > Access一般機能 > データベース・データ保護 > オートナンバー型のデータを連続番号に再設定する

即効テクニック

データベース・データ保護

オートナンバー型のデータを連続番号に再設定する

(Access 97/2000)

オートナンバー型フィールドを持つテーブルでレコードを削除すると、連番に欠番ができてしまいます。オートナンバー型のデータは自動的に番号が設定されるため、欠番と同じ番号を再び設定することはできません。

また、レコードをすべて削除して最初から入力してもオートナンバー型のデータを初期値に戻すことはできません。ここでは、クエリーを使って不連続になったオートナンバー型のデータを連続する番号に戻す方法を紹介します。

●手順● 【テーブルにレコードがある場合】 (1)不連続になってしまったテーブルを元に、同じデザインで新しいテーブルを作成します。 新しいテーブルを下記の手順で作成します。
  1. 元のテーブルを選択し、[編集]メニューの[コピー]をクリックする。 テーブルをコピーする
  2. [編集]メニューの[貼り付け]をクリックする。 テーブルを貼り付ける
  3. [テーブルの貼り付け] ダイアログボックスで、新しいテーブル名を入力し、[テーブル構造のみ]チェックボックスを選択して[OK]ボタンをクリックする。 [テーブル構造のみ]を選択
(2)クエリーを下記の手順で新規作成します。
  1. データベースウィンドウから、元のテーブルを選択し、ツールバーの [新規オブジェクト] ボタンのドロップダウンリストから [新規クエリー] をクリックする。
  2. クエリーのデザイングリッドに、オートナンバー型のフィールド以外のすべてのフィールドをドラッグする。
  3. [クエリー]メニューの[追加]をクリックして、[追加]ダイアログボックスで新規テーブル名を入力する。 [クエリ]-[追加]をクリック
  4. [クエリー]メニューの[実行]をクリックするか、ツールバーの[実行]ボタンをクリックしてクエリーを実行します。
  5. 新テーブルを開き、オートナンバー型フィールドのデータが連続的に設定されていることを確認します。
  6. これまでの操作が正しく実行されたことを確認したら、元のテーブルを削除してください。次に、新規テーブル名を元のテーブル名に変更します。 新規テーブル名を選択
!!注意!! テーブルのデザインビューでオートナンバー型のフィールドを一度削除し、再度オートナンバー型のフィールドを追加すると、連続番号を再設定することができますが、リレーションシップが設定されたテーブルや大量のレコードを格納しているテーブルの場合には、リレーションシップの構造やデータの破損につながりますので注意してください。 【テーブルにレコードがない場合】 テーブルにレコードが1件もない場合、 Accessを起動した後の初期メニューで、[ツール]メニューの[データベースユーティリティ]-[最適化]をクリックして、対象とするテーブルを含むデータベースファイルを最適化します。 レコードが1件もないテーブルでは、オートナンバー型の初期値が1に戻ります。