ACCESS Count関数の使い方

Count関数の使い方

ACCESSでフォームやレポートに表示されたレコード件数を数える際に利用できるのがCount関数です。
特に細かい条件を指定しなくても表示されたレコードの件数を集計してくれるので便利です。

今回は、Count関数の使い方をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。

Count関数とは

Count関数とは、ACCESSのフォームやレポート上の特定フィールドのレコード件数を集計するための関数です。

上記のフォームで赤枠で囲った場所のように、表示されたレコードの件数を計算するのに適しています。

Count関数の構文

Count関数は以下の構文で利用します。

集計対象のフィールドを指定するだけの簡単な構文です。
例えば、上記の例では合計数量のテキストボックスには以下のように記述しています。

数量というのが集計対象のフィールド名ですが、フォーム上のテキストボックスなので[]で囲っています。

Count関数の利用例

では、先程のフォームを例に、Count関数をどのように使うか見てみましょう。
フォームをデザインビューで開くと下記のようになっています。

「件数」のプロパティシートを見ると、コントロールソースにCount関数を記述しています。
集計対象の「数量」はその下の詳細セクションにありますね。

このように、フォームの場合は詳細セクションにあって複数回繰り返しされるテキストボックスの値を、ヘッダー部やフッター部のテキストボックスに集計値として表示する使い方が便利です。

Count関数とDcount関数の違い

Count関数と似た関数として、Dcount関数があります。
Dcount関数もCount関数と同じようにレコードの数を集計可能です。

一見、どちらを使えばよいか悩むかと思いますが、簡単に言うとフォームやレポート上で集計する際はCount、クエリやVBAで集計する場合はDCountが便利と覚えておくとよいでしょう。
Count関数とDcount関数の違いを下記の表にまとめました。

CountとDcountの違い

Dcount関数は集計条件を指定できるので、テーブルやクエリのフィールドに対して細かい条件を指定した柔軟な集計が可能です。
一方でCount関数は引数が一つしかないので単純な集計しかできませんが、フォームやレポートに表示されるレコード数が変わった際に、何も設定を変えなくても自動で集計値が変わってくれるのが便利です。

例えば先ほどの例に挙げた検索フォームでのレコード数集計でご説明しましょう。

このフォームは検索フォームですので、上部に入力した検索条件に従って、下部に表示されるレコードが変化します。
フォームを表示した際には全レコードが表示されており、Count関数を使って集計したレコード数は63と表示されています。

ではここで検索条件を入れてフォームの表示を変更してみましょう。
商品名に条件を入れて検索します。

すると、レコードの表示が変更されるのに合わせて、件数も自動で更新されました。
このように、フォームの表示結果に合わせて自動で更新されるのがCount関数の良いところです。

DCount関数でも同じことはできますが、その場合はDcount関数の抽出条件に、フォームに現在適用している抽出条件と同じ条件を動的に反映させなければいけません。
VBAを使えば実装は可能ですが、Count関数であればこうした面倒な処理を記述しなくても同じことが実現できるのです。

なお、Dcount関数に関しては下記の記事もご覧ください。

以上、Count関数の使い方をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。