プロが教える店舗&オフィスのセキュリティ対策術

アクセスクエリに「今年度」の条件を入れたいのですが、どのように書いたらいいものでしょうか。

1、今日の日付から「今年度」を自動的に判断。
2、年度の初めは4月1日。

where 年月日 >= #2003/04/01#
のような中身を自動的に入れたいのですが。

#アクセスはクエリのウイザードを使うくらいの初心者です。

A 回答 (5件)

条件としては



>=DateSerial(Year(Now()),4,1)

で、いいかと思います。
もし、翌年度以降のデータも入る可能性があるならば、

Between DateSerial(Year(Now()),4,1) and DateSerial(year(Now())+1,3,31)

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

回答ありがとうございました。

まずは、素人ナので簡単な
>=DateSerial(Year(Now()),4,1)
こちらを使わせていただきます。(^O^)

お礼日時:2003/10/03 07:38

aptivaさん ごめんなさい。



No.4の書き込みは、間違いです。

前レスのクエリを実行してました。

大変失礼しました。
    • good
    • 0

No.3 の aptivaさんへ



うぅ~ん。

それですと同じデータで4~12月に実行したときと、翌年1~3月に実行したとき
と抽出した内容が変わってきませんか?

テストしたら違ってましたが・・・

もう一度、実際、クエリを作って良く考えてみましょう。
    • good
    • 0

おっと、1~3月を考慮するのを忘れました凡ミスですね。


仕事始めの日に早速お客からクレームが入ってしまう(汗)。

罪滅ぼし・・にもなりませんが、#2の方の回答を、Trueが-1で有る事に期待しない書き方で書いてみました。

Between DateSerial(Year(Date())-IIf(Month(Date())<4,1,0),4,1) And DateSerial(Year(Date())+IIf(Month(Date())<4,0,1),3,31)

やっている事は同じです。失礼しました!
    • good
    • 1

今日が1~3月か4~12月かを論理式を使用して期間の初と終りの年数を+1と-1を補正しています。



これで如何でしょうか。
論理式(括弧の中)がTrue(真)の場合 -1 になります。
(Month(Date())<4) 等が論理式です。

Between DateSerial(Year(Date())+(Month(Date())<4),4,1) And DateSerial(Year(Date())-(Month(Date())>3),3,31)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

なんとなくアクセスクエリでの使い方も少々わかってきたような気がします。 (^^;

お礼日時:2003/10/03 07:39

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A