Newsgroup: it.comp.appl.access
Titolo: grafici

Ho una query che mi esegue il calcolo di quante persone (diviso per sesso)
sono nate in un anno. Il codice è il seguente
SELECT Year([Data]) AS Espr1, Registro.Sesso, Count(*) AS Conteggio
FROM Registro
GROUP BY Year([Data]), Registro.Sesso;
Ora vorrei creare un grafico a linee in cui sull'asse delle x ci siano gli
anni, e sull'asse delle y il conteggio dei nati nell'anno.
Il grafico però dovrebbe avere tre linee: una per i maschi, una per le
femmine e una totale. Se questo fosse troppo complicato mi andrebbe bene
creare anche tre diversi grafici.
Ho provato con le autocomposizioni ma mi vengono certi sgorbi di grafici,
allora ho fatto con excel però ogni volta che aggiorno il registro devo
inserire manualmente gli anni e i risultati, potete rendervi facilmente
conto che è un lavoraccio!!
C'è qualcuno che sarebbe tanto gentile da darmi delle dritte??
Ciao e grazie a quanti hanno avuto la pazienza di arrivare fino alla fine di
questo messaggio!
Luigi

 ha scritto nel messaggio
news:o2SD8.54485$US3.1...@twister1.libero.it...

Per prima cosa non chiamare mai un tuo oggetto con il nome Data: è un nom
riservato di Access, e se lo farai potresti avere spiacevoli quanto
inspiegabili errori.
Se la tabella che contiene i dati si chiama Registro ed ha una struttura
simile:
Id                Contatore e chiave primaria
Sesso           Testo
Data1           Data/ora
ecc. ecc.
Se il campo Sesso può assumeri i valori M o F.
Creati una query che abbia il seguente codice SQL:
SELECT Year([Data1]) AS Espr1, Val(Nz(DCount("Sesso","Registro","Sesso= 'M'
And Year([Data1])=" & Year([Data1])))) AS Uomini,
Val(Nz(DCount("Sesso","Registro","Sesso= 'F' And Year([Data1])=" &
Year([Data1])))) AS Donne, [Uomini]+[Donne] AS Totale
FROM Registro
GROUP BY Year([Data1]);
Quindi, con l'Autocomposizione creati un grafico di tipo Istogramma nel
quale trascinerai il campo Espr1 nell'asse delle ordinate e i campi Uomini,
Donne e Totale nell'asse delle Ascisse.
Se hai problemi su come inserire un grafico in una maschera o in un report,
cerca sull'help Creare un grafico.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:%MsE8.62356$5k4.1...@twister2.libero.it...

Grazie mille per la risposta, avevo in questi giorni ho avuto dei problemi
con la lettura delle news e dopo vari tentavi ho creduto che questa fosse
l'unica soluzione!
Nella tua soluzione credo non ci saranno problemi...vado a provare e ti
faccio sapere!
Ancora grazie e ciao.
Luigi

 ha scritto nel messaggio
news:%MsE8.62356$5k4.1...@twister2.libero.it...

Ciao Roberto,
funziona tutto alla perfezione e ti ringrazio infinitamente. Volevo
chiederti solo una cosa: siccome il programma ci mette un pò ad elaborare i
dati perchè sono molti record posso creare un msgbox che nell'attesa mi
mostri un messaggio?? Se si come devo fare??
Ciao e ancora infinite grazie!
Luigi

 Luigi
Ho trovato sul sitocomune un esempio per la creazione di barre di
progressione ma siccome queste sono le mie esperienze con access non ci
capisco molto (quasi nulla...)come faccio ad inserirle nel mio mdb ed in
particolar modo mentre viene creato il grafico??
Ciao...
Luigi

 ha scritto nel messaggio
news:sFUE8.69830$US3.1...@twister1.libero.it...

Quello che dura molto è l'esecuzione della query: d'altra parte contiene due
funzioni sui dominii (DCount) che in termini di performance sono deleterie.
Di contro io non conosco alcun modo per far evolvere una barra di
progressione mentre è in esecuzione una query.
Potresti però provare una soluzione un po' più laboriosa ma che non usa le
funzioni DCount; dovrebbe essere più performante; la creazione del grafico
magari risulta più veloce; ecco l'altra soluzione:
1) creati una query di raggruppamento chiamata Query2 che abbia il seguente
codice SQL:
SELECT Year([DATA1]) AS Espr1, Count(Registro.Data1) AS Uomini
FROM Registro
WHERE (((Registro.Sesso)="M"))
GROUP BY Year([DATA1]);
3) creati una query di raggruppamento chiamata Query3 che abbia il seguente
codice SQL:
SELECT Year([DATA1]) AS Espr1, Count(Registro.Data1) AS Donne
FROM Registro
WHERE (((Registro.Sesso)="F"))
GROUP BY Year([DATA1]);
4) creati una query di raggruppamento chiamata Query4 che abbia il seguente
codice SQL:
SELECT Year([DATA1]) AS Espr1
FROM Registro
GROUP BY Year([DATA1]);
5) infine creati una query di selezione chiamata Query5 che abbia il
seguente codice SQL:
SELECT Query4.Espr1, Val(Nz([Uomini])) AS Uomini1, Val(Nz([Donne])) AS
Donne1, [Uomini1]+[Donne1] AS Totale
FROM (Query4 LEFT JOIN Query2 ON Query4.Espr1 = Query2.Espr1) LEFT JOIN
Query3 ON Query4.Espr1 = Query3.Espr1;
A questo punto per creare il grafico usa Query5.
Spero che il tutto risulti più performante.


 ha scritto nel messaggio
news:%MsE8.62356$5k4.1...@twister2.libero.it...

Ciao Roberto,
per quanto riguarda la faccenda della velocizzazione dei calcoli delle query
lasciamo stare, volevo inserire una barra o un messaggio giusto per fare
qualcosa di più carino ma non mi crea nessun problema aspettare qualche
secondo, comunque terrò presente per le prossime realizzazioni!
Il problema che volevo sottoporti è un altro! Dalla stessa tabella in cui ho
i dati per i quali realizzo il primo grafico devo creare un altro grafico in
base però ad un altro campo data/ora! Ora pensavo che la cosa fosse
semplice! Ho copiato il codice della prima query, ho cambiato il nome del
campo e se vado a visualizzare i dati della query è tutto ok! Quando creo la
maschera e vi inserisco il grafico uso lo stesso procedimento usato per
l'altra volta! Il campo che contiene gli anni sull'asse delle x e gli altri
3 campi (uomini, donne, totale) sull'asse delle y! L'anteprima del grafico è
ok, ma quando esco dalla creazione guidata e torno alla maschera il grafico
presenta i dati usati per gli esempi: 1° trimestre, 2° trimestre, 3°
trimestre, 4° trimestre, Nord, Sud, Ovest, Est e non c'è nessuna traccia dei
campi sui quali si basava il grafico! Ho provato in tutti i modi a cambiare
qualcosa ma non ci riesco?? La cosa che più mi fa andare in bestia è che
l'altra volta ha funzionato al primo colpo, questa volta invece non ne vuole
sapere!! Come posso fare?? Aiutami, ti prego.... ;-((
Ciao e grazie
Luigi


[CUT]

Beh, raccontata così non c'è una logica; d'altra parte quasi mai gli errori
che si commenttono sono logici, altrimenti non li commetteremmo.
Visto che non sarò mai in grado di dire quale eventuale errore hai commesso
durante l'esecuzione del wizard dell'autocomposizione dell'inserimento del
grafico nella maschera (mi servirebbe essere li mentre lo esegui), prova a
postare la struttura della tabella e il codice SQL della nuova query che
stai usando; magari c'è qualche errore nella query.


 ha scritto nel messaggio
news:NOoG8.89566$US3.2...@twister1.libero.it...

Ciao Roberto,
il problema non sussiste più! In pratica finito il wizard per visualizzare
il risultato devo andare in visualizzazione maschera mentre io rimanevo in
visualizzazione struttura! Questo solo per la prima volta perchè poi aprendo
direttamente la visualizzazione struttura mi da il grafico così come è! Me
ne sono accorto quasi per caso in una delle tante prove che ho fatto! La
query e il tuo codice vanno benissimo! ti ringrazio...alla prossima
Ciao
Luigi