オートナンバー型の欠番を直すには?
はじめに
レコードを何件か削除すると、欠番になってしまいます。この番号を振りなおすにはどうすればいいのでしょうか?
どうしても欠番が気になるようでしたら、最初からオートナンバー型は使わないことです(キッパリ)。
Accessのバリバリ開発者レベルの方は欠番が出たりするのがわずらわしいのでオートナンバー型は使わないようにデータベースを構築しているようです。
欠番をなんとか穴埋めするのに一番難儀なのが、データベースにデータが結構あって、リレーションシップとかが設定されていて、そのID番号が他のテーブルの外部キーとして参照している場合です。これはもう悲惨、お手上げです。方法はないわけでもないですが、かなり時間と労力を必要とします。
テーブルにデータがある場合
- 修正したいテーブルを選択して[編集]→[コピー]をクリックします。
右クリックしてショートカットメニューより[コピー]を選んでも、Ctrl+Cキーでコピーしてもいいのでとにかくコピーしてください(笑)
- [編集]→[貼り付け]をクリックすると、[テーブルの貼り付け]ダイアログボックスが表示されます。
テーブル名を適当に入力して、貼り付けの設定を「テーブル構成のみ」にしてOKボタンをクリックします。
すると、データ抜きの構造のみが作成されました。
- クエリを新規作成します(要はテーブル作成クエリなのですが(^^;)
元となるデータベースは欠番を直したい元テーブルを選択してとりあえず選択クエリを作ります。ただし、オートナンバー型のフィールド以外のすべてのフィールドを選択してください。
- [クエリ]→[追加]をクリックします。
- するとこんなんでてきます。追加先のテーブル名は、テーブル構造のみ作成したテーブル名を選択して、OKボタンをクリックします。
- [クエリ]→[実行]をクリックするか、ツールバーの「!」マークボタンをクリックします。
- すると、テーブル構成のみ作ったテーブルにデータが書き込まれました。欠番が修復されたことを確認します。
- 元のテーブルを削除して、更新されたテーブルの名前を削除したテーブル名に変更します。
テーブルにデータがない場合
テーブルにデータが空で、1から始まらなくなった場合は、データベースの最適化をすれば大丈夫です。
→データベースを最適化するには?を参照してください。
マイクロソフト公式ヘルプ記事
INDEX
異なるバージョンの関連記事
コメント
※技術的な質問はMicrosoftコミュニティで聞いてください!