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