Accessでアンケート集計を作成することになりました。
各質問に[0から5]の5段階の評価をつけもらうことにしました。
ただし、[0]は、分からないという評価内容です。
ですので、平均値は、[0]と回答した人は省いた数で除算することにしました。
参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
アンケート集計のテーブル
テーブル[T_顧客]のデザインビューです。
[デザイン]フィールドと[価格]フィールドのデータ型は、[数値型]にしています。
[デザイン]と[価格]フィールドは、ルックアップウィザードでコンボボックスにしています。
これで、[デザイン]と[価格]はコンボボックスから数値を選択できるようになります。
参考テーブルのルックアップウィザードについては、以下の記事で解説しています。
-
ルックアップウィザードを使用してドロップダウンリストを設定(値を直接入力)
テーブルのデータ型には、[ルックアップウィザード]というのがあります。 ルックアップウィザードを選択して、ウィザードに従って設定していくと、 ...
フォームの作成
テーブル[T_顧客]を基にフォームを作成します。
テーブル[T_顧客]を選択したまま、[作成]タブの[フォーム]グループにある[フォーム]をクリックします。
これで単票フォームが作成できます。
作成したフォームをデザインビューで表示します。
[デザイン]タブの[コントロール]グループから[テキストボックス]をクリックして、フォームの詳細領域内に非連結のテキストボックスを挿入します。
[テキストボックスウィザード]が表示されたら、[キャンセル]ボタンをクリックして閉じます。
以下のように2個の非連結のテキストボックスを設置します。
非連結のテキストボックスの名前は、それぞれ[集計1]、[集計2]としています。
参考プロパティは、[F4]キーで表示/非表示を切り替えられます。
テキストボックスのコントロールソースに入力
非連結のテキストボックスのプロパティを表示します。
[データ]タブの[コントロールソース]に以下のように入力することで計算できます。
[デザイン]は、コンボボックスの名前です。
データ型が[テキスト型]の場合は、エラーになりますので気をつけてください。
=Sum("デザイン")/Dcount("デザイン","T_顧客","デザイン>0")
Dcount関数とSum関数については、以下の記事を参考にしてください。
DCount 関数 - Access(Microsoft)
Sum 関数 - Access(Microsoft)
[書式]は、[標準]、[小数点以下表示桁数]は[1]にしています。
フォームビューに切り替えると、0を除いた平均値が表示されます。
評価を入力してフォームを保存した時点で平均値が更新されます。
Excelなら、AVERAGEIF("範囲","<>0")で求められるのですが、Accessの場合は、どうするのか考えてしまいました。
もしかしたら、もっと簡単な計算式があるのかもしれません。
関連以下はDCount関数に関する記事です。
-
レコード検索時に該当するレコードがない場合はメッセージを表示する
フォームに検索ボックス(テキストボックス)を設置して、管理番号を入力したら該当のレコードを抽出する仕組みを作ります。 その時、検索ボックスに ...
-
重複データが入力されたらオリジナルのメッセージを表示する
Accessのフォームで受付番号を入力するように作成しています。 受付番号を入力したときに、既に入力済みの番号であればメッセージウィンドウを ...
-
テーブル/クエリにレコードが1件もない時にメッセージを表示する
Accessのテーブル/クエリでレコードが1件もない時、そのテーブルを基にして作成したフォームを開こうとする場合は、[データがありません]と ...
-
重複しないデータの個数とレコードの抽出件数をテキストボックスに自動表示
Accessのフォームに重複しないデータの個数を表示する方法を紹介します。 下のようにフォームヘッダーのテキストボックスに部署数の重複しない ...
-
オートナンバー型を使わずに[数値型]を使って自動的に連番を入力する
Accessのテーブルでコードなどに、オートナンバー型を使っているとなにかと不便を感じることもあります。 番号に欠番が生じた場合、再度、番号 ...
-
フィールドの同じ値の数をカウントするにはクエリでグループ化
クエリのグループ化は、グループごとに集計できる便利な機能です。 たとえば、1つのフィールド内の同じデータをグループ化して、合計やカウント、平 ...