CONVERTER DATA EM IDADE

NILTON.VIANNA 29/03/2012 00:06:16
#398637
Boa noite amigos

A Inicio meu Cliente pediu um cadastro Simples conforme exe. abaixo
pois bem tenho;

ex. atual
Codigo, Nome, Data de Nascimento
01 Pedro 10/10/1961

ao fazer a pesquisa converter a data de nascimento em Idade

trocar para;
Codigo, Nome, Idade
01 Pedro 50

Obs usando a data de Nascimento ja cadastradas,

Grato



ADILSOO 29/03/2012 07:06:19
#398641
Idade = Format(txtdata.text,[Ô]0[Ô])
Idade = Idade / 365

eu fiz assim e funcionou blzinha...
CHARLESTON10 29/03/2012 08:27:02
#398642
[txt-color=#007100][ô]Variavel q guarda a data de aniversario[/txt-color]
Dim DataNiver as Date

[txt-color=#007100][ô]Varial que guarda os anos[/txt-color]
Dim Anos as Integer

[txt-color=#007100][ô]Recebe dados[/txt-color]
DataNiver = txtDataNasc.text

[txt-color=#007100][ô]Converter essa data em anos
[ô] - > DateDiff([Ô]yyyy[Ô], DataNiver, Date)[/txt-color]

Anos = DateDiff([Ô]yyyy[Ô], DataNiver, Date)

[txt-color=#007100][ô]Apresenta resultado[/txt-color]
msgbox [Ô]Idade: [Ô] & Anos




------------------------------------
Formatos
------------------------------------
[Ô]yyyy[Ô] > anos
[Ô]m[Ô] > meses
[Ô]W[Ô] > semanas
[Ô]D[Ô] > dias
[Ô]H[Ô] > horas
[Ô]N[Ô] > minutos
[Ô]S[Ô] > segundos
------------------------------------




KERPLUNK 29/03/2012 09:00:15
#398644
é só subtrair a data de nascimento da data de hoje:
Dim DataNascimento As Date
DataNascimento = [Ô]07/01/1978[Ô] [ô] aqui busque a data do cadastro...
MsgBox DateDiff([Ô]yyyy[Ô], DataNascimento, Date)
FEDERHEN 29/03/2012 11:17:01
#398661
As soluções apresentadas até agora só calculam a diferença do ano final e inicial, sem considerar o dia e mês.
Em outras palavras, considerando que hoje é dia 29/03/2012,
a) quem nasceu em 27/03/2000 tem 12 anos pois 2012-2000=12
b) quem nasceu em 30/03/2000 tem 11 anos, pois ainda não aniversariou e o calculo apresentado nas soluções não considera isso.

O calculo correto deve ser:

Dim DataNascimento As Date
Dim Anos As Integer
DataNascimento = [Ô]30/03/2000[Ô]
Anos = DateDiff([Ô]yyyy[Ô], DataNascimento, Date)
If (Month(DataNascimento) * 100) + Day(DataNascimento) > (Month(Date) * 100) + Day(Date) Then
Anos = Anos - 1
End If
MsgBox [Ô]Idade: [Ô] & Anos
WILLVIDAL 29/03/2012 12:38:21
#398676
Essa não tem erro:

Public Function Data_Idade(ByVal datEmpDateOfBirth As Variant) As String

If Not IsDate(datEmpDateOfBirth) Then Exit Function

Data_Idade = Int(DateDiff([Ô]y[Ô], CDate(datEmpDateOfBirth), Date) / 365.25)

End Function
OMAR2011 29/03/2012 16:09:24
#398708
Estou interessado nesta questão,pois houve respostas objetivas para o CÁLCULO.Mas o que o Nilton pergunta,
é como fazer a consulta.

Codigo, Nome, Data de Nascimento
01 Pedro 10/10/1961

e ela sai com o resultado.

Codigo, Nome, Idade
01 Pedro 50

Então gostaria de saber como se este tipo de consulta.Garanto que não sei e nunca imaginei.
Espero que alguém responda.
Valeu.
FEDERHEN 29/03/2012 17:36:06
#398715
é dificil aplicar o cálculo de idade diretamente num select, por isso não foi dado muita enfase.

A solução é :
1) Fazer um [Ô]SELECT * FROM TABELA[Ô] para obter os dados.
2) Aplicar o cálculo de idade no resultado.
3) Gravar os dados desejados em uma tabela temporária para fins de relatório ou exibi-los diretamente en algum MsFlecGrid.
Obs: Uso bastante o recurso de tabela temporária e nunca tive problemas de performace.
USUARIO.EXCLUIDOS 29/03/2012 17:53:59
#398716
larga a nao neh galera todas respostas tão erradas
Precisa do tratamento do ano bissexto ai

NILTON.VIANNA 29/03/2012 18:04:54
#398717
o ideal era gravar no ato do cadastro , agora com mais de 30.000
OMAR2011 29/03/2012 18:18:01
#398718
Dar um UPDATE em toda tabela com 30 mil registros e a coisa mais fácil,duro e fazer fazer este tipo de
consulta.Se tiver está consulta é só usar o For Each.
Página 1 de 3 [27 registro(s)]
Tópico encerrado , respostas não são mais permitidas