Boa tarde,
Tenho um formulário (FrmEnvolvido) que possui os campos:
txtDataNascimento
txtIdade
txtDataAtual
No EVENTO AO SAIR do campo "txtDataNascimento" o seguinte:
Private Sub DataNascimento_Exit(Cancel As Integer)
On Error Resume Next
If Month(txtDataNascimento) > Month(Date) Then
Me.txtIdade = DateDiff("yyyy", [txtDataNascimento], Date) - 1
ElseIf Month(txtDataNascimento) < Month(Date) Then
Me.txtIdade = DateDiff("yyyy", txtDataNascimento, Date)
ElseIf Month(txtDataNascimento) = Month(Date) Then
If Day(txtDataNascimento) <= Day(Date) Then
Me.txtIdade = DateDiff("yyyy", txtDataNascimento, Date)
ElseIf Day(txtDataNascimento) > Day(Date) Then
Me.txtIdade = DateDiff("yyyy", txtDataNascimento, Date) - 1
Me.Refresh
End If
End If
End Sub
Em virtude disso, ao digitar uma data de nascimento, o campo "txtIdade" é calculado automaticamente, ou seja, esse calculo toma como base a data do campo txtDataAtual, que é a data do sistema no momento em que foi realizado o referido cadastro.
Só que, com o passar dos dias, meses e anos, a idade muda. Algo muito óbvio, não é mesmo?
Só que, no meu formulário, os indivíduos cadastrados estão ficando com as idades estanques, ou seja, não mudam a medida que o tempo avança.
Preciso que, o campo "txtDataAtual" sempre seja atualizado automaticamente com a data do respectivo dia, a medida que o calendário avança, de modo que a idade posse ir se atualizando, inclusive dos cadastros anteriores. Porém, este campo mantém sempre a data do dia em que o cadastro foi realizado.
Tenho um formulário (FrmEnvolvido) que possui os campos:
txtDataNascimento
txtIdade
txtDataAtual
No EVENTO AO SAIR do campo "txtDataNascimento" o seguinte:
Private Sub DataNascimento_Exit(Cancel As Integer)
On Error Resume Next
If Month(txtDataNascimento) > Month(Date) Then
Me.txtIdade = DateDiff("yyyy", [txtDataNascimento], Date) - 1
ElseIf Month(txtDataNascimento) < Month(Date) Then
Me.txtIdade = DateDiff("yyyy", txtDataNascimento, Date)
ElseIf Month(txtDataNascimento) = Month(Date) Then
If Day(txtDataNascimento) <= Day(Date) Then
Me.txtIdade = DateDiff("yyyy", txtDataNascimento, Date)
ElseIf Day(txtDataNascimento) > Day(Date) Then
Me.txtIdade = DateDiff("yyyy", txtDataNascimento, Date) - 1
Me.Refresh
End If
End If
End Sub
Em virtude disso, ao digitar uma data de nascimento, o campo "txtIdade" é calculado automaticamente, ou seja, esse calculo toma como base a data do campo txtDataAtual, que é a data do sistema no momento em que foi realizado o referido cadastro.
Só que, com o passar dos dias, meses e anos, a idade muda. Algo muito óbvio, não é mesmo?
Só que, no meu formulário, os indivíduos cadastrados estão ficando com as idades estanques, ou seja, não mudam a medida que o tempo avança.
Preciso que, o campo "txtDataAtual" sempre seja atualizado automaticamente com a data do respectivo dia, a medida que o calendário avança, de modo que a idade posse ir se atualizando, inclusive dos cadastros anteriores. Porém, este campo mantém sempre a data do dia em que o cadastro foi realizado.