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

(Resolvido) Data = Idade atual


Inffernus

Pergunta

Boa noite, estou com o seguinte problema...

Tenho um campo no formulário DATA DE NASCIMENTO: 00/00/0000 e tenho outro campo IDADE com as opções: 18 - 24 ANOS, 25 - 35 ANOS, 36 - 45 ANOS, E, +60 ANOS.

Como seria um código para que quando eu digitasse a DATA DE NASCIMENTO: 19/07/1985 (exemplo) o outro campo IDADE automaticamente preenchesse com: 18 - 24 ANOS

:huh:

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom dia, Inffernus

Suponho que existe uma opção 46 - 60 Anos.

Utilize este procedimento, ao sair do controlo TxtDataNasc:

'origem do código

'WSenna do fórum expertaccess

'adaptado em 2009-06-07 por

'Alexandre Neves

'para Inffernus do fórum Script Brasil

Dim Idade as Byte

If Not TxtDataNasc = 0 Then

Idade = DateDiff("yyyy", TxtDataNasc, Now)

End If

If Month(TxtDataNasc) > Month(Date) Then

Idade = Idade- 1

Else

If Month(TxtDataNasc) = Month(Date) Then

If Day(TxtDataNasc) > Day(Date) Then

Idade = Idade - 1

End If

End If

End If

Select Case Idade

Case < 26

TxtIdade="18 - 25 Anos"

Case < 36

TxtIdade="26 - 35 Anos"

Case < 46

TxtIdade="36 - 45 Anos"

Case < 61

TxtIdade="46 - 60 Anos"

Case Else

TxtIdade="+60 Anos"

Ende Select

Me.Refresh

Bom trabalho,

Editado por Alexandre Neves
Link para o comentário
Compartilhar em outros sites

  • 0

Opa! Eu fiz da seguinte forma...

-----------------------------------------------------------------------------------------

Private Sub Nascimento_data_BeforeUpdate(Cancel As Integer)

Dim Idade As Byte

If Not [Nascimento data] = 0 Then

Idade = DateDiff("yyyy", [Nascimento data], Now)

End If

If Month([Nascimento data]) > Month(Date) Then

Idade = Idade - 1

Else

If Month([Nascimento data]) = Month(Date) Then

If Day([Nascimento data]) > Day(Date) Then

Idade = Idade - 1

End If

End If

End If

Select Case Idade

Case Is < 25

Me.Idade = "18 - 24 ANOS"

Case Is < 30

Me.Idade = "25 - 29 ANOS"

Case Is < 35

Me.Idade = "30 - 34 ANOS"

Case Is < 46

Me.Idade = "35 - 45 ANOS"

Case Is < 61

Me.Idade = "46 - 60 ANOS"

Case Else

Me.Idade = "MAIS DE 60 ANOS"

End Select

End Sub

--------------------------------------------------------------------

Só que tem um problema, quando o campo esta vazio da pau...

O que devo fazer? E também o que é esse Me.Refresh que você usou no final? ele da pau no meu.

Editado por Inffernus
Link para o comentário
Compartilhar em outros sites

  • 0

Faça uma comparação antes de realizar o processo, veja:

Private Sub Nascimento_data_BeforeUpdate(Cancel As Integer)

if not isnull(seuCampoData) then

Dim Idade As Byte

If Not [Nascimento data] = 0 Then

Idade = DateDiff("yyyy", [Nascimento data], Now)

End If

If Month([Nascimento data]) > Month(Date) Then

Idade = Idade - 1

Else

If Month([Nascimento data]) = Month(Date) Then

If Day([Nascimento data]) > Day(Date) Then

Idade = Idade - 1

End If

End If

End If

Select Case Idade

Case Is < 25

Me.Idade = "18 - 24 ANOS"

Case Is < 30

Me.Idade = "25 - 29 ANOS"

Case Is < 35

Me.Idade = "30 - 34 ANOS"

Case Is < 46

Me.Idade = "35 - 45 ANOS"

Case Is < 61

Me.Idade = "46 - 60 ANOS"

Case Else

Me.Idade = "MAIS DE 60 ANOS"

End Select

end if

End Sub

Link para o comentário
Compartilhar em outros sites

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...