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/SELECT
DATE_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/
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.