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,Sonisesonigomes@uol.com.brescreveu: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 Coelholuz.rogerio@gmail.comescreveu: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
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.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 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.libreoffice.org/pt-br/usuarios/
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.