- ベストアンサー
アクセスクエリに「今年度」の条件を
アクセスクエリに「今年度」の条件を入れたいのですが、どのように書いたらいいものでしょうか。 1、今日の日付から「今年度」を自動的に判断。 2、年度の初めは4月1日。 where 年月日 >= #2003/04/01# のような中身を自動的に入れたいのですが。 #アクセスはクエリのウイザードを使うくらいの初心者です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
条件としては >=DateSerial(Year(Now()),4,1) で、いいかと思います。 もし、翌年度以降のデータも入る可能性があるならば、 Between DateSerial(Year(Now()),4,1) and DateSerial(year(Now())+1,3,31) で良いかと思います。
その他の回答 (4)
- ja7awu
- ベストアンサー率62% (292/464)
aptivaさん ごめんなさい。 No.4の書き込みは、間違いです。 前レスのクエリを実行してました。 大変失礼しました。
- ja7awu
- ベストアンサー率62% (292/464)
No.3 の aptivaさんへ うぅ~ん。 それですと同じデータで4~12月に実行したときと、翌年1~3月に実行したとき と抽出した内容が変わってきませんか? テストしたら違ってましたが・・・ もう一度、実際、クエリを作って良く考えてみましょう。
- aptiva
- ベストアンサー率36% (193/529)
おっと、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) やっている事は同じです。失礼しました!
- ja7awu
- ベストアンサー率62% (292/464)
今日が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)
お礼
回答ありがとうございました。 なんとなくアクセスクエリでの使い方も少々わかってきたような気がします。 (^^;
お礼
回答ありがとうございました。 まずは、素人ナので簡単な >=DateSerial(Year(Now()),4,1) こちらを使わせていただきます。(^O^)