Windows 8 & Office 2013 Access 2013

重複しないデータの個数とレコードの抽出件数をテキストボックスに自動表示

投稿日:2017年1月7日 更新日:

Accessのフォームに重複しないデータの個数を表示する方法を紹介します。

下のようにフォームヘッダーのテキストボックスに部署数の重複しない個数と、現在表示されているレコード件数を表示します。

分割フォームでフィルターの抽出件数を表示できるのは便利です。

分割フォームにレコード数を表示

テーブルの確認

フォームのもとになるテーブルは下のようになっています。

作成済みのテーブル

参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...

続きを見る

重複しないレコードを求めるクエリの作成

まず、テーブルを基にクエリ[Q_count]を作成します。

ここでは、[都道府県]の数を求めるクエリを作成します。

個数を求めたい[都道府県]フィールドをデザイングリッドのフィールド行に表示します。

そして、クエリプロパティを開いて、[固定の値]を[はい]に変更します。

クエリを保存します。

クエリプロパティは、プロパティシートを表示しておき、クエリの何もないところでダブルクリックすると表示できます。

クエリのデザインビュー

クエリを実行すると、以下のようになります。

クエリの実行

参考重複しないレコードをクエリのプロパティ[固有の値]で求める方法は、以下の記事でも解説しています。

2つのコンボボックスに重複しないデータを表示してレコードを抽出

Accessでコンボボックスを使用してレコードを抽出する方法はいくつかありますが、テーブル内の重複しないデータをコンボボックスに表示して作成 ...

続きを見る

クエリでグループ化して、重複しないレコードを抽出することもできます。

グループ化で重複レコードを削除したテーブルを作成

Accessで、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 クエリでグループ化を設定して重複レコードがな ...

続きを見る

レコード数をテキストボックスに自動表示

テーブルを基にフォームを作成します。

下は分割フォームです。分割フォームについては、以下の記事で解説しています。

分割フォーム(単票フォームとデータシートを同時に表示)の作成と使い方

Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ...

続きを見る

コントロールから[テキストボックス]を選択して、フォームヘッダーへ挿入します。

コントロールから[テキストボックス]を挿入

もし、[テキストボックスウィザード]が表示されたら、[キャンセル]ボタンを押して閉じてください。

テキストボックスウィザード

非連結のテキストボックスが表示されます。

非連結のテキストボックス

参考フォームヘッダーが表示されていない場合は、ショートカットメニューから表示してください。

フォームヘッダー/フッターの表示(タイトル・ロゴ・日付と時刻の挿入)

Access2013のフォームで[フォームのヘッダー/フッター]を表示する方法です。 フォームをデザインビューで開くと、以下のようになってい ...

続きを見る

テキストボックスを挿入すると、既定ではラベルも一緒に挿入されます。ラベルを挿入したくない場合は、[Ctrl]キーを押しながらドラッグしてください。

テキストボックス作成時(フィールドの追加時)にラベルを挿入したくない

Accessのフォームやレポートのデザインビューでテキストボックスを作成すると、自動的にラベルも挿入されてしまいます。 これは、意外と面倒に ...

続きを見る

テーブルの全レコード数を表示

フォームヘッダーに非連結のテキストボックスを作成し、そのテキストボックスのプロパティを開き、[コントロールソース]に以下のように入力します。

これで、テーブル[T_会員]の全レコード数を表示できます。

=Dcount("*","T_会員")

テキストボックスのプロパティ[コントロールソース]

参考Dcountについての詳細は、DCount 関数(Microsoft)を参照してください。

クエリで求めたレコード数を表示

2つ目の非連結のテキストボックスを作成して、今度は、[=Dcount("*","Q_count")]とします。

=Dcount("*","Q_count")

これでクエリ[Q_count]の個数を表示することができます。

テキストボックスのプロパティ[コントロールソース]

フォームビューに切り替えて確認すると、以下のように表示されます。

テーブルのレコード数が変わると、2つのテキストボックスの数値は自動で更新されます。

テーブルのレコード数とクエリのレコード数を表示したフォームビュー

参考デザインビューからフォームビューに切り替えるショートカットキーは[F5]キーです。

キーボード[F5]キー

抽出されたレコード件数を自動表示

分割フォームでは、データシートビューのフィルターボタンでデータを抽出することも多いと思います。

そのき、フォームのコントロールにフィルターで抽出された件数を表示したい場合は、非連結のテキストボックスのプロパティを開き、コントロールソースに以下を入力します。

[Count(*)]でレコード数が表示されます。

Count 関数(Microsoft)

=Count(*)

非連結のテキストボックスのプロパティ[コントロールソース]

フォームに切り替えると、フィルターをかけていないので、すべてのレコード件数が表示されます。

抽出レコード数のテキストボックスを設置したフォームビュー

データシートビューのフィルターボタンでフィルターを実行すると、抽出されたレコード数が表示されます。

以下の画像では、[コース]フィールドで[VIP]のレコードを抽出しています。

テーブルのレコード数を表示している[会員数]は不要かもしれませんが、常に表示しておきたい場合などはいいと思います。

抽出後のレコード件数

参考Count関数は、以下の記事でも使用しています。

フィールドの同じ値の数をカウントするにはクエリでグループ化

クエリのグループ化は、グループごとに集計できる便利な機能です。 たとえば、1つのフィールド内の同じデータをグループ化して、合計やカウント、平 ...

続きを見る

テキストボックスや、コンボボックスでレコードを抽出する方法は、以下の記事で解説しています。

テキストボックスでレコード抽出(コードビルダーを起動して設定)

Accessのフォームで検索用のテキストボックスを作成して、そのテキストボックスに入力した文字列の部分一致でレコードを抽出する方法を紹介しま ...

続きを見る

フォームのコンボボックスの値でレコードを抽出

Accessの分割フォームのデータシートビューには、Excelのフィルターと同じようにフィルターボタンがあり、Excelの操作と同じように様 ...

続きを見る

以下は、DCount関連の記事です。

レコード検索時に該当するレコードがない場合はメッセージを表示する

フォームに検索ボックス(テキストボックス)を設置して、管理番号を入力したら該当のレコードを抽出する仕組みを作ります。 その時、検索ボックスに ...

続きを見る

重複データが入力されたらオリジナルのメッセージを表示する

Accessのフォームで受付番号を入力するように作成しています。 受付番号を入力したときに、既に入力済みの番号であればメッセージウィンドウを ...

続きを見る

テーブル/クエリにレコードが1件もない時にメッセージを表示する

Accessのテーブル/クエリでレコードが1件もない時、そのテーブルを基にして作成したフォームを開こうとする場合は、[データがありません]と ...

続きを見る

0を除く平均値を求めるには(Sum関数とDCount関数)

Accessでアンケート集計を作成することになりました。 各質問に[0から5]の5段階の評価をつけもらうことにしました。 ただし、[0]は、 ...

続きを見る

オートナンバー型を使わずに[数値型]を使って自動的に連番を入力する

Accessのテーブルでコードなどに、オートナンバー型を使っているとなにかと不便を感じることもあります。 番号に欠番が生じた場合、再度、番号 ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

Profile

執筆者/はま

-Windows 8 & Office 2013 Access 2013

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.