• ベストアンサー

アクセスクエリに「今年度」の条件を

アクセスクエリに「今年度」の条件を入れたいのですが、どのように書いたらいいものでしょうか。 1、今日の日付から「今年度」を自動的に判断。 2、年度の初めは4月1日。 where 年月日 >= #2003/04/01# のような中身を自動的に入れたいのですが。 #アクセスはクエリのウイザードを使うくらいの初心者です。

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

  • ベストアンサー
  • aptiva
  • ベストアンサー率36% (193/529)
回答No.1

条件としては >=DateSerial(Year(Now()),4,1) で、いいかと思います。 もし、翌年度以降のデータも入る可能性があるならば、 Between DateSerial(Year(Now()),4,1) and DateSerial(year(Now())+1,3,31) で良いかと思います。

s-holmes
質問者

お礼

回答ありがとうございました。 まずは、素人ナので簡単な >=DateSerial(Year(Now()),4,1) こちらを使わせていただきます。(^O^)

その他の回答 (4)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.5

aptivaさん ごめんなさい。 No.4の書き込みは、間違いです。 前レスのクエリを実行してました。 大変失礼しました。

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.4

No.3 の aptivaさんへ うぅ~ん。 それですと同じデータで4~12月に実行したときと、翌年1~3月に実行したとき と抽出した内容が変わってきませんか? テストしたら違ってましたが・・・ もう一度、実際、クエリを作って良く考えてみましょう。

  • aptiva
  • ベストアンサー率36% (193/529)
回答No.3

おっと、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)
回答No.2

今日が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)

s-holmes
質問者

お礼

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