Newsgroup: it.comp.appl.access
Titolo: Totali con query

Salve a tutti,
ho una query che mi dovrebbe fare alcune somme ma....:
nello specifico, ho 5 tabelle
DescrizioneArticoli;
Carico1
Carico2
Scarico1
Scarico2
tutte hanno in comune il campo CodiceBarre che è relazionato uno-a-molti 
dalla tabella DescrizioneArticoli
verso le altre,
ora la query in questione ha
campo CodiceBarre, DescrizioneArticolo, FamigliaProdotto, QuantitàIniziale 
che provengono tutti  dalla tabella "DescrizioneArticoli"
e i campi SommaDiCarico1, SommaDiCarico2, SommaDiScarico1, SommadiScarico2 
che sono campi espressioni e provengono dalle tabelle omonime,
il problema è che quando lancio la query  i dati che risultano nei vari 
campi sono tutti sballati (sembrerebbero moltiplicati, in che maniera non 
saprei),
es. il record del CodiceBarre "xyz" nel campo SommaDiCarico1 è 100 , mentre 
effettivamente ne ho caricati solo 10.
Questo problema è presente solo nella riga dei  record in cui sono più voci 
superiori a 0
esempio (i dati sono sparati a caso):
CodiceBarre   |   QuantitàIniziale  |  SommaDiCarico1  | SommaDiCarico2
      xyz            |         10               |        100 
|            0                  Riga errata (tutti  sballati, dovrebbe 
essere nella prima riga solo 2, nella terza 5 )
      123           |         100             |           0 
|            0                    Riga giusta
Spero di aver esposto il problema in modo che capiate
Ringrazio fin da ora chi mi risponderà
Mirco
-- 
Questo messaggio può contenere informazioni di carattere estremamente 
riservato e confidenziale. Qualora non fosse il destinatario, la preghiamo 
di informarci immediatamente con lo stesso mezzo ed eliminare il messaggio, 
con gli eventuali allegati, senza trattenerne copia. Qualsiasi utilizzo non 
autorizzato del contenuto di questo messaggio costituisce violazione 
dell'obbligo di non prendere cognizione della corrispondenza tra altri 
soggetti, salvo più grave illecito,ed espone il responsabile alle relative 
conseguenze civili e penali.

(.....)
Cosě si capisce ben poco.
Posta il codice SQL delle query in questione e la struttura delle tabelle da queste utilizzate.
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------

 Così si capisce ben poco.


Mirco





Mirco
Vincenzo Turturro 


 
Scusa Vincenzo ma anche con access.
O usi una suquery o meglio usi le tabelle derivate poste in Join
Io avrei fatto 
Query Q_Inventario:
Query Q_Fiches:
Query finale:
SELECT A.CodiceBarre, A.Famiglia,
A.DescrizioneFamiglia,
A.DescrizioneDitta, Inventario, Fiches
FROM DescrizioneArticoli as A ((LEFT JOIN [SELECT Codicebarre, Sum(nz([Quantità])) AS Inventario
FROM [Inventario anno in corso]
GROUP BY CodiceBarre]. as Q_I
 ON A.CodiceBarre=Q_I.CodiceBarre)
LEFT JOIN 
[SELECT CodiceBarre, Sum(nz([Quantità]))  AS Fiches
FROM Fiches
GROUP BY CodiceBarre]. as Q_F
ON A.CodiceBarre= Q_F.CodiceBarre)
Oppure a limite
SELECT A.CodiceBarre, A.Famiglia,
A.DescrizioneFamiglia,
A.DescrizioneDitta, (SELECT Codicebarre, Sum(nz([Quantità])) AS Inventario
FROM [Inventario anno in corso] as Inv
GROUP BY CodiceBarre HAVING Inv.CodiceBarre = A.CodiceBarre) 
FROM DescrizioneArticoli as A
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access


Non sapevo che Access supportasse la sintassi standard ANSI !
Ho sempre usato query e sottoquery, probabilmente "viziato" dai primi esempi che ho visto quando ho iniziato ad usarlo e
che sfruttavano questa tecnica.
E' proprio vero che non se ne sa mai abbastanza.
