【Access】Dcount関数を使ってレコード数をカウントする方法

 
アクセス担当のまみです。
 
 
 
全レコードの数とか、ある条件を満たすレコードの数とか、そういうレコードの数を知りたい時があります。
 
レコードの数がわかれば、割合がわかるのでグラフの作成もできちゃいますね。
 
 
(はてな君)
レコード数ってどうやって数えるの?
 
 
(あいちゃん)
Dcount関数を使うとレコード数を数えてくれるよ。
 
 
今回は、Dcount関数についてお伝えしますね。
 
 
 

Dcount関数

 

構文
Dcount(フィールド名,テーブル名またはクエリ名,条件式)

この構文を使ってレコード数を求めます。

フィールドにNullがあると、その数は省かれます。

 

(はてな君)
この形ってなんかよく見るよ。
 
 
(あいちゃん)
そうだね。よく見る形だね。よく似てても少し違っていることもあるから注意が必要だよ!
 
 
 

Dcount関数を使ってレコード数を数える

 

使用するテーブル

では実際にDcount関数に色々なレコード数を数えてもらいましょう。

 

使用例 出力例
全レコード数: DCount(“*”,”T_名簿”) 7
営業部の人数: DCount(“*”,”T_名簿”,”部署名=営業部“) 4
訪問した人の人数: DCount(“訪問”,”T_名簿”) 4
5件以上訪問した人の人数: DCount(“*”,”T_名簿”,”訪問>=5″) 2
期間中に実績のある人の人数: DCount(“*”,”T_名簿”,”日時 Between #2018/10/05# And #2018/10/18#”) 4

 

全レコード数を数える

 

全レコード数を数えるには「DCount(“*”,”T_名簿”)」と条件式を省くことで可能です。

 

営業部の人数を数える

 

営業部の人数を数えるには「DCount(“*”,”T_名簿”,”部署名=’営業部'”)」と入力します。

 

(はてな君)
あっ「’」とかの苦手なやつだ~
(あいちゃん)
そっか。はてな君は文字列の書き方が苦手なのか。

 

部署名のデータ型は文字列(短いテキスト)なので「営業部」のように「」(半角)で囲ってあげないとちゃんと動きません。

 

(はてな君)
そっか営業部を「’」で囲めばいいんだね。

 

 

訪問した人の人数を数える

 

訪問した人の人数を数えるには「DCount(“訪問”,”T_名簿”)」と入力します。

条件式が省かれているので訪問フィールドのレコード数を数えてくれるんだけど、Nullの数は含まれない、つまり、訪問フィールドに入力があるレコードの数を数えてくれます。

 

 

5件以上訪問した人の人数を数える

 

5件以上訪問した人の人数を数えるには「DCount(“*”,”T_名簿”,”訪問>=5″)」と入力します。

 

(はてな君)
わかった!訪問フィールドに5以上の数が入っている人数を数えてくれるんだ!

 

 

期間中に実績のある人の人数を数える

 

期間中(2018/10/05から2018/10/18まで)に実績のある人の人数を数えるには「DCount(“*”,”T_名簿”,”日時 Between #2018/10/05# And #2018/10/18#”)」と入力します。

 

(あいちゃん)
日付は#で囲ってね!

Betweenの前後、Andの前後には半角のスペースが必要です。

 

(はてな君)
条件が複数あっても数えてくれるの?
(あいちゃん)
はてな君頑張るね!複数条件もちゃんと数えてくれるよ!

 

 

応用編

 

(あいちゃん)
少しデータを増やそうかな。

使用するテーブル

では応用編です。

 

使用例 出力例
営業部以外の人数: DCount(“*”,”T_名簿”,”部署名<>営業部“) 5
何々部の人数: DCount(“*”,”T_名簿”,”部署名 Like *部“) 6
営業部で訪問した人の人数: DCount(“*”,”T_名簿”,”部署名=営業部 And 訪問>=1″) 1

 

営業部以外の人の人数を数える

 

営業部以外の人の人数を数えるには「DCount(“*”,”T_名簿”,”部署名<>’営業部'”)」と入力します。

 

 

(はてな君)
以外って「<>」を使うんだね!

 

何々部の人数を数える

 

何々部の人数を数えるには「DCount(“*”,”T_名簿”,”部署名 Like ‘*部'”)」と入力します。

 

(あいちゃん)
何々部って営業部しかないから結局営業部の人数ってことになるね。ちょっと例が悪かったね。もう一つ製造部とか作っておけばよかったね!

 

 

営業部で訪問した人の人数を数える

 

営業部で訪問した人の人数を数えるには「DCount(“*”,”T_名簿”,”部署名=’営業部’ And 訪問>=1″)」と入力します。

 

 

(はてな君)
色んな数を数えたよ!色んなパターンがあるんだね。

 

必要なクエリは名前を付けて保存してくださいね。

 

まとめ

 

Dcount関数だけじゃなくて他の関数の時でも同じですが、文字列には「」を使うことをお忘れなく!

上手くいかないなぁって時は「’」だったってことも良くあります・・・

 

Dcount関数を上手に使って欲しいデータを抽出してくださいね。