• ベストアンサー

発効日から有効期限を求める式について

 Access2000を使用しています。会員券や会員証の管理をしたいのですが、発効日から、3年後の年度末に有効期限を計算する式を教えていただきたいのですが、何日後や何月後、何年後までは何とかできたのですが、日付を年度区切り(3年後の3月31日まで)としたい場合について教えて下さい。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 年度で区切る場合は、1~3月の場合は2年後の3月31日で、4~12月の場合は3年後の3月31日というふうに、場合分けされるのでしょうか。 その場合は、([発効日]フィールドが日付型とする) IIf(Month([発効日]) < 4, DateSerial(Year([発効日]) + 3, 3, 31), DateSerial(Year([発効日]) + 2, 3, 31)) となります。 もし、発効日の月にかかわらず、3年後の3月31日であれば、 DateSerial(Year([発効日]) + 3, 3, 31) でいいでしょう。

blackblack
質問者

お礼

早速の解答ありがとうございました。しかも、年度区切という内容まで読み取っていただいた解答には脱帽です。ここまで考えが及んでいなかったのですが、このように考えた方が自然ですよね。本当にありがとうございました。

その他の回答 (1)

回答No.1

こんにちは、 フォームで計算するとして、 登録日と有効期限のテキストボックスがあり、 登録日を入力すると有効期限のテキストボックスに3年後の3月31日が表示するだけなら 有効期限のコントロールソースを =IIf(IsDate([登録日]),DateSerial(Year([登録日])+3,3,31),"") ではだめですか?

blackblack
質問者

お礼

早速の解答ありがとうございました。こんなに単純にできるなんて、ありがとうございました。

関連するQ&A