データーベース

本業と関係があるとはいえ、またデータベースを作っています。
今回はレコード作成時にユニークな4桁のランダムナンバーを生成する必要があるんですが、思ったより面倒くさそう(「番号生成→レコード内で重複がないか確認→重複があったらやり直し」とやるらしい)なのであらかじめランダムナンバーのレコードを必要分作っておいて、付随するレコード番号と紐付けて使うことにしました。
要は1〜9999までの数字をランダムに並び替えられれば良いんですが、良い方法を思いつかなかったので以下の方法で対応。

  1. オートフィルで1〜9999まで連番を振る
  2. その隣の列に疑似乱数で生成した値を並べる
  3. その列を基準に並び替える
  4. 並び変わった番号に対し、順にレコード番号を割り当てる

もっとスマートな方法があるような気もしますが、とりあえず目的は果たせたのでよしとします。
さすがに1万だと足りなくなりそうなので、4桁を使い切ったらそれ以降は5桁、さらに使い切ったら6桁となるようにレコードを作ることにしました。
さすがに100万あれば十分すぎるでしょう。


にしても、今のExcelはものすごい行数扱えるんですね。
ちょっとびっくり。
さらにAccessでそのテーブルを一瞬で開くのもびっくり。
良い時代になったものです。