アクセスで、テーブルのレコードを
一件消すとID番号がそこだけ
抜かれた形(永久欠番)になってしまいます。
どうしたらID番号がそのまま
になるのか教えてください。
また途中にレコードを新しくいれるのは
可能でしょうか?教えてください。

A 回答 (4件)

オートナンバー型で一度使われた番号は、基本的には使えません。


ただし次のようなときは、再度使うことができます。

たとえばオートナンバー型で次のように番号が振られている

1,2,3,4,5,6,7,8,9

このうち、3,6,8,9を削除する。すると次のようになる。

1,2,4,5,7

この段階で2つデータを追加すると、次のようになる。

1,2,4,5,7,10,11

つまり削除した番号は、欠番になる。
このときに、削除して追加する前に、最適化をすると、追加したときに次のようになります。

1,2,4,5,7,8,9

つまり最適化をすることで、今ある番号の最大値を、現在の最後の数と見るようです。ちなみに、オートナンバー型は、LONGなのでその範囲を超えると、約-200万から数えます。ただし、その段階でレコードを全部消し、最適化すると。また、1から数えます。

また、どうしても欠番を作りたくないのであれば、オートナンバー型をやめて、LONG型などにして順序番号を作るプロシージャを作るしかないですね
    • good
    • 0

オートナンバー型で設定されたフィールドを持つレコードを一度削除したら、


後で追加するのは難しいと思います。
初期の段階では、クエリを使ってオートナンバー型のテーブルを
初期化する方法があります。
詳しくはヘルプを見てください(Access2000で確認)

しかし、オートナンバー型など、データ型を一通り
学ばれることが先決かと思われます。
書籍であればすぐに終わる話です。
ヘルプにも相当量の説明書きがあります。
マイクロソフトのサイトにもある程度の説明があります。
ただ、Accessに関しては答えられるものに限界があると思います。
やってる人が少ないのと、難しいからです。
マイクロソフトのサイトでの説明もWordやExcelより少ないです。

参考URL:http://www.microsoft.com/japan/office/
    • good
    • 0

意味がいまいちツカミ切れない感じですが、


オートナンバー型でIDを振っているなら、
削除したID番号を復活させることは、基本的に
できません。
それが仕様だと思うべきです。(TT

イヤな場合は、オートナンバーを使わないように
するしかないでしょう...
    • good
    • 0

accessではデータの並び順を気にした設計はしないほうが良いでしょうね。


並べ替えなどはクエリを使ってその結果に対して行うほうが良いと思います。
特にオートナンバー型の場合はいじらないほうが良いですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング