Acquista i nostri libri consigliati su Amazon.it
Invertire Colonne con Righe Query
-
Salve a tutti!
Ho una tabella nella quale chiedo in un campo la marca della caldaia
ho creato una qry (tramite Sum ed Union) che mi raggruppa i conteggi delle marche.
Ad esempio se su 100 Record ho inserito 20 volte il campo ariston allora il campo della qry TAriston sara' 20.
Il risultato e' bene o male cosi':
Tariston | Tberetta | Timmergas | etc | etc
20 10 30
Il problema nasce nel momento in cui ho bisogno di avere una qry con questi conteggi ordinati.
L'idea era quella di trasformare le righe in colonne solo che non riesco a capire se Access supporta Unpivot e sopratutto il funzionamento.
Mi servirebbe qualcosa del tipo_
marca | conteggio
Immergas | 30
Ariston | 20
Beretta 10
Devo costruire un report con tali valori e ho bisogno di averli ordinati....
Grazie in anticipo!
-
Puoi usare una query a campi incrociati; con l'autocomposizione relativa, puoi facilmente adeguarla ai tuoi scopi e ponendola all'"origine dati" di un report, centrare il tuo scopo.
Bye, Gian.
-
Grazie mille per l'info solo che non ho ben capito come fare in modo che vi siano 17 righe ( tanti sono le marche) con a lato un unico campo che definisc il valore
-
Fa tutto la procedura guidata. Quando ti chiede una cosa come "quante intestazioni riga vuoi, al massimo 3" tu ne indichi 1 che si riferisce alla futura colonna che visualizzerà 17 record quante sono le marche.
-
Ragazzi non voglio farvi impazzire ma proprio non ci arrivo...
Ricapitolando: Ho una query formata da un unico record creata da un codice preso da questa guida ( identico)
SQL: query multiaggregazione - Armando Pagliara - Official Web Site
Il record e' del tipo 1 Riga X 17 colonne.
Andando su composizione automatica di query incrociata mi chiede su intestazioni righe e su intestazioni colonne di inserire un campo tra i 17 presenti nella query.
Mi spunta qualcosa come ( 1 Riga x 3 colonne)
TAriston | Totale di TBaxi | 4
3 1 1
Questo lavoro e' dovuto al fatto che nel report , dato che deve essere su di un unica pagina e con delle intestazioni particolari, devo creare un vettore che si va a prendere come valori i risultati della query e dovendo ordinare dal piu' grande al piu' piccolo ho bisogno di una query idonea.
La aprirei tramite recordset e poi porrei, ad esempio:
sommaC(0) = rs_info_utilizzo.Fields("TAriston")
sommaC(1) = rs_info_utilizzo.Fields("TABosh")
etc etc.
-
Ok risolto! Era piu' semplice del previsto ! 
Ho fatto qualcosa del tipo
SELECT tblAnagrafica.marca_caldaia, SOMMA FROM(
SELECT tblAnagrafica.marca_caldaia, COUNT(marca_caldaia) AS SOMMA FROM tblAnagrafica WHERE ((marca_caldaia='Ariston') AND (bloccato = True))
GROUP BY tblAnagrafica.marca_caldaia
UNION SELECT tblAnagrafica.marca_caldaia, COUNT(marca_caldaia) AS SOMMA FROM tblAnagrafica WHERE ((marca_caldaia='Bentone') AND (bloccato = True))
GROUP BY tblAnagrafica.marca_caldaia
etc etc etc
ORDER BY SOMMA DESC
Potrebbero interessarti anche ...
-
Risposte: 1
Ultimo Post: 18-07-2020, 07:59
-
Risposte: 8
Ultimo Post: 22-12-2013, 21:02
-
Risposte: 8
Ultimo Post: 15-11-2012, 08:03
-
Risposte: 9
Ultimo Post: 17-07-2012, 16:40
-
Risposte: 0
Ultimo Post: 10-05-2010, 23:01