テーブル構造
--------------------
日付TBL.日付
日付TBL.数値
**********************************
参考クエリ
**********************************
1."月集計"という名前のクエリを以下のSQLで作ります。
このクエリは、当日までの各月の数値の集計です。
出力項目は
月・・・ YYYY/MM
月合計・・・ 月の数値の合計
SELECT Format$([日付],'yyyy/mm') AS 月, Sum(日付TBL.数値) AS 月合計
FROM 日付TBL
WHERE (((日付TBL.日付)<=Now()))
GROUP BY Format$([日付],'yyyy/mm')
2."年集計"という名前のクエリを以下のSQLで作ります。
このクエリは、当日までの各年の数値の集計です。
出力項目は
年・・・ YYYY
年合計・・・ 年の数値の合計
SELECT Format$([日付],'yyyy') AS 年, Sum(日付TBL.数値) AS 年合計
FROM 日付TBL
WHERE (((日付TBL.日付)<=Now()))
GROUP BY Format$([日付],'yyyy')
3. 日付TBLと1.、2.で作成したクエリ(月集計、年集計)3つを使い
サブクエリを作る。
SELECT 日付TBL.日付, 日付TBL.数値,
Format$([日付],'yyyy') AS 年, 年集計.年合計,
Format$([日付],'yyyy/mm') AS 月, 月集計.月合計
FROM 日付TBL, 月集計, 年集計
WHERE (((Format$([日付],'yyyy'))=[年集計].[年]) AND ((Format$([日付],'yyyy/mm'))=[月集計].[月]))
4. クエリを参照している部分をSQL文にする。
No.2を参考にしてください。
FROM (Sql文) As 名前
名前の部分に クエリ名
SQL文の部分に クエリの内容(SQL文)
要するに月集計、年集計は作ったクエリを参照しているので
参照をやめ、SQL文に変えてしまうということです。
ただし、クエリをしっかり管理しておけば
1.、2.、3.までの工程で十分ですよ。
サブクエリは、結構使えるので是非覚えておいてください。
お礼
何度もすいません。そしてありがとうございます。 日付TBL.日付は宿泊実績表:日ごと集計(本館)というクエリの宿泊日というフィールドで 日付TBL.数値は宿泊実績表:日ごと集計(本館)というクエリの合計というフィールドなので それに置き換えて早速1.の月集計を作成しているのですが、 SELECT Format([宿泊日],'yyyy/mm')AS月, Sum(宿泊実績表:日ごと集計(本館).合計)AS月合計 FROM 宿泊実績表:日ごと集計(本館) WHERE(((宿泊実績表:日ごと集計(本館).宿泊日)<=Now())) GROUP BY Format$([宿泊日],'yyyy/mm') を月集計クエリとしてSQLを入力すると クエリ式:Format([宿泊日],'yyyy/mm')AS月の構文エラー:演算子がありませんというエラーメッセージが出て先にすすめないくなってしまいます。 演算子?ってことになってしまっています。 本当に何度もすいません。どうすればエラーをクリアーできますでしょうか?
補足
今日ずっと取り組んでようやく完成いたしました。いろいろと勉強になり、特にSQLというのをもっと勉強できたらアクセスも使いやすくなるだろうなとおもいました。私のような良く分かっていない人間に貴重なお時間をさいてアドヴァイスをして下さった事感謝致します。 ありがとうございました。