Ciao a tutti
Sto cercando di creare un report che mi elenchi (almeno per ora) i dipendenti in ordine di età, dal più vecchio al più giovane (o anche viceversa).
Impostando la query in questo modo:
SELECT [Cognome] & ' ' & [Nome] AS NomeComp, DateDiff('yyyy',[NatoIl],Date()) AS Eta FROM tblPersonale ORDER BY DateDiff('yyyy',[NatoIl],Date()) DESC;
Il risultato è corretto, o almeno lo è parzialmente.
Infatti se ad esempio ho 3 nominativi ambetre (scherzo).... di 45 anni, mi vengono ordinati solo per ordine alfabetico A-B-C
Ma se per caso B fosse più vecchio (per il mese di nascita) di C che è più vecchio di A, l'ordine dovrebbe essere B-C-A
Girovagando in rete ho trovato come calcolare l'effettivo cambio di età (dato che DateDiff si limita a calcolare la differenza in anni, ma aggiungendo una verifica Iff è possibile essere precisi), che può avere la sua utilità se magari devo calcolare una scadenza o verificare che un dato soggetto ad una data specifica abbia realmente compiuto gli anni richiesti.
Ma nel mio caso non credo vada bene, perchè mi interessa sapere che, ad esempio, quest'anno ci sono X persone che compiono 45 anni (e qui la mia query fa il suo dovere) ma al tempo stesso mi vengano riportate nell'ordine in cui compiranno gli anni (e quindi in base al mese e a parità di mese in base al giorno).
Suggerimenti?
Grazie
Andrea