- ベストアンサー
Access2013 年月日付けの年齢表示
Access2013で、備忘録作成の為、年月日をテーブルに短いテキスト形式で、例20001205と初めの4桁を西暦、次の2桁を月、後の2桁を日で入力してあります。 1952年11月27日生の場合、この年月日の際の年齢を自動的に表示させるクエリのフィールドへの記入式を教えて下さい。宜しくお願いします。
- みんなの回答 (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% (1734/2604)
回答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()))