Home > 即効テクニック > AccessVBA > データベース・データ保護 > DCount関数を使ってレコード件数を取得する

即効テクニック

データベース・データ保護

DCount関数を使ってレコード件数を取得する

(Access)
DCount関数を使用して、指定された条件に一致するレコードの数を取得することができます。
サンプルでは、テーブル「登録者名簿」から条件に一致するレコードの数を取得してメッセージボックスに表示しています。

●準備●
テーブル:登録者名簿
-------------------------------
登録番号    氏名        住所
-------------------------------
1000       山本美雪    東京都
1001       高梨秀子    静岡県
1002       遠藤洋子    静岡県
1003       若林一仁    神奈川県
1004       白鳥るみ    埼玉県
1005       小泉弘信    静岡県

●手順●
  1. モジュールを新規作成します。
  2. 下記のプロシージャを作成します。
●サンプル●
Sub Sample()
    Dim DataCNT As Long
    
    DataCNT = DCount("[登録番号]", _
    "[登録者名簿]", _
    "[登録番号] > 1000 AND [住所] = '静岡県' ")
    
    MsgBox "登録番号が1000番より大きい静岡県のデータは" _
            & vbCrLf & DataCNT & "件です"
    
End Sub
上記のプロシージャを実行すると、次のメッセージボックスが表示されます。

    登録番号が1000番より大きい静岡県のデータは3件です

●詳細●
DCount関数の構文と引数は以下のようになっています。

<構文>

DCount(expr, domain[, criteria])

引数       内容
expr       対象となるデータが含まれているフィールド
           を表す文字列式、またはフィールドの値の計算
           を表す式です。テーブルのフィールド名、
           フォームのコントロール、定数、組み込み関数、
           およびユーザー定義関数が指定できます。
           ただし、ほかの定義域集計関数やSQL集計関数は
           指定できません。 
           
domain     定義域を構成するレコードを指定する文字列式です。
           テーブル名またはクエリ名が指定できます。 
           
criteria   この引数は省略可能です。
           演算対象となるデータの範囲を指定する文字列式です。