Newsgroup: it.comp.appl.access
Titolo: Aggiornamento query e campo calcolato

Ciao,
Ho una sottomaschera Maschera2 a foglio dati da Tabella1 con i seguenti
campi
ID ; DATA ; Carico ; Scarico ; TotaleParz
é possibile farsě che il TotaleParz si aggiorni tutte le volte che venga
emesso un carico e scarico?.
Ho pensato, di creare una nuova Tabella2 uguale a Tabella1 e di creare una
query di aggiornamento dalle prove effettuate tutto funziona se in tabella2
inserisco a mano il numero ID di tabella1 dove sbaglio ?  , c'č un altro
modo piů semplice
Grazie

 ha scritto nel messaggio
news:kvo_c.76885$1V3.1...@twister2.libero.it...

Tu stai ignorando una regola fondamentale dei database relazionali che dice
che non deve essere mai registrato in una tabella un campo calcolato; non
rispettare questa regola provoca dei fastidiosi mal di pancia di cui cominci
ad avere i primi sintomi.
Io fossi in te eliminerei dalla tabella Tabella1 il campo TotaleParz, e mi
calcolerei "on the fly" il suo valore direttamente in un controllo calcolato
della sottomaschera; se ti serve dare un'occhiata a come questo sia
possibile, vai sul Sito Comune e nella Sezione Forms leggi la mia FAQ
intitolata "Come si puň ottenere il totale progressivo in una
maschera/sottomaschera continua?".
Se poi invece il totale parziale telo vuoi calcolare in una query, sempre
nel Sito Comune, nella Sezione Queries leggi la mia FAQ intitolata "Come si
puň ottenere il totale progressivo di un campo in una query?".
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
--------------------------------------------- 


Il Sito Comune è il mio preferito e ho già visto i due esempi e sono molto
utili.
Vorrei oltre ai carichi effettuare dei scarichi, ho modificato : TotProgrQry
= RS(FieldNameToGet) - TotProgrQry, ma nulla.
Ho molto da imparare... mannaggg...

 Ho molto da imparare... mannaggg...
Per imparare non ci vuole fretta. ;-)
Non sono sicuro di aver capito bene cosa vuoi fare, ma se il tuo obiettivo è
quello di ottenere nella query il saldo progressivo, inteso come differenza
tra i carichi e gli scarichi avuti sino a quel momento, non devi
assolutamente toccare il codice VBA della funzione TotProgrQry, e se la
query che stai usando si chiama QuerySaldo, inserisci in essa il seguente
campo calcolato:
Saldo: CDbl(TotProgrQry("ID";[ID];"Carico";"QuerySaldo")) -
CDbl(TotProgrQry("ID";[ID];"Scarico";"QuerySaldo"))


 ha scritto nel messaggio
news:zF0%c.85422$OH4.2...@twister1.libero.it...

Bene alla formula del Saldo giuro che c'ero quasi. Ma quasi.
Il mio obiettivo precedente diciamo che era quello.
Ho preso spunto dall'esempio di Access Controllo Inventario dove la Maschera
Prodotti e la Sottomaschera Prodotti fanno al caso mio ho solo aggiunto un
campo chiamato ubicazione , E qui cambia tutto.
Ho un Prodotto e questo in una maschera continua quindi la SottoMaschera
Prodotti può essere ubicato in più scaffali.
Devo avere la possibilità di compiere dei scarichi e carichi nella stessa
riga e nell'ubicazione corrente.
Sottomaschera Prodotti
prodotto :  descrizione : carico : scarico : residuo : ubicazione : dataMov
13421        vernice            0        0            15            A1
12/09/04
13421        vernice            0        0            54            B2
12/09/04
Se scarico 5 pezzi da A1 il residuo deve 10 sempre nella stessa riga e così
via. Il totale di tutte le righe del residuo sono in Maschera Prodotti
=[Sottomaschera Prodotti].Form!QuantitàInMagazzino
dove QuantitàInMagazzino = =[Sottomaschera
Prodotti].Form!QuantitàInMagazzino
Spero di essere stato chiaro, comunque il Vostro aiuto  è sempre stato utile
nei miei sforzi.
Ciao.

