- ベストアンサー
Access2007での年齢計算
ある時点での満年齢を表示するため下記の[BEGDATE]に誕生日yyyy/mm/ddを書き[ENDDATE]にある時点のyyyy/mm/ddを書きテキストボックスのコントロールソースに下記の式を書きました。 =DateDiff("yyyy",[BEGDATE],[ENDDATE]) しかしこれだと年齢は出ますが誕生日を過ぎたある時点でも年齢か一才増えません。 どのように書けばよいのか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
式はこのようになります。 =DateDiff("yyyy",[BEGDATE],[ENDDATE]) - IIf(Format([BEGDATE], "mm/dd") > Format([ENDDATE], "mm/dd"), 1, 0) ためしにDateDiff("yyyy", CDate("2008/12/31"), CDate("2009/1/1"))としてみてください。 結果は1になると思います。 このようにDateDiff関数は年数の引き算を行っているだけです、お気をつけ下さい。
その他の回答 (1)
- noah7150
- ベストアンサー率46% (116/251)
回答No.2
DateDiffで求まるのは1月1日の回数です。 年齢計算のマイクロソフトの頁です http://office.microsoft.com/ja-jp/access/HA010550711041.aspx
質問者
お礼
参考資料有り難うございました。 保存いたします。
お礼
お陰様でばっちり出来ました。 本当に有り難うございました。