まりふのひと

オートナンバー型のテーブルの復元

※ いきさつ
  1. mdb を開くと、「'AOIndex'は、このテーブルのインデックスではありません」のエラーが出て開くことができない。
  2. 新しい mdb を作成し、
    • インポートを試みるができない。
    • [テーブルのリンク]もできない。
  3. ところが、VBA ではリンクを張ることができる。
  4. そこで、コピペでテーブルを作り替えた。
  5. ここで問題になったのがオートナンバー型の項目があるテーブル。コピペすると「1からの連番」が付いてしまう。すなわち、変わってしまうのだ!

※ 対処方法

「クエリーで追加」にヒントがありそうなので、

  1. 本来テーブル中の全データを削除
  2. [データベースの最適化/修復]を実施
  3. 本来テーブルのコピーを作成
  4. コピーテーブルのオートナンバー型項目を「長整数」に変更
  5. コピーテーブルにコピペ
  6. クエリーで、コピーテーブルの全項目を本来テーブルに追加

※ 確認
  1. 元々の欠番は、チャンと欠番になっていた。
  2. 本来テーブルのコピーを作成し、これに1件データを追加したところ、+1 の番号が付いた。
    • 追加したレコードを削除⇒[データベースの最適化/修復]を実施⇒データを1件追加したが、+2 の番号が付いた。(+1 の番号は欠番になった)
    • 全データを削除⇒[データベースの最適化/修復]を実施⇒データを1件追加すると、1 が付いた。(リセットされた)