fazer update da idade em cada ano(access)

Farmit

Power Member
Boas ,
Queria fazer um codigo em sql para tabela (contactos) , onde será adicionado um ano no atributo idade para cada membro , ou seja , cada ano que passa a idade de cada membro que esta na tabela ira ser acrescentado +1 de forma automatica sem que eu tenha que mudar manualmente .

Alguem pode-me dizer como se faz isto ?
Thx
 
Na tabela tb tenho o atributo data de nascimento , mas o que eu mesmo queria é actualizar as idades das pessoas , sei que é possivel mas nao sei como se faz ...
:kfold: plz :P
 
Hum , pela conclusão que eu cheguei , eu acho que nao é possivel fazer isto no access :sad1:...
o que seria suposto era a propria tabela fazer a actualização da idade em x em x anos , sem eu ter que fazer nada .
Com o comando UPDATE apenas teria as idades actualizadas apenas uma vez .
 
tens mesmo que ter o campo idade? é que, como ele resulta de um processamento, normalmente estes campos nao fazem sentido existirem.
 
Na tabela tb tenho o atributo data de nascimento , mas o que eu mesmo queria é actualizar as idades das pessoas , sei que é possivel mas nao sei como se faz ...

O Armadillo tem razão isso não se faz, não é boa prática e não é funcional.

O que fazes é uma tabela com a data de nascimento (como já foi sugerido) e na query crias mais uma coluna onde colocas a data.

É assim que funciona e não com update querys.
 
Tanto como o campo idade e data de nascimento são ambos campos de preenchimento nao obrigatorios , sendo o campo nome o unico campo obrigatorio.Mas a razão de eu ter o atributo idade na tabale serve para melhorar o performace , e todos os contactos que vinham na lista (que são + de 20 mil contactos) vinham preenchidos com a respectiva idade mas nao com a data de nascimento , ou seja ja nao posso controlar a idade que cada um terá hoje ou amanha o que torna complicado . :S

 
podes, apenas tens que fazer uma query que te devolva a idade, apenas baseando-te na data de nascimento:
Código:
SELECT     YEAR( NOW()) - YEAR(data_nasc) AS Idade 
FROM         tabela
 
podes, apenas tens que fazer uma query que te devolva a idade, apenas baseando-te na data de nascimento:
Código:
SELECT     YEAR( NOW()) - YEAR(data_nasc) AS Idade 
FROM         tabela


Funciona bem , mas por exemplo , se estivermos no ano 2009 a pessoa que tiver 18 anos em 2008 terá 19 anos na consulta ?


 
Sim a ideia é essa mas tenta assim:

SELECT tabela.datanascimento, Int(DateDiff("d",[datanascimento],Now())/365) AS Idade
FROM tabela;
 
Última edição:
Back
Topo