Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Calcular idade no access


D@rk

Pergunta

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,

Editado por D@rk
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...