Newsgroup: it.comp.appl.access
Titolo: Sviluppo Record in orizzontale

Ciao al NG, è una settimana che smarletto con delle query, ma non ho trovato
la soluzione al mio problema, speri di trovare in Voi la soluzione.
Un query mi restituisce i seguenti campi e record:
Prodotti:        Esistenza        Impegni        Disponibilità
Succo                3                    2                    1
Pasta                 2                    2                    0
Fagioli               2                    0                    2
Ora avrei la necessità di avere questi campi così impostati:
Prodotti           Succo            Pasta            Fagioli
Esistenza            3                    2                    2
Impegni              2                   2                    0
Disponibilità       1                   0                    2
Come faccio? In poche parole vorrei ottenete lo sviluppo dei record in
orizzontale invece che in verticale. Ho provato con delle query a campi
incrociati ma non ho ottenuto il risultato che volevo! Aitatemi!!
Ciao e Grazie

 Ciao e Grazie
la strada delle query a campi incrociati è quella giusta prova a cambiare
un pò le intestazione colonne i valori ecc vedrai che funziona.
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:b6d3b7$4oa$1...@news.ngi.it...

Prima di crearti una query a campi incrociati devi disaggregare i dati con
una query unione.
Se la tabella che contiene i dati si chiama Tabella1 ed ha una struttura
simile a questa:
Id                Contatore e chiave primaria
Prodotto      Testo
Esistenza      Numerico
Impegni        Numerico
Disponibilità  Numerico
Creati una query unione chiamata Query1 che abbia il seguente codice SQL:
SELECT [Id] & "1" AS Id1, "1" as Numero, "Esistenza" As Descrizione,
Tabella1.Prodotto, Tabella1.Esistenza As Quantità
FROM Tabella1
UNION
SELECT [Id] & "2" AS Id1, "2" as Numero, "Impegni" As Descrizione,
Tabella1.Prodotto, Tabella1.Impegni As Quantità
FROM Tabella1
UNION SELECT [Id] & "3" AS Id1, "3" as Numero, "Disponibilità" As
Descrizione, Tabella1.Prodotto, Tabella1.Disponibilità As Quantità
FROM Tabella1;
Ora creati una query a campi incrociati basata su Query1 che ti darà il
risultato desiderato e che avrà il seguente codice SQL:
TRANSFORM Sum(Query1.Quantità) AS [Il valore]
SELECT Query1.Numero, Query1.Descrizione
FROM Query1
GROUP BY Query1.Numero, Query1.Descrizione
PIVOT Query1.Prodotto;
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Creati una query unione chiamata Query1 che abbia il seguente codice SQL:
...
Ciao Robero sei un grande. come sempre!!! Non sò come ringraziarti per
l'aiuto che mi hai dato, è stato molto importante per me.
Sai dirmi se ce la possibilità di ordinare i campi (quelli dei prodotti
ricavati dalla query 2 ) in ordine crescente per numero ID?
Si potrebbe inserire altri 3 campi (Cliente; Colli) nelle query da te
suggerite?
La query mi restituisce i seguenti campi e record:
Prodotti:        Esistenza        Impegni        Disponibilità
Cliente           Colli
Succo                3                    2                    1
pippo               2
Pasta                 2                    2                    0
Pluto                2
Fagioli               2                    2                    0
Pluto                2
Avrei la necessità di avere questi campi così impostati:
Prodotti           Succo            Pasta            Fagioli
Esistenza            3                    2                    2
Impegni              2                   2                    0
Disponibilità       1                   0                    2
Pippo                 2
Pluto                                       2                    2
Ciao e Grazie

 ha scritto nel messaggio
news:b6fml9$q4g$1...@news.ngi.it...

TRANSFORM Sum(Query1.Quantità) AS [Il valore]
SELECT Query1.Numero, Query1.Descrizione
FROM Query1
GROUP BY Query1.Numero, Query1.Descrizione
PIVOT Left([Id1],Len([ID1])-1) & " " & [Prodotto];
