Convidado 19/6/2011, 18:52
Tenho esse código aqui que serve para isso,, mas como aplicá-lo em uma caixa texto??
[/code]Function CalculaIdadeAno(TxtDataNascimento As Date)
If IsNull(TxtDataNascimento) Or TxtDataNascimento > Date Then
MsgBox "Data de nascimento inválida!", vbExclamation, "Erro"
If (TxtDataNascimento) = "" Then
MsgBox "Data de nascimento inválida!", vbExclamation, "Erro"
Exit Function
End If
End If
Dim Anos, meses, dias
Dim iAnos As Double, iMeses As Double, Intervalo As Double
' O resultado da diferença está em Double
Intervalo = Date - TxtDataNascimento
' Um ano tem exatamente 365,25 dias
iAnos = Intervalo / 365.25
Anos = Int(iAnos)
iMeses = (iAnos - Anos) * 12
meses = Int(iMeses)
dias = DateDiff("d", DateSerial(DatePart("yyyy", TxtDataNascimento) + Anos, DatePart("m", TxtDataNascimento) + meses,
Day(TxtDataNascimento)), Date)
If dias = 30 Then
dias = 0
meses = meses + 1
End If
If meses = 12 Then
meses = 0
Anos = Anos + 1
End If
Fim:
CalculaIdadeAno = Anos
txt_Idade = CalculaIdadeAno
Dim IdadeAtual as String
IdadeAtual = txt_Idade
Select Case idadeAtual
Case is 0
txt_Faixa_Etaria = 50
Case is 1
txt_Faixa_Etaria = 51
Case is 2
txt_Faixa_Etaria = 52
Case is 3
txt_Faixa_Etaria = 53
Case is 4 Then
txt_Faixa_Etaria = 54
Case is 5 Then
txt_Faixa_Etaria = 55
Case 6 To 11
txt_Faixa_Etaria = 60
Case 12 To 14
txt_Faixa_Etaria = 61
Case 15 To 20
txt_Faixa_Etaria = 62
Case 21 To 24
txt_Faixa_Etaria = 63
Case 25 To 29
txt_Faixa_Etaria = 64
Case 30 To 34
txt_Faixa_Etaria = 65
Case 35 To 39
txt_Faixa_Etaria = 66
Case 40 To 44
txt_Faixa_Etaria = 67
Case 45 To 49
txt_Faixa_Etaria = 68
Case 50 To 54
txt_Faixa_Etaria = 69
Case 55 To 59
txt_Faixa_Etaria = 70
Case 60 To 64
txt_Faixa_Etaria = 71
Case is >=65
txt_Faixa_Etaria = 72
End Select
End Function
[code]