ちょろっとAccessメモ。
選択クエリの結果に連番を振りたいときの技。ーーーーーーー
顧客テーブル
ーーーーーーー
顧客コード
氏名
性別
ーーーーーーー
というテーブルから、性別が女性の人だけを選択して、連番をふります。
まずは普通に、女性だけを抜き出す選択クエリを作ります。
で、一番右の空いた枠にでも、↓こんなのを入れます。
連番: DCount("*","顧客テーブル","[性別]='女'" & " AND [顧客コード]<=" & [顧客テーブル].[顧客コード])
ちょっと長くて、折り返されて表示されてるかもしれませんが、クエリには、
折り返さないで一行で書いてくださいませ。
l | フィールド | | | 顧客テーブル.* | | | 性別 | | | 連番:Dcount(略) | | |
| | テーブル | | | 顧客テーブル | | | 顧客テーブル | | | | | |
| | 抽出条件 | | | | | ="女" | | | | |
| | 顧客コード | | | 氏名 | | | 性別 | | | 連番 | | |
| | 2 | | | 山田○子 | | | 女 | | | 1 | | |
| | 5 | | | 鈴木△子 | | | 女 | | | 2 | | |
| | 12 | | | 佐藤□子 | | | 女 | | | 3 | | |
[性別が女]で、[顧客コードは私と同じか私より小さい]というレコード数を、
順番にカウントしていっています。これで、必然的に連番になるわけです。
顧客コードのような、ユニークのキーがあるときにしか使えません。
大小を比べくてはいけないので、数値である必要もあるかも。
※コードがテキスト型の数字ってときは、Cintを付ければダイジョブです。
大概の場合は、テーブルにIDやコードの類があると思うので、結構使えます。