Queries

2.8 Creare una query a campi incrociati con due campi valore, due totali di riga dei due campi valore.
  Roberto
(D)
E’ possibile creare una query a campi incrociati con due campi valore, due totali di riga dei due campi valore e le relative percentuali di riga e di colonna?

(R)
Come è noto, con Access 97 una query a campi incrociati può avere solo una intestazione di colonna e quindi un solo campo valore.
Per risolvere il quesito posto nella domanda, sono ricorso ad un piccolo stratagemma: ho creato due query a campi incrociati, ognuna con uno dei due valori richiesti, comprensive anche dei relativi totali di riga. Con una query di selezione ho poi messo in join le due qery a campi incrociati, calcolandomi, per ogni valore, anche le percentuali di riga e di colonna.

Con la tecnica sopra descritta, nel database di esempio allegato, con l’uso delle query, è stata realizzata un’analisi comparativa delle vendite per prodotto, sia a quantità che a valore, di due anni (il 1999 e il 2000).
Il database contiene due tabelle: la tabella anagrafica prodotti (tblProdotti) che contiene, oltre al codice prodotto, la descrizione del prodotto e il suo prezzo di vendita, e la tabella vendite (tblVendite) che contiene il codice prodotto, la data di vendita e la quantità venduta.
L’importo fatturato viene ottenuto moltiplicando la quantità della tabella vendite per il prezzo di vendita contenuto nell’anagrafica prodotti.
Nella prima query a campi incrociati (QueryImporti), vengono messe in LEFT JOIN le due tabelle tramite il codice prodotto; per ogni prodotto viene calcolato il fatturato di ognuno dei due anni e il totale del biennio.
Nella seconda query a campi incrociati (QueryQuantità), vengono messe in LEFT JOIN le due tabelle tramite il codice prodotto; per ogni prodotto viene calcolata la quantità venduta in ognuno dei due anni e il totale della quantità venduta nel biennio.
Infine, con la query di selezione (QueryVendite) viene ottenuto il risultato desiderato; in essa vengono messe in INNER JOIN le due query a campi incrociati tramite la descrizione del prodotto; in questa query vengono anche calcolate le percentuali di riga e di colonna sia del biennio che di ognuno dei due anni; vengono inoltre calcolate, a livello prodotto, le percentuali di incremento del fatturato fra i due anni.
Nel database è anche contenuto un report (ReportVendite), che, oltre a stampare la tabella a campi incrociati di cui sopra, calcola e stampa anche i totali di colonna.
Questa tecnica potrebbe essere utile per realizzare una tabella a campi incrociati per analizzare il controllo di gestione, mettendo a confronto i dati del budget, del realizzato dell’anno in corso e del realizzato dell’anno precedente.

Download:
 
  CampiIncrociati.zip (21Kb) MSAccess97 database


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.