ACCESS2000で年齢計算をしたいのですが、DateDiff関数を使おうとすると、時間単位を”yyyy”にしても数え年齢で計算されてしまいます。満年齢で年齢を計算、表示するにはどうしたらよいのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/04/27 17:49:15
  • 終了:--

回答(4件)

id:broad No.1

broad回答回数32ベストアンサー獲得回数02004/04/27 17:56:09

ポイント20pt

http://www.accessclub.jp/bbs/0033/beginers14113.html

年齢のもとめ方 --Access Club 初級者 Forum--

ここの情報でどうでしょうか。

id:reicha No.2

reicha回答回数31ベストアンサー獲得回数02004/04/27 17:56:59

ポイント20pt

http://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fwo...

ƒ}ƒCƒNƒƒ\ƒtƒg ƒTƒ|[ƒg ƒIƒ“ƒ‰ƒCƒ“

ExcelのDATEDIF関数では,満年齢をちゃんと計算してくるのに対し,

AccessのDateDiff関数は,単に年の数字の差(Year(b)-Year(a))を返すだけなのです。

数式が長くてややこしくなりますが、このURLの方法をお試しください。

id:sinono No.3

sinono回答回数52ベストアンサー獲得回数02004/04/27 17:57:10

ポイント20pt

http://www.accessclub.jp/actips/tips_98.htm

生年月日から自動で年齢を表示させる - 式ビルダの利用:AccessTips098

(関数で使いたいと予想して)

これでどうでしょうか?

id:noraniko No.4

noraniko回答回数3ベストアンサー獲得回数02004/04/27 18:43:01

ポイント20pt

Function GetAgeNen(pBirthDay, Optional pBaseDate) As Integer

Dim wBasedate

Dim wBirthDayMMDD As Date

Dim wBaseDateMMDD As Date

If IsDate(pBirthDay) Then

If IsDate(pBaseDate) Then

wBasedate = pBaseDate

Else

wBasedate = Date

End If

GetAgeNen = DateDiff(”yyyy”, pBirthDay, wBasedate)

wBirthDayMMDD = Format(pBirthDay, ”mm/dd”)

wBaseDateMMDD = Format(wBasedate, ”mm/dd”)

If wBirthDayMMDD > wBaseDateMMDD Then

GetAgeNen = GetAgeNen - 1

End If

If GetAgeNen < 0 Then

GetAgeNen = GetAgeNen + 1

End If

End If

End Function

id:Hanayone

試してみます!ありがとうございました!!

2004/04/27 19:10:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません