Newsgroup: it.comp.appl.access
Titolo: Query a campi incrociati HELP

Ciao a tutti, vorrei attraverso una query a campi incrociati (credo che sia
l'unico strumento, se è possibile) avere un tabella che mi mostra i totali
per riga e per colonna. Es:
                        ANNO1    ANNO2    ANNO3    TOTALE
ATTIVITA'1        2                4                7                13
ATTIVITA'2        4                8                8                20
ATTIVITA'3        5                1                0                6
TOTALE             11               13             15            39
E' possibile con una query a campi incrociati? Se si, come si fa che ci sto
perdendo la testa... E se no, come posso fare una cosa del genere?
Grazie a tutti
Stefano

 ha scritto nel messaggio
news:lTVdb.356502$Ny5.11...@twister2.libero.it...

Se la tabella che contiene i dati si chiama Tabella1 ed ha una struttura
simile a questa:
ID                    Contatore e chiave primaria
ATTIVITA      Testo
ANNO            Numerico
QUANTITA    Numerico
Se i record da trattare sono quelli per i quali il campo ANNO ha il valore
2001 o 2002 o 2003.
Prova con una query che abbia il seguente codice SQL:
SELECT ATTIVITA, [2001] , [2002], [2003], [TOTALE]
FROM [TRANSFORM Sum(Tabella1.QUANTITA) AS Pluto
SELECT Tabella1.ATTIVITA, Sum(Tabella1.QUANTITA) AS TOTALE
FROM Tabella1
GROUP BY Tabella1.ATTIVITA
PIVOT Tabella1.ANNO In (2001,2002,2003);]. As Pippo
UNION SELECT "TOTALE" As ATTIVITA, Sum([2001]), Sum([2002]), Sum([2003]),
Sum([TOTALE])
FROM [TRANSFORM Sum(Tabella1.QUANTITA) AS Pluto
SELECT Tabella1.ATTIVITA, Sum(Tabella1.QUANTITA) AS TOTALE
FROM Tabella1
GROUP BY Tabella1.ATTIVITA
PIVOT Tabella1.ANNO In (2001,2002,2003);]. As Pippo2;
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

Grazie! Funziona... ma che query è? Cosa sono le istruzioni PIVOT e dove
posso trovare qualeche informazione?
Grazie
sTefano



[CUT]
Per prima cosa quando rispondi scrivi DOPO e non prima dei messaggi
precedenti.
E' una query unione (UNION, vedi help) di una query di selezione con una
query di raggruppamento ambedue contenenti la stessa query a campi
incrociati come subquery.
Non è creabile tramite la griglia di struttura delle queries ma creandola
direttamente usando il linguaggio SQL.
PIVOT fa parte della sintassi di una query a campi incrociati ed indica il
campo in base al quale si ricavano le intestazioni di colonne di una query a
campi incrociati.
Penso che tu possa addentrarti nel problema leggendo qualche libro sul
linguaggio SQL.
Io ho imparato qualcosa leggendo l'help in linea di Access e Guida all'uso
di Microsoft Access 97 di J.L.Viescas della Mondadori Informatica.




 ha scritto nel messaggio
|| news:FkXdb.356800$Ny5.11...@twister2.libero.it...
||| Grazie! Funziona... ma che query è? Cosa sono le istruzioni PIVOT e
||| dove posso trovare qualeche informazione?
||| Grazie
||| sTefano
|||
|| [CUT]
||
|| Per prima cosa quando rispondi scrivi DOPO e non prima dei messaggi
|| precedenti.
||
|| E' una query unione (UNION, vedi help) di una query di selezione con
|| una query di raggruppamento ambedue contenenti la stessa query a
|| campi incrociati come subquery.
|| Non è creabile tramite la griglia di struttura delle queries ma
|| creandola direttamente usando il linguaggio SQL.
|| PIVOT fa parte della sintassi di una query a campi incrociati ed
|| indica il campo in base al quale si ricavano le intestazioni di
|| colonne di una query a campi incrociati.
|| Penso che tu possa addentrarti nel problema leggendo qualche libro
|| sul linguaggio SQL.
|| Io ho imparato qualcosa leggendo l'help in linea di Access e Guida
|| all'uso di Microsoft Access 97 di J.L.Viescas della Mondadori
|| Informatica.
||
Ok, lezione imparata.
Dunque, ma se volessi prendere invece che gli anni 2001, 2002 e 2003, gli
ultimi tre anni presenti, come posso fare? E poi, come posso filtrare via
codice (prima di aprire la query) per ID?
Scusa se ti stresso, ma mi stai risolvendo un grosso problema...
Ciao Stefano

 Ciao Stefano
-- 
