Newsgroup: it.comp.appl.access
Titolo: somma/sottrazione tra più tabelle

Buona sera a tutti!
Ho un altro problema che non riesco a risolvere da sola. Probabilmente sarà
una sciocchezza ma io non riesco a risolverla. mi stò "tagliando" di
brutto...  Sul pavimento c'è un sacco di sangue :-((
Dunque... io ho 3 tabelle: "Prova", "Piu", "Meno"
In tutte e 3 le tabelle sono presenti le seguenti colonne: ID (contatore),
CodProd (codice del prodotto), Lotto, Quantita.
Nella tabella "Prova" ci sono le quantità attuali, cioè quelle che
effettivamente ho.
Nella tabella "Piu" quelle da sommare alle quantità di "Prova" e in "Meno"
quelle da sottrarre (sempre a "Prova")
Tenendo presente che per fare la somma e/o la sottrazione è necessario che
sia il codice prodotto che il lotto siano uguali e che non tutti i CodProd e
Lotto sono presenti in tutte e 3 le tabelle come faccio a fargli fare ste
benedette operazioni in una query? Se qualche CodProd e Lotto non è presente
in "Prova" mi deve restituire come quantità di "Meno" + quantità di "PIU".
Probabilmente è una cavolata ma mi sono bloccata...
Qualcuno ha qualche idea???
Grazie per l'attenzione e scusate se sono stata un "po'" contorta nella
spiegazione. (spero si sia capito....)
Ciao
Lily

Lily ha scritto:

...non saprei proprio dove mettere le mani per farlo in una query ... e 
non so nemmeno se sia possibile ... personalmente lo fare ivia codice:
apri i tre recordset
controlli l'EOF
fai le varie operazioni

 in "Prova" mi deve restituire come quantità di "Meno" + quantità di "PIU".
Non so se ho capito bene.
In Più e in Meno possono non esserci tutti i prodotti che
si trovano in Prova.
In ogni caso tu vuoi un nuovo campo
SaldoQuantità = Prova.Quantità + Più.Quantità - Meno.Quantità.
Intanto sarebbe meglio stabilire opportune relazioni
fra le tre tabelle, poi il tutto non è così semplice da spiegare.
Se vuoi ti mando un esempio (sempre che tu abbia
Access2000 o versione superiore: precisami quale).
Bruno 

 ha scritto nel messaggio
news:l7B7e.65336$zZ1.1...@twister1.libero.it...

grazie per l'aiuto ma ho risolto grazie all'aiuto di qualcuno MOLTO più
bravo di me.
Vi posto la soluzione che, ovviamente, non è farina del mio sacco....
Select T0.CodProd,
      T0.Lotto,
      Nz(T1.Qt,0)+Nz(T2.Qt,0)-Nz(T3.Qt,0) AS QtTotale
FROM (((
SELECT CodProd,Lotto FROM Prova UNION
SELECT CodProd,Lotto FROM Piu UNION
SELECT CodProd,Lotto FROM Meno) AS T0
LEFT JOIN (Select CodProd,Lotto,Sum(Quantita) AS Qt
         From Prova Group By CodProd,Lotto) AS T1
        ON T0.CodProd=T1.CodProd AND T0.Lotto=T1.Lotto)
LEFT JOIN (Select CodProd,Lotto,Sum(Quantita) AS Qt
         From Piu Group By CodProd,Lotto) AS T2
        ON T0.CodProd=T2.CodProd AND T0.Lotto=T2.Lotto)
LEFT JOIN (Select CodProd,Lotto,Sum(Quantita) AS Qt
         From Meno Group By CodProd,Lotto) AS T3
        ON T0.CodProd=T3.CodProd AND T0.Lotto=T3.Lotto
Grazie ancora
Ciao
Lily
P.S. Spero di non violare nessuna regola postando la soluzione che mi è
stata data in altra sede...

        ON T0.CodProd=T3.CodProd AND T0.Lotto=T3.Lotto
Vorrei capire bene qual era il problema.
Correggimi se sbaglio.
Tabella Prova
--------------------------
cod 1        qtà      125.36
cod 2        qtà      256.31
cod 3        qtà    1235.45
Tabella Più
-------------------------
cod 2        qtà    36.00
Tabella Meno
-------------------------
cod 1        qtà    13.00
Tu vuoi ottenere la Quantità Totale
----------------------------------
cod 1        125.36 - 13.00 =    112.36
cod 2        256.31 - 36.00 =    291.31
cod 3                                    1235.45
                                        -------------
                                             1640.12
Non credo sia questo che volevi ottenere,
quindi che altro?
Bruno 

 Lily
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------