Newsgroup: it.comp.appl.access
Titolo: Trasposizione righe colonne

Ciao a tutti
Ho questa tabella:
IDContoNumeroConto	Conto		Società
134	Nc001/2015	€ 8.500,00	Alfa
135	Nc002/2015	€ 3.600,00	Beta
136	Nc003/2015	€ 1.000,00	Gamma
137	Nc004/2015	€ 30.000,00	Alfa
 
è possibile ottenere?
	Alfa		Beta		Gamma
Conto	8.500,00	3.600,00	1.000,00
	30.000,00
 
ho provato, faq 2.29 del sito comune,
 
TRANSFORM sum(Pippo.MioValore) AS [Il valore]
SELECT Pippo.Riga
FROM [SELECT Prova3.IDConto, "Società" AS Riga, Prova3.Società AS 
MioValore		
FROM Prova3
UNION SELECT Prova3.IDConto, "Conto" AS Riga, Prova3.Conto AS MioValore		
FROM Prova3;]. AS Pippo	
GROUP BY Pippo.Riga
PIVOT ([IDConto]);
 
messaggio di errore:
Tipi di dati non corrispondenti nell'espressione criterio
 
Grazie per i consigli che vorrete darmi.
Daniele

Daniele, premesso che odio le Qry a campi incrociati come Sintassi... sono illeggibili..., hai provato a crearla con il WIZARD...?
 
Query CREA Tipo a Campi Incrociati...
 
@Alex


certamente :-)
la prima cosa che ho fatto...poi facendo ricerche sono arrivato
sul sito comune.
la faq 2.29 mi sembrava adatta. l'esempio fa vedere tutti i campi.
 
TRANSFORM Sum(Prova3.Conto) AS SommaDiConto
SELECT Prova3.Società, Sum(Prova3.Conto) AS [Totale di Conto]
FROM Prova3
GROUP BY Prova3.Società
PIVOT Prova3.NumeroConto;
ma non ottengo la visualizzazione che cerco io....
 
questa fa anche la somma del campo Conto...
che a me non serve...
 
quel che vorrei vedere sono le società in orizzontale
ed in verticale il conto, che possa servire per stampare un report
oppure per una visualizzazione in una maschera continua.
sempre se è possibile :-)
 
ciao Alex
Daniele
 
 
 
 
 
 
 
 
 

Con l'autocomposizione delle CrossQuery ottieni proprio quello che dici... o almeno per quanto ho capito, io di solito faccio diversi tentativi prima di capire come fare per ottenere il risultato richiesto... ;-)
 
Attento però alla questione REPORT, che con el CrossQuery non è così semplice.
Il problema infatti è, come ben sai, che il NUMERO dei campi è variabile, quindi un REPORT che ha campi FISSI poco si adatta..., stessa cosa dicasi per FORM...
 
Di solito una CrossQuery è bene venga usata anche per VISUALIZZARE i dati.
 
@Alex


Ok
ciao bello, ci provo...
vediamo cosa riesco a fare...altrimenti ritorno a chiedere:D
grazie e buona giornata
 
Daniele


ho provato...non è quello che cerco.
 
ciao
 
Daniele
 

 	30.000,00
[...]
 
Quante sono le società? il loro numero è comunque fisso
o può variare?
 
Bruno


può variare...circa una decina.
 
ciao Bruno
grazie per la risposta
 
Daniele
 
 
 

Cidi explained on 03-06-15 :

E come puoi pensare di farlo con una query, la quale poi
deve generare un report?
 
Ma tu vuoi ottenere questo
  Alfa          Beta          Gamma
 -----------------------------------
  8 500         3 600         1 000
 30 000
 
o ti basta questo?
  Alfa          Beta          Gamma
 -----------------------------------
 38 500         3 600         1 000
 
Perché nel secondo caso... è un gioco da ragazzi!
 
Bruno

 Perché nel secondo caso... è un gioco da ragazzi!
 
potrebbe essere un'idea :-)
 
ciao Bruno
 
grazie ancora
Daniele
 


Vedi un po' tu...
 
Data la tabella TabX:
 
Società, ShortText 255
Conto, Currency
 
contenente quante società vuoi...
la query:
 
TRANSFORM Sum(TX.Result) AS ResultValue
SELECT TX.Row
FROM (SELECT [TabX].Società, "Saldo" AS Row,
TabX.[Conto] AS Result FROM TabX)  AS TX
GROUP BY TX.Row
PIVOT TX.Società;
 
ti rappresenta i dati nel formato sopra indicato.
 
Se devi fare un report dovrai basarti sulla tabella
TabX per ottenere una rappresentazione in vertcale
delle società, e non sulla query.
 
Bruno


Ciao Bruno
funziona perfettamente!
dalla query ho fatto una maschera continua.
resta da capire il perchè non funziona la faq 2.29 nella mia
tabella
 
Grazie infinite
 
Daniele