• 締切済み

Accessでカウントする方法を教えてください

こんにちわ Access2003を使っています ---------------------------------------------- __開始日時_________ ___終了日時_____検査内容__検査者名 2012/6/12 9:00 2012/6/12 11:00 検査A 名前 2012/6/12 10:00 2012/6/12 13:00 検査B 名前 2012/6/13 9:00 2012/6/13 10:00 検査C 名前 2012/6/14 10:00 2012/6/14 12:00 検査A 名前 ---------------------------------------------- のデータから。 6/12 検査A 1件 検査B 1件 6/13 検査C 1件 6/14 検査A 1件 月合計 A検査 2件 B検査 1件 C検査 1件 と、日々の各合計と、月合計の2種類の合計を取りたいと思います。 どの様な方法を取ればいいのか教えていただけませんでしょうか? よろしくお願いします。

みんなの回答

回答No.2

開始日と終了日は必ず同一日でよろしいですか。 表示先はクエリでよろしいですか。 各々のクエリのデザインビューで下記のように設定してください。 日別の集計 フィールド______ 日付: DateValue([開始日時])________検査内容_____________件数: 検査内容 集計______________ グループ化_________________________________グループ化___________カウント_________ 並べ替え________ 昇順________________________________________________________________________________________ 表示_________________ レ_____________________________________________ レ_______________________ レ______________ 月別の集計 フィールド______ 月: Month([開始日時]) __________________検査内容_____________件数: 検査内容 集計______________ グループ化_________________________________グループ化___________カウント_________ 並べ替え________ 昇順________________________________________________________________________________________ 表示_________________ レ_____________________________________________ レ_______________________ レ______________ SQLでは、 日別 SELECT DateValue([開始日時]) As 日付, 検査内容, Count(検査内容) As 件数 FROM テーブル名 GROUP BY DateValue([開始日時]), 検査内容 ORDER BY DateValue([開始日時]); 月別 SELECT Format([開始日時],"yyyy/mm") As 月, 検査内容, Count(検査内容) As 件数 FROM テーブル名 GROUP BY Format([開始日時],"yyyy/mm"), 検査内容 ORDER BY Format([開始日時],"yyyy/mm");

  • tamu1129
  • ベストアンサー率58% (1295/2223)
回答No.1

まず選択するデータの期間をどうやって指定するのか書かれていませんが、この部分は自分で解決出来ると考えて良いですか? パラメータークエリとしてデータ開く時に入力してやるとか、フォームに開始日と終了日を入力しておいてそのデータを元に処理するとか で、選択したデータを元に集計結果出す方法ですが、簡単な方から(月合計) 選択したデータを検査内容別に件数を集計するのは 選択クエリから フィールド:検査内容 テーブル:(このデータが格納されているテーブル名) 集計:グループ化 並び替え:昇順 表示:チェック入れる フィールド:検査内容のカウント テーブル:(このデータが格納されているテーブル名) 集計:カウント 並び替え:空欄でok 表示:チェック入れる という2つの列があるクエリを実行すれば集計できます これを SQL文で書くと(テーブル名をテーブル1としています) SELECT テーブル1.検査内容,Count(テーブル1.検査内容) AS 検査内容のカウント FROM テーブル1 GROUP BY テーブル1.検査内容; 次に日々の集計ですが、これはデータが時間まで入力されているデータしか無いので、この部分を揃えてやる必要があります 月合計のクエリの最初の列に下記の物を追加してください フィールド:日付:CDate(int([開始日])) テーブル:空欄 集計:グループ化 並び替え:昇順 表示:チェックを入れる SQL文では SELECT CDate(int[開始日])) AS 日付,テーブル1.検査内容,Count(テーブル1,検査内容) AS 検査内容のカウント FROM テーブル1 GROUP BY CDate(int[開始日])),テーブル1.検査内容 ORDER BY CDate(int[開始日])); これが、日々の集計用クエリです クエリを加工するなり、クエリを元にフォームを作成するなりすれば良いでしょう

関連するQ&A