PERFEITOOOO... FUNCIONOU!!!!!!!!!!!!!!!!!!!!!! OBRIGADA... MUITO OBRIGADA!!!Em 11/03/2012
21:23,sp24horassp24horas@gmail.comescreveu: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,Sonisesonigomes@uol.com.brescreveu: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 Coelholuz.rogerio@gmail.comescreveu: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
listausuarios@pt-br.libreoffice.org# Informaçõessobre os comandos disponíveis (em inglês):mande
e-mail vazio parausuarios+help@pt-br.libreoffice.org# Cancelar sua assinatura: mandee-mail vazio
para:usuarios+unsubscribe@pt-br.libreoffice.org# Arquivo
demensagens:http://listarchives.libreoffice.org/pt-br/usuarios/--Vocêestárecebendo e
-mails da lista usuarios@pt-br.libreoffice.org# Informaçõessobre os comandos disponíveis (em
inglês):mande e-mail vazio parausuarios+help@pt-br.libreoffice.org# Cancelar sua assinatura:
mandee-mail vazio para:usuarios+unsubscribe@pt-br.libreoffice.org# Arquivo
demensagens:http://listarchives.libreoffice.org/pt-br/usuarios/--Vocêestárecebendo e-mails da lista
usuarios@pt-br.libreoffice.org# Informações sobre os comandos disponíveis (eminglês):mande e-mail
vazio para usuarios+help@pt-br.libreoffice.org#Cancelar sua assinatura: mande e-mail
vaziopara:usuarios+unsubscribe@pt-br.libreoffice.org# Arquivo de
mensagens:http://listarchives.libreoffice.org/pt-br/usuarios/; --Você está recebendo e-mails da
lista usuarios@pt-br.libreoffice.org# Informações sobre os comandos disponíveis (em inglês):mande
e-mail vazio para usuarios+help@pt-br.libreoffice.org# Cancelar sua assinatura: mande e-mail vazio
para:usuarios+unsubscribe@pt-br.libreoffice.org# Arquivo de
mensagens:http://listarchives.libreoffice.org/pt-br/usuarios/--Você está recebendo e-mails da lista
usuarios@pt-br.libreoffice.org# Informações sobre os comandos disponíveis (em inglês):mande e-mail
vazio para usuarios+help@pt-br.libreoffice.org# Cancelar sua assinatura: mande e-mail vazio
para:usuarios+unsubscribe@pt-br.libreoffice.org# Arquivo de mensagens:http://listarchives.libreof
fice.org/pt-br/usuarios/
--
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para usuarios+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.