すでにレコードが入力されているテーブル内のあるフィールドに対して、1件1件のレコードを一意に識別できるように連番を振りたいと考えています。
更新クエリ1発で簡単にできる方法があれば教えてください。
外部からプログラムでクエリを呼び出すので手操作が介入する方法は使えません。
また、ADO/DAOでレコードを1件1件フェッチしては連番を設定していく、というような方法は分かるので、もっと簡単でスマートな方法を知りたいです。
テーブル内のあるフィールドのデータ型をオートナンバー型にすれば済む話ではありませんか。
特にクエリでする必要も無いはずです。
対象のテーブルをデザインビューで開いて、一意に識別できるように連番を振りたいフィールドのデータ型をオートナンバー型にして保存して開けば
番号が振られますよ。
ということはテーブル設計の失敗とも言える事なので、
『テーブル定義を弄って直すというストレートな方法が一番スマート』
だと私は思いますが、それ以外の方法(1行1行フェッチは除く)があるとすれば私も知りたいです。
>外部からその番号を任意に与えることもある
Accessということで容量的に心配ならばお勧めしませんが、出来れば、オートナンバー型フィールドと一意の数値を入れておくフィールドを分けて考えることをお勧めします。
そうすれば、後から操作した事によって何らかのミスが発生してもフォローしやすくなります。
以上、余談なのでコメント欄で失礼。
「設計の失敗」は、ソフトウェアエンジニアリングの観点から言えば全くその通りなのですが、それが全てではない場合もあるということなんです。
Accessはあまり詳しくないので、Accessならではの裏技みたいなものがあるかな、と思ったのですが、どうも難しそうですね・・・。