• 締切済み

アクセスでデータ抽出

アクセス2003を使って受講者のデータベースを作っています。 あるテーブルに受講者の開講日・講座名・氏名・点数・レポート提出・提出期限等を入力しています。 それをクエリで未提出・期限間近の抽出条件を入れて、レポート未提出かつ期限間近の受講生を抽出しています。 このデータをレポートにするのですが、レポート上で「講座名」フィールドをグループ化にし、その講座ごとの未提出かつ期限間近の受講生の人数を出しています。 ここまでは自力できたのですが、先程のクエリで抽出した際に開講日もでます。この開講日で各科目、何人受講したかをレポート上で抽出をしたいのです。 要は、その開講日の数学を何人受講したかです。 まとめますと、「各科目ごと」で「期限間近」で「未提出」の者の数はだせましたが、「各科目ごと」の総数(期限内に提出した者と期限内に提出していない者)を「レポート上」で出したいのです。 ややこしいですが、教えて頂けないでしょうか? 質問がわかりにくいかと思いますので、随時補足させて頂きます。 よろしくお願いします。

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

再度ですが「科目=講座名」でいいんですよね。 単純に、開講日,科目でグループ化すれば、開講日ごとに各科目の人数が集計できるのではないですか?

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

「科目=講座名」なのでしょうか? 「まとめますと、・・・・」に開講日が書かれていませんが不要ないのでしょうか? 開講日と講座名の関係はどうなっているのでしょうか? 講座名が同じなら、開講日も同じなのか、違う開講日もあるのか? それはさておき、提出者の人数も出す方法ですが、少しトリッキーですがやり方を示しておきます。 未提出者を抽出するクエリはできているようなので、それをクエリ1とします。 同様に、提出者を抽出するクエリを作り、それをクエリ2とします。 クエリ1とクエリ2をユニオンクエリで結合します。その際、提出フラグと未提出フラグの項目を設定し、 クエリ1のデータは、提出フラグ=0、未提出フラグ=1 クエリ2のデータは、提出フラグ=1、未提出フラグ=0 とします。 【ユニオンクエリ】 SELECT *, "0" AS 提出フラグ, "1" AS 未提出フラグ FROM クエリ1 UNION SELECT *, "1" AS 提出フラグ, "0" AS 未提出フラグ FROM クエリ2; レポートにこのユニオンクエリを使用すれば、提出者の人数は提出フラグの集計値、未提出者の人数は未提出フラグの集計値で求めることができます。

maintec
質問者

お礼

回答ありがとうございます。 説明不足でしたので補足させて頂きます。 開講日はこちらから指定してやるのではなく、あくまで条件を満たした結果、開講日が自動的にでます。 従って、単純に抽出条件を消したクエリではダメなのです。(開講日が指定できないから) ちなみに、開講日は例えば数学等の科目があるとしたら、数学の開講日は2009/4/1、国語の開講日は2009/6/1といった具合に科目内の開講日は全て同じになります。 よろしくお願いします。

関連するQ&A