Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index




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.