Windows 7 & Office 2010 Access 2010

フォームでチェックボックスがオンの数を集計するには

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

Accessのテーブルのフィールドで[データ型]を[Yes/No型]にして、集計フォームでチェックボックスがオンの数を合計したい場合の方法です。

セミナー集計フォーム

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

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

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

続きを見る

テーブルの確認

テーブル[T_申込]のデザインビューです。

セミナーごとにフィールドを作成して、データ型は[Yes/No型]にしています。

テーブル[T_申込]のデザインビュー

データ型については、以下の記事で解説しています。

テーブル(フィールド)のデータ型の種類とフィールドプロパティ

文字とか数値といったデータの種類のことをデータ型と呼びます。 Accessでは、フィールドごとにデータ型が決まっていて、同じデータ型のデータ ...

続きを見る

申込フォームの作成

テーブル[T_申込]を基に作成したフォームの新規データ入力は下のようになっています。

ここでは、フォームの名前は[F_申込]にしています。

フォーム[F_申込]

参考テーブルのデータ型で[Yes/No型]を選択すると、フォームではチェックボックスになります。

集計フォームの作成

このチェックボックスがオンの数を集計して表示するには、[T_申込]テーブルを基にフォームを作成します。

ここでは、[F_集計]というフォームを作成しています。

[フォーム]プロパティのレコードソースは、[T_申込]となっています。

フォームヘッダーには、ラベルで[セミナー集計]と入力しています。

フォーム[F_集計]

参考キーボードから[F4]キーを押すと、プロパティを表示できます。

キーボード[F4]キー

非連結のテキストボックスを作成

非連結のテキストボックスを作成します。

[非連結]とはテーブルやクエリのデータがもとになっていないコントロールのことを指します。

[デザイン]タブの[コントロール]グループの[テキストボックス]クリックして挿入します。

そして、以下のようにレイアウトします。

[人]はラベルで挿入します。

テキストボックスウィザードが表示されたら[キャンセル]ボタンをクリックして閉じます。

非連結のテキストボックスを挿入

テキストボックスのコントロールソースへ関数を入力

テキストボックスのプロパティを表示します。

[データ]タブの[コントロールソース]に以下のように入力します。

=Sum(IIf([セミナー1]=Yes,1,0))

同じように、他の2つのテキストボックスのコントロールソースにも入力します。

テキストボックスのコントロールソース

IIF関数については、Microsoftの以下の記事が参考になります。

IIf 関数 - Access(Microsoft)

IIF構文

フォームビューで確認

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

コントロールのフォントなどは、任意で変更してください。

フォームビューで確認

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

キーボード[F5]キー

集計データを更新する[更新]ボタンを作成

フォーム[F_申込]に新しいデータが入力されたら、集計データを更新したいので[更新]ボタンを作成します。

[デザイン]タブの[コントロール]グループにある[ボタン]をクリックして、フォームヘッダーに挿入します。

テキストボックスウィザードが表示されたら[キャンセル]ボタンをクリックして閉じます。

コマンドボタンの作成

埋め込みマクロ(マクロビルダー)とイベントプロシージャ(コードビルダー)で設定する方法を紹介します。

どちらで設定しても構いません。

[コードビルダー]で設定しても、[マクロビルダー]で設定しても動作は同じです。

マクロビルダーで設定する場合

[ビルダーの選択]ダイアログボックスで[マクロビルダー]を選択した場合は、[再クエリ]を選択します。

コマンドボタンのプロパティで[イベント]タブの[クリック時]の[ビルダー選択]ボタン[…]をクリックして、[ビルダーの選択]ダイアログボックスで[マクロビルダー]を選択して[OK]ボタンをクリックします。

[ビルダーの選択]で[マクロビルダー]を選択

[マクロウィンドウ]が表示されます。

[新しいアクションの追加]の▼ボタンをクリックして、[再クエリ]を選択します。

マクロアクションは、[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。

新しいアクションで[再クエリ]を選択

以下のようになります。コントロール名は空白のままでOKです。

[閉じる]ボタンをクリックして閉じます。

マクロツールウィンドウを閉じる

[マクロに対して行った変更を保存して、プロパティを更新しますか?]のメッセージウィンドウが表示されますので、[はい]ボタンをクリックします。

メッセージウィンドウ

プロパティの[イベント]タブのクリック時には、[埋め込みマクロ]と表示されます。

[イベント]タブのクリック時

参考[埋め込みマクロ]と、[独立マクロ]については以下で解説しています。

[埋め込みマクロ]と[独立マクロ]の違いについて

コードビルダーで設定する場合

コマンドボタンのプロパティを表示して、[イベント]タブのクリック時の[ビルダー選択]ボタン[…]をクリックします。

[ビルダーの選択]ダイアログボックスが表示されたら、[コードビルダー]を選択して[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックス

そして、以下のように[クリック時]イベントのイベントプロシージャに書き込みます。

DoCmd.Requery

クリック時のイベントプロシージャ

常にコードビルダーで設定するには

常にコードビルダーで設定したいのであれば、[Accessのオプション]ダイアログボックスで設定できます。

[ファイル]タブをクリックしてBackstageビューを表示して、[オプション]をクリックします。

[オプション]ダイアログボックスは、アクセスキーを使って[Alt]→[F]→[T]の順に押すと表示できます。これは、Word、PowerPointなどでも使用できます。

キーボード[Alt]→[F]→[T]

[Accessのオプション]ダイアログボックスの[オブジェクトデザイナー]にある[常にイベントプロシージャを使用する]のチェックボックスをオンにして、[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックスが表示されず、すぐにVBEウィンドウが表示されるので効率的です。

[Accessのオプション]ダイアログボックス

参考[マクロビルダー]と[コードビルダー]の相違点などは以下の記事で解説しています。

マクロアクション(マクロビルダー)とVBA(コードビルダー)

Accessでは、マクロアクション(マクロの実行アクション)やVBA(Visual Basic for Applications)を使って一 ...

続きを見る

以下の記事は、[Yes/No型]で作成したチェックボックスに関する記事です。

Yes/No型をチェックボックスではなく文字列で表示するには

Accessのテーブルでフィールドのデータ型を[Yes/No型]にすると、データシートビューではチェックボックスになります。 テーブルや、フ ...

続きを見る

Yes/No型をまとめて更新

Yes/No型のインポート

検索

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

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 7 & Office 2010 Access 2010

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

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