使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
意図はおそらく汲めました。でも、その空気を読まずレポートの機能を用いて集計する方法を提示してみます。
テーブル:T_Visitors フィールド:営業日付(日付/時刻型) / AM来場者(数値型) / PM来場者(数値型)
レポートウィザードで手早くレポートを作成。
- すべてのフィールドを選択
- 営業日付をグループレベルに指定/グループの間隔は 月
- 集計のオプションは、AM来場者/PM来場者いずれも 合計
- レイアウトはお好み
以上でとりあえずの月毎集計されたレポートが完成。これに集計させるコントロールを追加していく。
レポート詳細セクションにテキストボックスコントロールを2つ配置
- テキストボックス txt01
- コントロールソース: =IIf([AM来場者]+[PM来場者]=0,1,0)
- 集計実行: グループ全体
- テキストボックス txt02
- コントロールソース: =IIf([AM来場者]+[PM来場者]=0,1,0)
- 集計実行: 全体
グループフッターセクションにテキストボックスコントロールを1つ配置
- テキストボックス txt03
- コントロールソース: =[txt01]
レポートフッターセクションにテキストボックスコントロールを1つ配置
- テキストボックス txt04
- コントロールソース: =[txt02]
txt01とtxt02は、レポートに表示しなくてもいいものだから、非表示とするか、サイズ0のコントロールするなど。
txt03には、月ごとの来場者数0の日数、txt04には、レポート全体での来場者数0の日数が表示されます。
来場のあった日数は、Count(*)-来場者0の日数だから、グループフッターであれば、=Count(*)-[txt03]になります。
予めに以下のクエリを使うという方法も、
SELECT T_Visitors.営業日付, T_Visitors.AM来場者, T_Visitors.PM来場者, IIf([AM来場者]+[PM来場者]=0,1,0) AS 集計用
FROM T_Visitors;
このクエリを元にレポートウィザードにかけてしまえば何気にほぼ完成。レポートのレコードソースにして、デザインしながらでもよいと思います。
当然他のやり方もありです。レポート機能は結構便利なので、たまには思い出してあげてください
キーワード:
- レポートの集計実行
- IIF関数