Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Calcular idade no access


D@rk

Question

Olá boa noite pessoal,

Sou usuário do script abaixo. Ele funciona perfeitamente, só que calcula a idade sempre um ano a menos, gostaria que me ajudassem se possível.

Segue abaixo:

Function CalculaIdade(DataNasc As Variant) As Variant
''Recebe a DataNasc e devolve a Idade em Anos

On Error GoTo Idade_Err

''Evita o erro de data não preenchida
If IsNull(DataNasc) Then
CalculaIdade = ""
Exit Function
End If

''Declarando Variáveis
Dim DataHoje As Variant, DiaHoje As Integer
Dim MesNasc As Integer, DiaNasc As Integer
Dim DifAnos As Integer, MesHoje As Integer

''Isola as partes (dia/mês) das duas datas
DiaHoje = DatePart("d", Now)
MesHoje = DatePart("m", Now)
DiaNasc = DatePart("d", DataNasc)
MesNasc = DatePart("m", DataNasc)

''Calcula a diferença de anos
DifAnos = DateDiff("yyyy", DataNasc, Now)

''Verifica dia/mês de nascimento
If MesHoje < MesNasc Then
DifAnos = DifAnos - 1
ElseIf MesHoje = MesNasc Then
If DiaHoje < DiaNasc Then
DifAnos = DifAnos - 1
End If
Else
End If

''Valor final da função
CalculaIdade = DifAnos

Idade_Fim:
Exit Function

Idade_Err:
MsgBox Err.Description
Resume Idade_Fim

End Function
Eu tentei colocar no final da função
''Valor final da função
CalculaIdade = DifAnos +1

só que ele funciona pra alguns casos, outros não.

Alguma dica?

Abs,

Edited by D@rk
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...