「Access クエリ 連番 DCount関数」
「アクセス DCount 連番表示 クエリー」
といった検索が行われているのをこのサイトで見かけることがあります。
Accessのクエリで連番を表示させる方法を探している方の検索です。
クエリで連番を振るのに、DCount関数を使えばいいらしいことまではなんとかわかったものの、具体的にどのようなクエリを作ればいいのかわからないといった方の検索でしょうか。
クエリで連番を振るという行為を、まず考え直してみることを私はおすすめしますが、とりあえず、DCount関数を使ってクエリで連番を表示させるには以下のような操作を行ってください。
※主キーが「ID」フィールドの「T_会員」テーブルで、「都道府県」フィールドに「大阪府」と入力されているレコードに「連番」をl振るフィールドを作成する例 クエリのデザインビューで
「連番: DCount("[ID]","T_会員","[ID] <=" & [T_会員]![ID] & "And [都道府県]='大阪府'")」
というフィールドを作成する
DCount関数はレコードセットに含まれるレコードの数を返す関数です。
第1引数は、何を数えるかを指定します。極端な話、レコード数を数えられればどのフィールドを使ってもかまいませんが、主キーを数えるのが素直でしょうからここでは「"[ID]"」を指定しています。
第2引数は、どのレコードセットで数えるかを指定します。ここではテーブル名を「"T_会員"」と指定します。
第3引数には、条件を指定します。
「"[ID] <=" & [T_会員]![ID] & "And [都道府県]='大阪府'")」の後半「"And [都道府県]='大阪府'"」は[都道府県]フィールドが「大阪府」という条件を指定している部分です。
「"[ID] <=" & [T_会員]![ID] & "And [都道府県]='大阪府'")」の前半「"[ID] <=" & [T_会員]![ID]」が、連番を作成する条件です。
カレントレコードの「[T_会員]![ID]」以下の「[ID]」を指定しています。
カレントレコードのID以下のIDを持つレコードの数をカウントすることで結果的に連番になります。
別の例で、「年齢」というフィールドがあったときに20代の人だけを抽出して連番を振るなら
「連番: DCount("[ID]","T_会員","[ID] <=" & [T_会員]![ID] & "And [年齢] <30")」
と指定します。
更に上記の二つの条件を組み合わせて、大阪府で20代の人だけを抽出して連番を振るなら
「連番: DCount("[ID]","T_会員","[ID] <=" & [T_会員]![ID] & "And [都道府県]='大阪府' And [年齢]<30")」
と指定してください。
▼サンプルファイル(003569.mdb 292KByte)ダウンロード
サンプルファイルには、連番を表示するフィールドを含む、「Q_20代_連番つき」「Q_大阪府_連番つき」「Q_大阪府20代_連番つき」というクエリを作成してありますので、ご確認ください。
Home » Access(アクセス)の使い方 » クエリで連番を振る−DCount関数