こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessのテーブルのレコード追加について

お世話になります。
テーブルのレコードをコピーして、別のテーブルに
「編集」の中の「追加貼り付け」でテーブルのレコードを
追加しました。
しかし、データ型をオートナンバーにしているフィールド
があったのですが、追加したレコードの部分のナンバーが
連番になりません。
どの様にしたら、追加した分も連番になりますでしょうか。
お教え下さいます様、宜しくお願い致します。

投稿日時 - 2009-12-06 09:25:17

QNo.5501781

困ってます

質問者が選んだベストアンサー

オートナンバーが連番になっていないのを気にするのって本当はダメなのでしょうけど、一応下記:

1)当該フィールドの型をオートナンバーから数値型に変更。
2)連番になるように更新。
3)当該フィールドの型を元に戻す。

リレーションとかのせいで上記作業は不可能なこともあります。

投稿日時 - 2009-12-06 11:46:08

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

オートナンバーはユーザー側の理由による連番や空き番号への優先挿入をするための列ではない。
特に何も考えずに内部的な管理番号として重複しない番号を生成してくれるためのものであり、虫食い状態を気にするのはナンセンス。

システムの利用者が自由に編集できもしない列なのに、編集用フォームにオートナンバーの列を表示なんてしてみたら 「番号に空きがあるんだけど」 なんて無茶な質問が飛んでくるようになる。

利用者またはデーター管理者側の意思で空き番号への対応ができ、なおかつ連番の性質を持たせたい列があるのなら、オートナンバー型なんて使わずに自前で何とかする。
しかし #1 さんも言うように、他のテーブルと連携しているのなら非常に神経を使う機能になるっていうことを肝に銘じてから考えるべき。

<考え方の変更>
その列の値は、ユーザーにも見えるかたちで連番が必要なのか。
その連番は、そのレコードをを一意に表すために必要なのか。
たとえば 「一覧表にしたときに連番が付いていたほうがよい」 というのなら、DB のオートナンバーとは切り離したほうがよい。

投稿日時 - 2009-12-06 15:30:24

あなたにオススメの質問