1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

fazer update da idade em cada ano(access)

Discussão em 'Programação' iniciada por Farmit, 29 de Abril de 2008. (Respostas: 11; Visualizações: 1850)

  1. Farmit

    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
     
  2. Armadillo

    Armadillo Folding Member

    nao introduzas a idade, mas sim a data de nascimento.
    assim nao ha necessidade de actualizar registos
    cumps
     
  3. Farmit

    Farmit Power Member

    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
     
  4. Farmit

    Farmit Power Member

    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 .
     
  5. Armadillo

    Armadillo Folding Member

    tens mesmo que ter o campo idade? é que, como ele resulta de um processamento, normalmente estes campos nao fazem sentido existirem.
     
  6. jpaulino

    jpaulino Power Member

    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.
     
  7. Farmit

    Farmit Power Member

    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

     
  8. Armadillo

    Armadillo Folding Member

    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
    
     
  9. Farmit

    Farmit Power Member


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


     
  10. jpaulino

    jpaulino Power Member

    Sim a ideia é essa mas tenta assim:

    SELECT tabela.datanascimento, Int(DateDiff("d",[datanascimento],Now())/365) AS Idade
    FROM tabela;
     
    Última edição: 29 de Abril de 2008
  11. Farmit

    Farmit Power Member


    Tb serve ;)
     

Partilhar esta Página