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/