Newsgroup: it.comp.appl.access
Titolo: Help query accodamento

Ciao a tutti,
ho una tabella in cui ho un campo "nome_prodotto" e tre campi
"guasto1" "guasto2" e "guasto3".
Vorrei fare una statistica che mi elencasse per nome_prodotto il
totale dei guasti. 
Es.: Prodotto X : 3 guastoA , 5 guastoB, 10 guastoC
Ho dovuto creare tre query di accodamento per creare la statistica di
cui sopra. Ogni query prende  in base al nome_prodotto rispettivamente
i guasti A B e C  li accorpa e li conta. Le tre query di accodamento
verso la stessa tabella alla fine mi danno la statistica desiderata.
Il punto dolente è che la macro che mi esegue le tre query in
successione mi chiede tre volte di inserire il nome_prodotto su cui
fare la statistica. 
Io vorrei accorpare le tre query in una ma non so come dirgli di
passare al record successivo dopo ogni accodamento (l'errore che non
riesco a risolvere è che se metto le tre query in una sola query lui
tenta di accodare tre volte nello stesso record).
Altro problema che ho: come si fa a mettere un dato inserito
dall'utente in tot campi con una sola digitazione?
Spero di essermi espresso comprensibilemente e vi ringrazio in
anticipo.

Es.: Prodotto X : 3 guastoA , 5 guastoB, 10 guastoC
Non ho capito se i tre campi guasto sono di tipo Sì/No e quindi il Sì su
guasto1 significa che si è verificato il guasto 1 e così via, oppure se ogni
campo può assumere valori differenti che specificano il guasto.
Nel primo caso fai una query in cui raggruppi sul campo nome prodotto,
mentre metti la seguente espressione sui 3 campi guasto
iif(guasto1;1;0) chiaramente mettendo una volta guasto1, poi guasto2 e così
via
Su queste espressioni metterai la funzione somma.
Per esempio, la prova che ho fatto mi ha dato questo SQL
SELECT Tabella1.aaa, Sum(IIf([g1],1,0)) AS Espr1, Sum(IIf([g2],1,0)) AS
Espr2
FROM Tabella1
GROUP BY Tabella1.aaa;
Nell'altro caso è un casino da fare a query....
Antonio

Ho dovuto creare tre query di accodamento per creare la statistica di
ecc.
scusa, ma perche' non fai un'unica query raggruppando per prodotto e
contando i guasti?
ad es.:
select prodotto, count(guastoA), count(guastoB), count(guastoC)
from tabella
group by prodotto
(guastoA, B, C sono i nomi dei campi dove segni i guasti).
se vuoi usare l'editor delle query: carica la tabella, inserisci i
quattrro campi prodotto e guastiA, B, C, clicca il tasto col segno di
sommatoria (sigma maiuscolo).  sotto il campo prodotto scegli
raggruppamento, sotto gli altri tre campi scegli conteggio.
--
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/


Rispondo a tutti e due con questa altra letterina.
Non avevo spiegato bene quale era la difficolta' (per me :-) ).
Io posso avere : 
Prodotto		Guasto1		Guasto2		Guasto3
Laservap	Tubo rotto	Calcare in caldaia	Rotto pulsante
Jetto		Calcare in caldaia
Laservap	Manometro ko	Tubo rotto
Quindi non posso sommare i guasti per colonna raggruppando il prodotto
perche' i guasti uguali possono essere sulla colonna 1 o 2 o 3
La mia statistica sul Laservap deve essere:
Laservap: Tubo rotto 2 Calcare in caldaia 1 Rotto pulsante 1 Manometro
ko : 1
Qindi io con le query di accodamento metto i dati in una tabella
cosi': con la query 1 accorpo la colonna guasto1 con la query 2
accorpo la colonna guasto2 e la accodo ai risultati della query
precedente e con la query 3 accorpo la colonna guasto3 e la accodo ai
mrisultati delle 2 query precedenti, ottengo cosi' una tabella con una
colonna guasti. 
IL problema è che ogni query mi chiede su quale prodotto devo fare
l'accorpamento dei guasti quindi ottengo tre finestre di dialogo ogni
volta che lancio la macro che le accorpa.
Ciao.

ko : 1
Allora la tua tabella e' disegnata non male, malissimo!
Usa almeno tre tabelle:
Tabella 1:
IDProdotto
DescrProdotto
Tabella2:
IDGuasto
DescrGuasto
Tabella3:
IDProdotto
IDGuasto
... (puoi mettere una data se vuoi)
A questo punto ottenere i tuoi raggruppamenti diventa banale.
-- 
Ciao,
Giovanni

volta che lancio la macro che le accorpa.
Ma che cavolo di gestione dei dati, però, eh scusa!!!!
Secondo me si può risolvere il tutto con un po' di codice, utilizzando i
recordset e/o le funzioni tipo DCount e Dlookup...
Ah, ma se uno scrive Caldaia guasta o caldaia con guasto lo sai che li
considera guasti diversi?
Perchè comunque non ti fai una tabella dei guasti possibili con un contatore
univoco, in modo che nella tabella finale hai solo il numero di ID del
guasto?
Antonio


Rispondo a tutti e due qui:
Avete ragione per quello che riguarda la progettazione della tabella
principale, il problema e' la mancanza di esperienza :-)
Creero' una tabella con id guasto e guasto, l'avevo gia' fatto con i
prodotti e mi ero dimenticato di scriverlo nel mio messaggio.
Devo anche comprarmi un manuale per imparare anche a scrivere del
codice dato che a volte sembra indispensabile.
Grazie di tutto e buon pomeriggio.