Accessのオートナンバーについてお探しですね。
広告
Accessのオートナンバー、欠番を埋めて1から振り直す方法
Accessでデータを管理していると、間違ってレコードを削除したり、入力の途中で「やっぱりやめた」とキャンセルしたりすることってありますよね。
そんなとき、オートナンバー型の番号が飛び飛びになってしまって、「あれ?3番がない…」「なんか気持ち悪い」と感じたことはありませんか?
この記事では、オートナンバーで欠番ができてしまう理由から、安全に1から振り直す具体的な方法、そして作業する前に絶対知っておいてほしい注意点まで、わかりやすく解説していきます。
オートナンバー型って何?どうして番号が飛んじゃうの?
オートナンバー型は、Accessのテーブルに新しいデータを追加するたびに、自動で連番を振ってくれる便利な機能です。
お客さんのIDや社員番号、伝票番号なんかによく使われていて、自分で番号を入力する手間が省けるし、番号が重複する心配もありません。
でも、オートナンバーには「一度使った番号は二度と使わない」というルールがあります。
たとえば、データを入力した後で「やっぱり間違えた!」と削除したり、入力の途中でEscキーを押してキャンセルしたりすると、その番号はもう使われません。
次に新しいデータを入れると、その次の番号が割り当てられるので、結果的に番号が飛び飛びになってしまうんです。
これはAccessの仕様なので、バグや不具合ではありません。
オートナンバーの目的は「絶対に重複しない番号を付けること」であって、「きれいな連番を保つこと」ではないんですね。
Excelに慣れている人だと「連番じゃないと変!」と感じるかもしれませんが、これが正常な動きなんです。
欠番って直さないとダメ?実は直さなくても大丈夫なんです
番号が飛んでいると「このままで大丈夫かな?」「システムがおかしくなったりしない?」と心配になるかもしれませんが、実は**欠番があってもまったく問題ありません**。
データベースの役割は、データを正確に識別して管理することです。
番号が1、2、3…と綺麗に並んでいるかどうかは、システムの動作には関係ないんです。
欠番を埋めたいと思うのは、どちらかというと「見た目をスッキリさせたい」という人間側の気持ちなんですね。
むしろ、オートナンバーを無理に振り直すと、思わぬトラブルが起きることがあります。
特に注意が必要なのは、**他のテーブルとリレーションシップ(関連付け)を設定している場合**です。
たとえば、「顧客テーブル」の顧客IDをもとに「売上履歴テーブル」や「問い合わせ履歴テーブル」が紐付いているとします。
この状態で顧客IDの番号を振り直してしまうと、AさんのデータにBさんの購入履歴が紐付いてしまったり、データがバラバラになってシステムが使えなくなったりする危険性があります。
なので、振り直しをする前には必ず次の2つを確認してください。
– **対象のテーブルが他のテーブルと関連付けられていないか**
– **作業前に必ずデータベース全体のバックアップ(コピー)を取る**
万が一のときに元に戻せるよう、バックアップは絶対に忘れないでくださいね。
【実践】オートナンバーを1から振り直す手順
それでは、実際にオートナンバーを1から振り直す方法を説明します。
ポイントは、**既存のテーブルの番号を書き換えるのではなく、新しいテーブルを作ってデータを移す**ことです。
ステップ1:テーブルの構造だけをコピーする
1. Accessの左側にあるナビゲーションウィンドウで、欠番があるテーブルを**右クリック**して「コピー」を選びます
2. 何もないところで**右クリック**して「貼り付け」を選びます
3. 「テーブルの貼り付け」という画面が出てくるので、**「テーブル構造のみ」**を選択します
4. 新しいテーブル名を入力して「OK」をクリックします
これで、データが何も入っていない空っぽのテーブルができました。
ステップ2:オートナンバー以外のデータをコピーする
1. 元のテーブル(欠番があるテーブル)をデータシートビューで開きます
2. **オートナンバーの列(番号の列)以外**のすべてのデータを選択してコピーします
3. 新しく作った空のテーブルを開いて、同じく**オートナンバー以外の列**を選んで貼り付けます
4. 警告メッセージが出たら「はい」をクリックします
すると、新しいテーブルでは自動的に1から順番に番号が振られます!欠番のない綺麗な連番テーブルの完成です。
ステップ3:元のテーブルと入れ替える
データの内容に問題がなければ、元のテーブルを削除するか、名前を変えて保管しておきます。
そして新しいテーブルを本番用として使い始めればOKです。
データが0件のときや、もっと楽な方法はある?
もしテーブルの中身が空っぽ(レコードが0件)の状態なら、もっと簡単にリセットできます。
テスト入力や全削除で番号がずれてしまっている場合は、リボンの「**データベースツール**」タブから「**データベースの最適化と修復**」を実行するだけでOKです。
これだけでオートナンバーの内部カウンターがリセットされて、次の入力から自動的に「1」から始まります。
追加クエリを使った上級テクニック
定期的にデータを入れ替えて、そのたびに番号を1から振り直したい場合は、「**追加クエリ**」を使うと便利です。
追加クエリは、あるテーブルのデータを別のテーブルに一気に流し込む機能です。
あらかじめ空のテーブルを用意しておいて、「作成」タブの「クエリデザイン」から、元のテーブルの**オートナンバー以外の項目**を新しいテーブルに移すように設定します。
この追加クエリを保存しておけば、毎回コピー&ペーストする手間が省けて、ミスも減らせます。
Accessに慣れてきたら、ぜひチャレンジしてみてください。
まとめ
オートナンバーの欠番は、見た目が気になるかもしれませんが、システム的には何の問題もありません。
でも、どうしても綺麗な連番にしたい!という場合は、この記事の手順を参考にして、**バックアップを取ってから慎重に**作業してくださいね。
広告
