PERFEITOOOO... FUNCIONOU!!!!!!!!!!!!!!!!!!!!!! OBRIGADA... MUITO OBRIGADA!!!Em 
11/03/2012 21:23,[email protected]:Olá!Como você tem feito 
as perguntas em fragmentos, nem sempre vai atingir seusobjetivos, 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/aaaaSe você alterar o campo da 
consulta da outra resposta, para este, vai ter aprecisã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 0ENDEm 11 de 
março de 2012 19:17, Sonise escreveu:Olá Galera,Como não sei transfo
 rmar 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 domeu banco de dados, então, 
pensei da seguinteforma.Com a diferença entre anos, eu já obtenho o resultado 
da idade, mas existeo problema que se o mês de nascimento (15/11/75) for 
maiorque o mês atual (11/03/2012), a pessoa ainda não fez aniversário e a 
idadeprecisa ser diminuída, entaõ seria assim:6Com esse comando SELECT 
"NOME",YEAR( NOW( ) ) - "DN" AS "IDADE" FROM "CADASTRO", eu já tenho na 
consultaa diferença de anos, isto é, já tenho a informação da idade. Esse dado 
éarmazenado no campo IDADE da consultaEntão, pensei em criar um procedimento, 
que pode ser via macro noformulári
 o, em que após a idade ser atualizada peladiferença dos anos, esse 
procedimento checaria a condição do mês pararecalcular ou não a idade.Se 
MONTH("DATADENASCIMENTO")MONTH("Hoje") então "IDADE"-1, Se não, ficacomo 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 deanos já aparece 36, mas com 
o procedimento, ficará 35.É possível 
fazerisso?_____________________________________-------------------------------------------------------------Em
 11/03/2012 18:08,[email protected]:Não consegui.Nasconsultas 
do BASE, meu programa só aceita a função NOW(), quando colocoDATE, 
CURRENT_DATe, TODAY, a consulta dá erro. Talvez seja isso, poisapar
 ece a coluna DATEDIFF como campo desconhecido.Encontrei a seguintesugestã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')) 
ASidade;------------------------------------------------------------------------------------------------------------------------------------------------------Em
 11/03/2012 11:48, Rogerio Luz [email protected]:existeoutra 
função no BASE chamado DATEDIFF()Ela lhe dará a diferença entre duasdatas.Então 
faríamos o seguinte:Definiríamos uma coluna com a seguintefunção, lembrando que 
sua colunaHOJE já deve ser definida com a outrafunção SQL que vc já usa. 
Podemosinserir uma colunaDATEDIFF('yy-mm';"DATA_DE_NASCIMENTO" ; "HOJE") para 
anos-meses completos,favor testar ereportar.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 [email protected]# Informaçõessobre os comandos 
disponíveis (em inglês):mande e-mail vazio 
[email protected]# Cancelar sua assinatura: mandee-mail 
vazio para:[email protected]# Arquivo 
demensagens:http://listarchives.libreoffice.org/pt-br/usuarios/--Vocêestárecebendo
 e
 -mails da lista [email protected]# Informaçõessobre os comandos 
disponíveis (em inglês):mande e-mail vazio 
[email protected]# Cancelar sua assinatura: mandee-mail 
vazio para:[email protected]# Arquivo 
demensagens:http://listarchives.libreoffice.org/pt-br/usuarios/--Vocêestárecebendo
 e-mails da lista [email protected]# Informações sobre os comandos 
disponíveis (eminglês):mande e-mail vazio para 
[email protected]#Cancelar sua assinatura: mande e-mail 
vaziopara:[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.libreof
 fice.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