Accessのフォームに重複しないデータの個数を表示する方法を紹介します。
下のようにフォームヘッダーのテキストボックスに部署数の重複しない個数と、現在表示されているレコード件数を表示します。
分割フォームでフィルターの抽出件数を表示できるのは便利です。
テーブルの確認
もとになるテーブルは下のようになっています。
クエリの作成
まず、テーブルを基にクエリ(Q_count)を作成します。
個数を求めたい[部署]フィールドをフィールド行に表示します。
そして、クエリプロパティを開いて、[固定の値]を[はい]に変更します。
クエリを保存します。
参考クエリプロパティは、プロパティシートを表示しておき、クエリの何もないところでダブルクリックすると表示できます。
フォームの作成
テーブルを基にフォームを作成します。
下は分割フォームです。分割フォームについては、以下の記事で解説しています。
-
分割フォーム(単票フォームとデータシートを同時に表示)の作成と使い方
Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ...
非連結のテキストボックスを作成し、そのテキストボックスのコントロールソースに以下のように入力します。
=Dcount("部署","Q_count")
レコードのカウント数なので[=Dcount("*","Q_count")]でもかまいません。
Dcountについての詳細は、DCount 関数(Microsoft)を参照してください。
これで重複しないデータの個数を表示することができます。
フォームビューに切り替えて確認すると、下のように表示されます。
参考デザインビューからフォームビューに切り替えるショートカットキーは[F5]キーです。
抽出されたレコード件数を自動表示
分割フォームでは、データシートビューのフィルターボタンでデータを抽出することも多いと思います。
そのき、フォームのコントロールにフィルターで抽出された件数を表示したい場合は、非連結のテキストボックスに以下のように入力します。
[Count(*)]でレコード数が表示されます。
Count 関数(Microsoft)
=Count(*)
フォームに切り替えると、フィルターをかけていないので、すべてのレコード件数が表示されます。
データシートビューのフィルターボタンでフィルターを実行すると、抽出されたレコード数が表示されます。
以下の画像では、[出身地]フィールドで[東京]を抽出しています。
参考Count関数は、以下の記事でも使用しています。
-
フィールドの同じ値の数をカウントするにはクエリでグループ化
クエリのグループ化は、グループごとに集計できる便利な機能です。 たとえば、1つのフィールド内の同じデータをグループ化して、合計やカウント、平 ...
重複しないデータを求める方法は、以下の記事でも解説しています。
-
2つのコンボボックスに重複しないデータを表示してレコードを抽出
Accessでコンボボックスを使用してレコードを抽出する方法はいくつかありますが、テーブル内の重複しないデータをコンボボックスに表示して作成 ...
以下は、Dcount関連の記事です。
-
重複データが入力されたらオリジナルのメッセージを出す
Accessのフォームで受付番号を入力するように作成しています。 受付番号を入力したときに、既に入力済みの番号であればメッセージウィンドウを ...
-
テーブル/クエリにレコードが1件もない時にメッセージを表示する
Accessのテーブル/クエリでレコードが1件もない時、そのテーブルを基にして作成したフォームを開こうとする場合は、[データがありません]と ...
-
0を除く平均値を求めるには(Sum関数とDCount関数)
Accessでアンケート集計を作成することになりました。 各質問に[0から5]の5段階の評価をつけもらうことにしました。 ただし、[0]は、 ...
-
オートナンバー型を使わずに自動的に連番を入力する
Accessのテーブルでコードなどに、オートナンバー型を使っているとなにかと不便を感じることもあります。 番号に欠番が生じた場合、再度、番号 ...