Newsgroup: it.comp.appl.access
Titolo: calcolo età in Access2000

Nella mia tabella dati voglio calcolare (come facevo tranquillamente in
Excel) l'età al momento di una persona, partendo dalla sua data di nascita
(in Excel avevo la formula Adesso oppure Now () - CampoPrecedente ). In
Access non riesco a generarla. La vorrei inserire direttamente nella mia
tabella, nel campo età (oppure ditemi dove metterla).
Grazie

 ha scritto nel messaggio
news:ptpS8.70761$Kt3.1...@twister2.libero.it...

Prova con questa funzione credo presa da 
www.sitocomune.com
Public Function Eta(DataNascita As Date)
   Dim varEta As Variant
   varEta = DateDiff("yyyy", DataNascita, Now)
   If Date < DateSerial(Year(Now), Month(DataNascita), Day(DataNascita))
Then
       varEta = varEta - 1
   End If
   Eta = varEta
End Function
Ciao, Carlo

Ottavio Macino ha scritto:

Non si salva in una tabella ma calcola quando è necessario
p.e. in un campo di una query:
=DateDiff("aaaa";[datadinascita];Date())+
(Format(Date();"mmgg")<Format([datadinascita];"mmgg"))
Se non sbaglio con le abbreviazioni italiani.
--
HTH
Karl
*********
Access-FAQ (tedesco): 
http://www.donkarl.com

 Se non sbaglio con le abbreviazioni italiani.
--------------->
ciao Karl... interessava anche me questa query...
ora però vorrei chiederti una cosa...
nella stessa query come posso fare a trovare delle fasce di età ??
per esempio da 0 > 30 anni
da 30 > 60 anni
e da 60 anni in poi ???
grazie...

 e da 60 anni in poi ???
Cosa intendi con "trovare"?
Cercare i record di una fase con un parametro/criterio o
aggiungere un attributo a ogni record se fa parte di quale fase?
--
cu


 news:ptpS8.70761$Kt3.1...@twister2.libero.it...
Nella mia tabella dati voglio calcolarel'età al momento di una persona,
partendo dalla sua data di nascita


 aggiungere un attributo a ogni record se fa parte di quale fase?
-----------------
beh... potrebbero essere utili tutte e due le soluzioni....
ma la seconda, penso, si adatti di più a fare un grafico
per fasce di età.... giusto ???
in sostanza devo dividere le tre fasce di età....
che dici ???
--
SuperPippo®   [;o))

 che dici ???
Prima fai un campo "eta" con l'espressione che già ho scritto.
Poi fai un altro campo con l'espressione:
Switch(eta<30;"A";eta>=30 And eta<60;"B";eta>=60;"C")
Certo puoi usare un altro testo che A, B, C che anche puoi usare
per ordinare, aggruppare o come criterio.

 che dici ???
Prima fai un campo "eta" con l'espressione che già ho scritto.
Poi fai un altro campo con l'espressione:
Switch(eta<30;"A";eta>=30 And eta<60;"B";eta>=60;"C")
Certo puoi usare un altro testo (o numero) che A, B, C che
adesso puoi usare per ordinare, aggruppare o come criterio.
--
HTH


 adesso puoi usare per ordinare, aggruppare o come criterio.
--------------->
Grazie Karl mi funziona perfettamente....
solo in Criterio non riesco a far funzionare la query...
esempio... Like [Digitare A oppure  B oppure C ]
mi da un record vuoto...
come mai ... ciao...

SuperPippo® <ik0qd...@SPAMlibero.it> ha scritto:

Se hai creato la query esattamente come ho scritto nel piccolo
esempio normalmente non puoi usare il criterio direttamente
al campo "eta" perché Access non capisce un Alias come "eta"
in un statement Where. Ma se questo è il problema Access ti da
una finestra per chiamarti di un parametro "eta".
2 metodi che puoi provare:
1. Ripetere la formula nel Switch() invece di solo usare il nome "eta".
Fa una espressione lungha con la formula 4 volte ma debbe funzionare.
2. e piu semplice è creare una seconda query che basarsi sulla prima
e usare il criterio nella seconda query.


 ha scritto nel messaggio
news:afmol3$fin0t$1...@ID-46617.news.dfncis.de...

------------------
grazie Karl ho provato il 2° metodo... più semplice...e funziona
perfettamente..
ma vorrei chiederti una ultima cosa... nella finestrella che esce dal
comando Like..
Finestra immisione parametro se digito una frase più lunga per le
spiegazioni viene troncata...
è possibile far comparire la scritta anche a capo ???
mi spiego meglio con un esempio...
scrivo Like[Digitare A - B - C] e nella finestrella entra tutto il testo...
ma io vorrei scrivere
Like[ Digitare la lettera A per fascia di eta 0 >30, oppure B per fascia eta
30 > 60
e C per  fascia di eta  > 60]....
spero mi sono spiegato...
Jo...
ps... mi dispiace x Germania - Brasile... 0 - 2  !!!

 ps... mi dispiace x Germania - Brasile... 0 - 2  !!!
Per me va be. Non sono un tedesco ma un austriaco (Vienna).
--
cu


 Per me va be. Non sono un tedesco ma un austriaco (Vienna).
--------------->
Ok... grazie...di tutto... Ciao...