• ベストアンサー

Access2013 年月日付けの年齢表示

Access2013で、備忘録作成の為、年月日をテーブルに短いテキスト形式で、例20001205と初めの4桁を西暦、次の2桁を月、後の2桁を日で入力してあります。 1952年11月27日生の場合、この年月日の際の年齢を自動的に表示させるクエリのフィールドへの記入式を教えて下さい。宜しくお願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

式が長くて…と感じる場合、中の共通部分を ひとつのフィールドにして 生年: DateSerial(Left([生年月日],4),Mid([生年月日],5,2),Right([生年月日],2)) 年齢表示部分を 年齢: IIf(Format(Date(),"mmdd")<Format([生年],"mmdd"),DateDiff("yyyy",[生年],Date())-1,DateDiff("yyyy",[生年],Date())) にしてもいいかと思います。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

以下のようにしてください。[生年月日]が年月日の入っているフィールド名としています適宜変更してください。 年齢: IIf(Format(Date(),"mmdd")<Format(DateSerial(Left([生年月日],4),Mid([生年月日],5,2),Right([生年月日],2)),"mmdd"),DateDiff("yyyy",DateSerial(Left([生年月日],4),Mid([生年月日],5,2),Right([生年月日],2)),Date())-1,DateDiff("yyyy",DateSerial(Left([生年月日],4),Mid([生年月日],5,2),Right([生年月日],2)),Date()))

関連するQ&A