ちょろっとAccessメモ

2008.06.23.月
技術


ちょろっとAccessメモ。

選択クエリの結果に連番を振りたいときの技。

ーーーーーーー
顧客テーブル
ーーーーーーー
顧客コード
氏名
性別
ーーーーーーー

というテーブルから、性別が女性の人だけを選択して、連番をふります。

まずは普通に、女性だけを抜き出す選択クエリを作ります。
で、一番右の空いた枠にでも、↓こんなのを入れます。

連番: DCount("*","顧客テーブル","[性別]='女'" & " AND [顧客コード]<=" & [顧客テーブル].[顧客コード])

ちょっと長くて、折り返されて表示されてるかもしれませんが、クエリには、
折り返さないで一行で書いてくださいませ。
l フィールド | 顧客テーブル.* | 性別 | 連番:Dcount(略) |
| テーブル | 顧客テーブル | 顧客テーブル |   |
| 抽出条件 |   | ="女" |   |
これを実行すると、
| 顧客コード | 氏名 | 性別 | 連番 |
| 2 | 山田○子 | | 1 |
| 5 | 鈴木△子 | | 2 |
| 12 | 佐藤□子 | | 3 |
というような結果が返る、、、ハズです!

[性別が女]で、[顧客コードは私と同じか私より小さい]というレコード数を、
順番にカウントしていっています。これで、必然的に連番になるわけです。

顧客コードのような、ユニークのキーがあるときにしか使えません。
大小を比べくてはいけないので、数値である必要もあるかも。
※コードがテキスト型の数字ってときは、Cintを付ければダイジョブです。

大概の場合は、テーブルにIDやコードの類があると思うので、結構使えます。