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,[email protected]: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 
[email protected]: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 [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.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 [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.libreoffice.org/pt-br/usuarios/

Responder a