Olá,

Use a expressão:

Idade = ParteInteira((DataAtual - DataNascimento) / 365.2425)

Att.


Em 11 de março de 2012 21:23, sp24horas <[email protected]> escreveu:

> Olá!
>
> Como você tem feito as perguntas em fragmentos, nem sempre vai atingir seus
> objetivos, pois acaba confundindo quem pode ajudar.
> Agora ficou claro para mim o que você precisa.
> Calcular a idade correta, com precisão de meses e dias.
> Não vou passar uma macro pois acho que vai mais te confundir do que ajudar.
>
> Obs: DOB - o campo da sua tabela com a data de nascimento- dd/mm/aaaa
>
> Se você alterar o campo da consulta da outra resposta, para este, vai ter a
> precisão que procura.
>
> DATEDIFF( 'mm', "DOB", CURRENT_DATE ) / 12 - CASE WHEN MONTH( "DOB" ) =
> MONTH( CURRENT_DATE ) AND DAY( "DOB" ) > DAY( CURRENT_DATE ) THEN 1 ELSE 0
> END
>
>
>
>
> Em 11 de março de 2012 19:17, Sonise <[email protected]> escreveu:
>
> >
> >
> > Olá Galera,
> >
> >
> > Como não sei transformar o que desejo em linguagem, peço a ajuda de
> vocês.
> >
> >
> > Para calcular a idade, eu não preciso me preocupar com dias na situação
> do
> > meu banco de dados, então, pensei da seguinte
> >
> >
> > forma.
> >
> >
> > Com a diferença entre anos, eu já obtenho o resultado da idade, mas
> existe
> > o problema que se o mês de nascimento (15/11/75) for maior
> >
> >
> > que o mês atual (11/03/2012), a pessoa ainda não fez aniversário e a
> idade
> > precisa ser diminuída, entaõ seria assim:6Com esse comando SELECT "NOME",
> > YEAR( NOW( ) ) - "DN" AS "IDADE" FROM "CADASTRO", eu já tenho na consulta
> >
> >
> > a diferença de anos, isto é, já tenho a informação da idade. Esse dado é
> > armazenado no campo IDADE da consulta
> >
> >
> > Então, pensei em criar um procedimento, que pode ser via macro no
> > formulário, em que após a idade ser atualizada pela
> >
> >
> > diferença dos anos, esse procedimento checaria a condição do mês para
> > recalcular ou não a idade.
> >
> >
> > Se MONTH("DATADENASCIMENTO")MONTH("Hoje") então "IDADE"-1, Se não, fica
> > como está, ou "IDADE" = "IDADE"Com o procedimento, o campo idade será
> > diminuído em 1.Por exemplo, quem nasceu em 15/11/76, com a diferença de
> > anos já aparece 36, mas com o procedimento, ficará 35.
> >
> >
> > É possível fazer
> >
> isso?_____________________________________-------------------------------------------------------------
> >
> >
> >
> >
> > Em 11/03/2012 18:08,[email protected]:Não consegui.Nas
> > consultas do BASE, meu programa só aceita a função NOW(), quando coloco
> > DATE, CURRENT_DATe, TODAY, a consulta dá erro. Talvez seja isso, pois
> > aparece a coluna DATEDIFF como campo desconhecido.Encontrei a seguinte
> > sugestão no site abaixo, mas dá erro de sintaxe. Lembrando que a data
> 1974,
> > é o campo data de nascimento.
> >
> http://pplware.sapo.pt/tutoriais/vamos-dar-uns-toques-de-sql-vi-2/SELECTDATE_FORMAT(NOW(),
> ‘%Y’) – DATE_FORMAT(’1974-08-17′, ‘%Y’) –
> > (DATE_FORMAT(NOW(), ’00-%m-%d’)DATE_FORMAT('1974-08-17', '00-%m-%d')) AS
> >
> idade;------------------------------------------------------------------------------------------------------------------------------------------------
> >  ------Em 11/03/2012 11:48, Rogerio Luz
> [email protected]:existe
> > outra função no BASE chamado DATEDIFF()Ela lhe dará a diferença entre
> duas
> > datas.Então faríamos o seguinte:Definiríamos uma coluna com a seguinte
> > função, lembrando que sua colunaHOJE já deve ser definida com a outra
> > função SQL que vc já usa. Podemosinserir uma colunaDATEDIFF('yy-mm';
> > "DATA_DE_NASCIMENTO" ; "HOJE") para anos-meses completos,favor testar e
> > reportar.RogerioEm 11 de março de 2012 08:41, Sonise escreveu:Olá
> > Pessoal,Alguém sabe como criar um campo para calcular, de forma
> automática,
> > aidade no BASE?Grata,Sonise--Você está recebendo e-mails da lista
> > [email protected]# Informações
> >  sobre os comandos disponíveis (em inglês):mande e-mail vazio para
> > [email protected]# Cancelar sua assinatura: mande
> > e-mail vazio para:[email protected]# Arquivo de
> > mensagens:http://listarchives.libreoffice.org/pt-br/usuarios/--Você está
> > recebendo e-mails da lista [email protected]# Informações
> > sobre os comandos disponíveis (em inglês):mande e-mail vazio para
> > [email protected]# Cancelar sua assinatura: mande
> > e-mail vazio para:[email protected]# Arquivo de
> > mensagens:http://listarchives.libreoffice.org/pt-br/usuarios/--Você está
> > recebendo e-mails da lista usuarios@p
> >  t-br.libreoffice.org# Informações sobre os comandos disponíveis (em
> > inglês):mande e-mail vazio para
> [email protected]#Cancelar sua assinatura: mande e-mail
> vazio
> > para:[email protected]# Arquivo de mensagens:
> > http://listarchives.libreoffice.org/pt-br/usuarios/
> >
> >
> > --
> > Você está recebendo e-mails da lista [email protected]
> > # Informações sobre os comandos disponíveis (em inglês):
> >  mande e-mail vazio para [email protected]
> > # Cancelar sua assinatura: mande e-mail vazio para:
> >  [email protected]
> > # Arquivo de mensagens:
> > http://listarchives.libreoffice.org/pt-br/usuarios/
> >
>
> --
> Você está recebendo e-mails da lista [email protected]
> # Informações sobre os comandos disponíveis (em inglês):
>  mande e-mail vazio para [email protected]
> # Cancelar sua assinatura: mande e-mail vazio para:
>  [email protected]
> # Arquivo de mensagens:
> http://listarchives.libreoffice.org/pt-br/usuarios/
>

-- 
Você está recebendo e-mails da lista [email protected]
# Informações sobre os comandos disponíveis (em inglês):
  mande e-mail vazio para [email protected]
# Cancelar sua assinatura: mande e-mail vazio para:
  [email protected]
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/

Responder a