質問: accessのテーブルのレコード追加について お世話になります。 テーブルのレコードをコピーして、別のテーブルに 「編集」の中の「追加貼り付け」でテーブルのレコードを 追加しました。 しかし、データ型をオートナンバーにしているフィールド があったのですが、追加したレコードの部分のナンバーが 連番になりません。 どの様にしたら、追加した分も連番になりますでしょうか。 お教え下さいます様、宜しくお願い致します。
回答: オートナンバーはユーザー側の理由による連番や空き番号への優先挿入をするための列ではない。 特に何も考えずに内部的な管理番号として重複しない番号を生成してくれるためのものであり、虫食い状態を気にするのはナンセンス。 システムの利用者が自由に編集できもしない列なのに、編集用フォームにオートナンバーの列を表示なんてしてみたら 「番号に空きがあるんだけど」 なんて無茶な質問が飛んでくるようになる。 利用者またはデーター管理者側の意思で空き番号への対応ができ、なおかつ連番の性質を持たせたい列があるのなら、オートナンバー型なんて使わずに自前で何とかする。 しかし #1 さんも言うように、他のテーブルと連携しているのなら非常に神経を使う機能になるっていうことを肝に銘じてから考えるべき。 <考え方の変更> その列の値は、ユーザーにも見えるかたちで連番が必要なのか。 その連番は、そのレコードをを一意に表すために必要なのか。 たとえば 「一覧表にしたときに連番が付いていたほうがよい」 というのなら、db のオートナンバーとは切り離したほうがよい。