dポイントプレゼントキャンペーン実施中!

Access2007のクエリ上で 4月1日を起点に「年度」で第何週かを返す方法を教えていただきたく存じます。

<クエリ>
 
 フィールド名 :[売上日] [週]
 データ型   : 日付   数値

 ★[週]のフィールドに今年度始まってから第何周目かを求めたいと考えています。

 DatePart("ww",[売上日])で、【年始】から第何周目かを表示させることは出来ましたが、
 4月1日を起点に第何週かを表示させるにはどの様な条件を指定すればよいかを教えていただきたく存じます。以上、よろしくお願いいたします。

A 回答 (3件)

> 年度で第何週かを求める



という事なので、日付の基となる「売上日」を細工します。

DateAdd("m", -3, [売上日])

と3か月前の日付にすることで、「年」は統一されます。
(4月→1月、3月→前の年の12月)
その「年」を使って、基準となる 4/1 を求めます。

DateSerial(Year(DateAdd("m", -3, [売上日])), 4, 1)

で、既に回答があるように

DateDiff("ww", DateSerial(Year(DateAdd("m", -3, [売上日])), 4, 1), [売上日])

でいけると思います。
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ございません。
ロジカルにアドバイスをいただき誠にありがとうざいます。
大変助かりました!!

お礼日時:2012/09/27 21:17

datediff("ww",dateserial(year([売上日]),4,1),[売上日])


とすれば求められます。
    • good
    • 0
この回答へのお礼

dateserialを間いれるやり方参考になりました。
返信が遅くなり申し訳ございません。
大変参考になりました。

お礼日時:2012/09/27 21:18

DateDiff関数を使ってはいかがでしょうか?



DateDiff("日付の単位",古い日付,新しい日付)

なので、

DateDiff("ww",2012/4/1,[売上日])

でどうでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
大変申し訳ございません。質問文に不足がございました。
「売上日」には、2012年度以前の日付も入っており、それらがその年度で第何週かを求める必要があります。
重ねての質問となり恐縮ですが、その場合の方法も教えて頂ければ幸いでございます。

ただ、今年度の数字はこの方法で対応できそうです。早速活用させていただきます。

お礼日時:2012/08/30 12:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!