-6

ある人が特定の年齢 (歳) を超えているかどうかを調べて、何らかの給付を受ける資格を得たいと考えています。


VB 6.0でDateDiff(間隔として「YYYY」を使用)関数を使用したときに完全な回答が得られなかったため、この質問を投稿しました

ロジックを変更し、DateAdd 関数を使用してから DateDiff を使用しました。正確な年齢を調べるために、次のコードを書きました。

Public Function GetAge(dob As Date) As Integer
    Dim tempDate As Date

    If IsDate(dob) = False Then
        GetAge = -1
    Else
        tempDate = DateAdd("yyyy", 11, dob)
        If DateDiff("d", tempDate, Date) > 0 Then
            tempDate = DateAdd("yyyy", 19, dob)
            If DateDiff("d", tempDate, Date) > 0 Then
                tempDate = DateAdd("yyyy", 25, dob)
                If DateDiff("d", tempDate, Date) > 0 Then
                    GetAge = 3
                Else
                    GetAge = 2
                End If
            Else
                GetAge = 1
            End If
        Else
            GetAge = 0
        End If
    End If

End Function

ノート:

-1 : Error in DOB
 0 : child
 1 : Teens
 2 : Youth
 3 : Senior
4

1 に答える 1

1

次のようなものを試してください:

if dateserial(year(dob) + 25, month(dob), day(dob)) > now then
于 2013-02-24T20:29:43.937 に答える