Newsgroup: it.comp.appl.access
Titolo: query di calcolo di un campo query

ciao a tutti...
ho una query con un Campo Età
in cui vi sono le lettere A - B - C
corrispondenti precisamente
A= da 0 a 29 anni
B=da 30 a 59 anni
C= da 60 a > infinito..
ebbene mi servirebbe un'altra query
che mi calcoli il conteggio delle citate lettere..
grazie per la dritta...
Ciao...

"SuperPippo®" <ik0qddT...@TOGLISPAMlibero.it> wrote in message
news:7BXhb.29708$
e6.10...@twister2.libero.it

Perchè dici che ti servirebbe un'altra QRY...???
Spiega meglio qual'è il risultato, il NG ti suggerisce
la soluzione....!
P.S. non si capisce nulla
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 P.S. non si capisce nulla
----------------------
Ciao Alex... hai perfettamente ragione... mi sono spiegato
come un cane...
in sostanza mi serve un calcolo per sapere quante A,
quante B e quante C vi sono nel campo del DB.. in maniera poi
da fare un grafico sui risultati...
scusa la mia ignoranza... non sò il calcolo si può fare nella stessa
query...
ti posto l' SQL....Ciao...
----------------------------------------------------------------------------
--
SELECT
DateDiff("yyyy",[nascita],Date())+(Format(Date(),"mmdd")<Format([nascita],"m
mdd")) AS Eta, Switch([eta]<30,"A",[eta]>=30 And [eta]<60,"B",[eta]>=60,"C")
AS [Fasce di Età], Anagrafe.Nascita, Anagrafe.Cognome, Anagrafe.Nome,
Anagrafe.Sesso, Anagrafe.N_Protocollo, Anagrafe.Medico,
Anagrafe.Codice_regionale, Anagrafe.des_nascita, Anagrafe.des_residenza
FROM Anagrafe
ORDER BY
DateDiff("yyyy",[nascita],Date())+(Format(Date(),"mmdd")<Format([nascita],"m
mdd"));
----------------------------------------------------------------------------
-

 ----------------------------------------------------------------------------
Bla..Bla...Bla....!
A me piace la chiarezza, quindi io farei una bella funzione
in un modulo Public che passando l'età restituisce già A--B--C
Quindi nella query avrai un campo calcolato =CalcoloEtà([Età])
che se raggruppi e sommi il nuovo campo restituisce le somme
parziali.
Select Campo1, Campo2, CampoEtà, _
Sum(Calcoloetà([CampoEtà])) As FasciaEtà Form Tua Tabella 
GROUP BY Campo1, Campo2, CampoEtà
ORDER BY FasciaEtà
La funzione CalcoloEtà(....) è una funzione del tipo
Public CalcoloEtà(myDate as Date) as string
 'Calcoli l'età con la funzione del SitoComune
 'Poi If ..... then CalcoloEtà="A"
 'If...... then CalcoloEtà="B"
ecc.......
End Function
Ciao.


 End Function
--------------------------------

 
Perchè in una Query, come ti ho suggerito non servono altre Query.
Provala e vedi se il funzionamento è quello che dicevi tu.
Se possibile meglio evitare troppi inghippi.


 Se possibile meglio evitare troppi inghippi.
scusami Alex... non ho capito come applicare il tuo codice...
ho eliminato per facilitare gli altri campi della query...
facendo rimanere solo il campo Età ed il campo fasce di Età...
SELECT
DateDiff("yyyy",[nascita],Date())+(Format(Date(),"mmdd")<Format([nascita],"m
mdd")) AS Eta, Switch([eta]<30,"A",[eta]>=30 And [eta]<60,"B",[eta]>=60,"C")
AS [Fasce di Età]


 
I casi sono 3:
1)Mi sono spiegato malissimo(Sicuro)
2)Non hai capito nulla(Possibile)
3)Io mi sono spiegato male e tu non hai capito(Probabile)
Ti ho suggerito di creare una Function esterna che generasse
il codice "A-B-C" in base all'età, e nella query devi solo richiamarla
così come ti ho descritto nel Post precedente.
In questo modo se crei la QRY SQL esattamente come te l'ho postata
hai finito.
Spero sia meglio.(ho però qualche dubbio)
Mailami eventualmente.
