Newsgroup: it.comp.appl.access
Titolo: Salvare i risultati di calcoli in una tabella

Buongiorno a tutti
č la prima volta che scrivo su questo NG, e spero che qualcuno vorrą
leggermi e rispondermi :-)
Non sono molto pratica di questo programma cosģ ho deciso di chiedere
aiuto a degli esperti:
Vorrei salvare i risultati di calcoli effettuati tra campi di una
tabella in un nuovo campo della tabella stessa, o almeno in una nuova
tabella ricopiando anche un riferimento ID in modo da associarlo
univocamente con il record dei calcoli di partenza
Per esempio, vorrei salvare Costo dove
Campo1 = quantitą prodotto
Campo2 = prezzo unitario
Costo = Campo1*Campo2
E' possibile farlo?
Se si, come?
Grazie mille a chi mi degnerą di attenzione, buona giornata a tutti
Alessandra
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Ciao,
a dir la verità non vedo la necessità di tale operazione in quanto puoi
sempre avere a portata di mano il dato in una query inserendo come origine
dela campo costo: [campo1]*[campo2] oppure in una maschera basta inserire un
campo calcolato.
Se proprio ti è necessario salvare il dato su di un'altra tabella crei la
struttura di una nuova tabella con ID in relazione 1 a 1 con la tabella
precedente e poi con una query di accodamento ed opportuni parametri
aggiungi sulla nuova tabella i risultati che ti servono.
Cmq mi ripeto che, salvo tue esigenze particolari, l'operazione è inutile
anzi, controproducente.
Eventualmente indica la motivazione per cui hai questa necessità così si
capisce meglio.
Ciaooo


Una delle regole fondamentali di un database relazionale (e quelli trattati
da Access sono di quella natura) è quella che NON bisogna MAI memorizzare in
una tabella un campo calcoalto in base al valore di altri campi contenuti
nella tabella medesima; se non rispetterai tale regola ti provocherai deli
inutili e fastidiosi mal di pancia di cui cominci a sentire i primi sintomi.
I campi calcolati sono propri di una query; quindi creati una query basata
sulla tua tabella e aggiungi in essa tutti i campi calcolati che riterrai
necessario.
In alternativa i tuoi calcoli li potrai visualizzare in uno o più controlli
calcolati di una maschera o di un report che abbiano come origine record la
tua tabella.
In effetti, facendo ricorso al codice VBA o a delle macro, puoi riuscire a
memorizzare un campo calcolato in una tabella, ma preferisco non indicarti
come, onde evitarti i problemi di cui sopra.
Insomma un database non è un foglio elettronico; nei campi di una tabella
non è possibile memorizzare una formula, come è invece possibile nelle celle
di un foglio eletrronico; se vuoi lavorare bene con Access non cercare mai
di usare una tabella come se fosse un foglio elettronico, sarebbe un grave
errore; puoi importare o esportare i dati da e verso un foglio elettronico,
ma una volta che operi all'interno di Access, scordati Excel.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Ciaooo
Intanto grazie per avermi risposto
l'esempio che ho riportato era ovviamente semplicistico al massimo
Il motivo per cui vorrei salvare i dati è questo: ho a che fare con più
tabelle ovviamente, in particolare una tabella Prodotti (che immagazina
codice prodotto e prezzo unitario prodotto)
ed una tabella preventivo (i cui dati vengono immessi tramite maschera
che riporta codice prodotto e quantità ordinata, più altri campi);
credo sia un caso abbastanza comune e penso mi capiate bene.
Il db serve a tenere nota di tutti i preventivi effettuati nel tempo
(c'è anche una tabella clienti ecc ecc ma non interessa per ora) ma 
mentre i preventivi devono rimanere inalterati nel tempo, i prezzi dei
prodotti cambiano di tanto in tanto
La mia domanda era per fissare una volta per tutte i prezzi del
preventivo
(senza dovermeli salvare a parte volta per volta)
anche se nel frattempo la tabella prodotti e' stata aggiornata con nuovi
prezzi.
Spero di essere stata più chiara di prima, scusate ma non sono
praticissima
di NG!!!


 wrote in message
news:P9dU9.110342$
Ou4.3...@twister2.libero.it
[...]
---------------------------------------------
Grazie per avermi risposto cosě presto
ho specificato la situazione in modo piů esauriente (o almeno spero)
nella mia risposta JEF.


 Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Dal mio punto di vista dato che hai già una tabella preventivi, in cui ci
sarà (suppongo) il campo ID_articolo (da cui poi ricavi il prezzo) ti
conviene aggiungere nella stessa (tabellaPreventivi) un campo es.
PrezzoPreventivo che si memorizza di volta in volta (e non collegandolo
unicamente al prezzo dell'art. nella tabella articoli).
Fatto questo ogni record del preventivo dovrebbe contenere quindi IDArticolo
Qtà e Prezzopreventivo. Da qui in poi non hai più il problema che nella
tabella Articoli venga modificato il prezzo di listino.
Spero di essere stato abbastanza chiaro.
Fammi sapere.
Ciao
Jef

 tabella Articoli venga modificato il prezzo di listino.
Infatti avevo pensato di aggiungere un campo nella tabellaPreventivi
che riportasse non il prezzo del preventivo intero, ma del singolo
articolo "disancorandolo" dalla tabellaArticoli, facendo cioe' in modo
di
selezionare il codiceArticolo dalla tabellaArticoli e memorizzarne il
prezzo una volta per tutte nella tabellaPreventivo, ma non so se e
come si possa fare.
Avevo risolto solamente immettendo il prezzoArticolo da tastiera 
per ogni riga ma ovviamente non va bene.
Esiste un modo per farlo fare ad access?


 ha scritto nel messaggio
news:1cae8374cd47cac6ae4...@mygate.mailgate.org...

Nella maschera dove fai i preventivi, collegata alla tabella dove avrai
aggiuntp il campo [prezzopreventivo] e supponendo che nella stessa ci sia il
campo collegato [prezzolistino] sull'evento "Prima di Aggiornare" dellma
maschera inserisci il codice
prezzopreventivo = prezzolistino
così per quel record specifico memorizzi il prezzopreventivo una volta per
tutte.
Jef

grazie mille per i suggerimenti, ora provo a fare quello che mi hai
detto
e vedere se ce la faccio a non inchiodare tutto :-)
Ti faro' sapere
Grazie ancora 


Fatto e funziona perfettamente :-)
Grazie per la pazienza!



OK, la musica č diversa visto che vuoi memorizzare nella tua tabella
Preventivi il prezzo unitario di un prodotto contenuto in una tabella
Prodotti.
Immagino che nella maschera che ha come origine record la tabella Preventivi
tu digiti in un controllo il codice prodotto e vorresti che in un altro
controllo (associato ad un campo della tabella Preventivi) venga memorizzato
il prezzo unitario di quel prodotto ricavato dalla tabella Prodotti: se č
questo che ti serve, puoi farlo, a fronte dell'evento "Dopo aggiornamento"
del controllo in cui digiti il codice prodotto, usando una funzione DLookup
(vedi help).
Se quello che leggi sull'help non ti č sufficiente per usare correttamente
la funzione DLookup, rifatti viva.


 wrote in message
news:xhhU9.110877$
TC5.3...@twister1.libero.it
[...]
Grazie mille, hai chiarito un po' dei miei molteplici dubbi su quanto
concerne eventi e funzioni :-)
Ancora grazie per l'interessamento 
