• ベストアンサー

accessで指定期間の曜日カウントしたい

access2000を使用しています。 table1にID,start,endというフィールドがあって 1|2009/04/01|2009/04/30 2|2009/03/16|2009/04/15 といった具合にstart,endには日付が入っています。 startからendまでの期間、日曜日が何回あるかを表示させるクエリはどのようにすればできるでしょうか。 ID|start|end|日曜日の回数 と表示させたいです。 weekday関数でstart,endのそれぞれの曜日は取得できています。 datediff関数でstartからendまで何日あるかは計算できています。 そこから先、どのようにカウントすればよいでしょうか。 特に上記2つの関数を使用しなくてもカウントできるようであればそれでもよいです。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.1

SELECT テーブル1.ID, テーブル1.strat, テーブル1.end, IIf(Weekday([テーブル1]![strat])=1,DateDiff("ww",[テーブル1]![strat],[テーブル1]![end])+1,DateDiff("ww",[テーブル1]![strat],[テーブル1]![end])) AS 日曜日の回数 FROM テーブル1; 確認は2003でしています

konga
質問者

お礼

ありがとうございます!できました。 IIFとDateDiffの週+1ですかー。思いつきませんでした!すごい!

関連するQ&A