Como calcula a idade automaticamente

Anônima
2010-01-28T12:36:20+00:00

Bom dia!

Tenho um aplicativo em access e estou querendo que ao inseiri a data de nascimento, no campo nascimento ele exibe no campo idade a idade do cliente?

Gostaria de saber como faço isso

Aguardo uma resposta

att

herbert

Microsoft 365 e Office | Instalar, resgatar, ativar | Para uso doméstico | Outro

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2010-01-29T10:58:40+00:00

Bom dia Herb,

No formulário:

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

Na caixa de texto que vai receber o cálculo da idade (nas Propriedades do controle, em Dados, em Origem do controle):

=CalculaIdade([DataNasc])

(Caso resolva, não esqueça de marcar como resposta)


Espero ter ajudado

Thiago Sobreira MCP+MCTS+MCITP

Profissional 5 estrelas Windows Server 2008 + Windows Vista

Esta resposta foi útil?

0 comentários Sem comentários

0 respostas adicionais

Classificar por: Mais útil