電子書籍の厳選無料作品が豊富!

Accessのフォーム作成から氏名、生年月日、年齢といったかんじでデータを作成し、生年月日を入力したら年齢も自動的に表示されるようにしたいのですが、関数の定義がわからないので教えてもらえないでしょうか。

フォームのデザインビューからプロパティ→年齢のテキストボックスを指定し、テキストボックス年齢のプロパティが開かれます。コントロールソースの項目からビルドボタンをクリックすると、式ビルダが開かれます。生年月日の表示方式は

生年月日 1999/09/09

といった表示方法をとっています。Excelだと、datedif関数で、
datedif("生年月日","2002/10/1","y")で年齢を算出できたので、もしかしたらAccessでも定義できるんではないかと思いまして質問いたしました。

A 回答 (2件)

ACCESS2000までですが、EXCELのDatedifのような満年例を算出する関数は残念ながらありません。

年齢を計算する方法はいくつかあると思いますので、その一例を。

=IIf(Format("2002/10/1","mm/dd")>Format([生年月日],"mm/dd"),
DateDiff("yyyy",[生年月日],"2002/10/1"),
DateDiff("yyyy",[生年月日],"2002/10/1")-1)

Datediffは日付を比較して、その差分(年)を算出しますので、
誕生日の年月を比較して、その年の誕生日が過ぎていない場合は-1します。
    • good
    • 0
この回答へのお礼

この質問をした後にヘルプを参照していろいろ試してみたんです。
DateDiff("yyyy",[生年月日],Now())
こんな風に定義したら、年齢の計算が出来ました。
アドバイスありがとうございます。

お礼日時:2002/10/04 23:37

Accessのバージョンによっても異なるんでしょうけど・・・


97でしたら、DateDiff関数は使用できますよ
DateDiff("yyyy",[生年月日],Date())
勿論、これだけでは正確には計算してくれませんけどね、この例では、年数だけの計算にしてありますが、一般的には、こんな程度で間に合うと思いますけどね
    • good
    • 0
この回答へのお礼

この質問をした後にヘルプを参照していろいろ試してみたんです。
DateDiff("yyyy",[生年月日],Now())
こんな風に定義したら、年齢の計算が出来ました。
アドバイスありがとうございます。

お礼日時:2002/10/04 23:35

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

関連するカテゴリからQ&Aを探す