Newsgroup: it.comp.appl.access
Titolo: Nessuno proprio sa' come fare??? :(((

...alla base di tutto c'è il campo di una "x" tabella che deve accogliere il
dato calcolato che tu desideri memorizzare.
Ad esempio  in una tabella con i campi :
codarticolo, descrizione e prezzo, prendendo come ipotesi il fatto che tu
voglia memorizzare il prezzo quale risultato del campo calcolato nella tua
form (perchè stai parlando di form...!)...basta che sull'evento "dopo
aggiornamento" (cioè quando il recorset è stato completato anche con il
calcolo del campo calcolato) tu esegua una query di aggiornamento !!!!
La query di aggiornamento avrà come PARAMETRO di aggiornamento ovviamente il
campo codarticolo (che ovviamente dovrà essere UNIVOCO necessariamente) e
dovrà avere la forma forms![nomemaschera]![codarticolo]...se poi ogni volta
che esegui l'aggiornamento non vuoi visualizzare i soliti messaggi di access
basterà che tu prima del comando (docmd.openquery.....") che esegue la query
tu esegua docmd.setwarnings false !
Prendo come ipotesi il fatto che il prezzo vada aggiornato...ma la
problematica potrebbe anche essere L'INSERIMENTO nella tabella, nel primo
caso il campo prezzo dovrà già essere inserito all'origine ed AGGIORNATO in
funzione, che ne so, di uno sconto ad un particolare cliente o altri fattori
(ad esempio nella tabella ordini o dettagli ordini di un db !), nel secondo
caso è necessario che la query sia appunto di inserimento del solo campo
"PREZZO" della medesima tabella....il resto è identico.
Spero di aver centrato il tuo problema e di essere stato chiaro !
Comunque presumo anche che tu voglia intendere "come posso salvare il
risultato di un campo calcolato nel CAMPO di una tabella" e NON in un
record...a meno che non ci sia solo quel campo nella tabella...cosa che non
credo !
Frankkk

(.....)
Supponiamo che:
il campo in cui memorizzare il valore calcolato si chiami Prezzo
la combo si chiami cboArt
il controllo nel quale visualizzi il prezzo si chiami txtPrezzo
Il fatto che tu non riesca a memorizzare il valore, dipende dal fatto
che il controllo a cui assegni cbo.column(2) NON č associato al campo
del record che ti interessa valorizzare.
Quindi:
- nell'origine di txtPrezzo metti Prezzo (questo associa il controllo
al campo, per cui ad ogni lettura del record il controllo viene
inizializzzato con il valore letto dal campo corrispondente, mentre la
modifica del contenuto del controllo comporta l'aggiornamento del
contenuto del campo)
- sull'evento "Dopo aggiornamento" di cboArt scrivi il codice
seguente:
me!Prezzo = me.cboArt.column(2)
me.refresh
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora 
provetti poeti fiorentini come vturturro.
(Cosě disse 
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)


La soluzione che tu hai adottato è quella di definirti i controlli della
descrizione  e del prezzo tramite caselle di testo NON associate, quindi hai
inseito nei rispettivi "Origine controllo" delle formule.
Trasforma le due caselle di testo in ASSOCIATE, ovvero nei rispettivi
"Origine controllo" indica il nome di campi della tabella che è "Origine
record" della maschera.
Quindi, a fronte dell'evento "Dopo aggiornamento" della tua combo genera il
seguente codice VBA:
    Me![NomeControlloDescrizione] = Me![NomeCombo].Columne (1)
    Me![NomeControlloPrezzo] = Me![NomeCombo].Column (2)
--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------