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