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/