|
いつもお世話になっています。
社員の健康診断を外部に委託しており、その結果が下記のようなデータで届くのですが
T_結果
所属コード社員コード 氏名 性別 年代 コース BMI判定 肝機能 ・・・
1 1 あ 男 40 B 肥満 要精密検査
1 2 い 女 30 B 標準 異常なし
2 3 う 男 30 A やせぎみ
・
・
※判定項目は、以下 脂質、糖代謝、胃など15項目ほど。
※BMI判定以外は 異常なし、観察、要経過観察、要精密検査、要治療、治療中、要再検査 のどれかが判定として入っています。(空欄もあり)
これを 下記のように、判定ごとの人数で集計する必要があります。
肝機能 脂質 糖代謝 胃 ・・・
受診者数(合計) 583 579 691 41
異常なし 470 147 611 40
観察 0 219 6 0
要経過観察 33 152 35 0
要精密検査 70 14 14 1
要治療 0 27 0 0
治療中 10 20 13 0
要再検査 0 0 12 0
ひとつの種目の集計(肝機能だけ・・とか)ならクロス集計でできるのですが、複数の種目を集計する方法がよくわからなかったので、このテーブルをもとにしたQ_結果でレポートを作成し、レポートフッターにテキストボックスを配置し
異常なし: =DCount("[氏名]","[Q_結果]","[肝機能]='異常なし'")
観察 : =DCount("[氏名]","[Q_結果]","[肝機能]='観察'")
・
・
などとして、データ元から、それぞれの数をカウントし表示する方法をとっています。
で、最終的には、コースごとや年代ごとの集計も必要なので、それぞれグループ化して、グループフッターに同じようなテキストを配置したのですが、当たり前なのでしょうけど、全体の数がカウントされます。
そこで、
=DCount("[氏名]","[Q_結果]","[肝機能]='異常なしand [コース]=report!R_結果!コース")
と条件を加えたり、
グループフッターのフォーマット時イベントにコードを記述すればいいのかなと思い、
Me.テキスト肝機能_異常なし = DCount("[氏名]","[Q_結果]","[肝機能]='異常なしand [コース]=report!R_結果!コース")
などと記述したりしましたが、エラーが出ます。
レポートでグループごとに、数値をカウントする方法があるでしょうか?
もしくは他にこういった集計をするのにいい方法がありましたらご教示をお願いします。
現在は 別にフォームを作って、複数のコンボボックスでコースや年代を入力しデータ抽出したクエリをもとにして、レポートを表示させるという方法でやっていますが、できれば、ひとめで、個別の件数と全体の件数が見れるものが欲しいと思っています。
どうぞよろしくお願いします。
(win2000 Access2000)
|
|