Newsgroup: it.comp.appl.access
Titolo: Creare una tabella con campi calcolati di una maschera.

Ciao a tutti, ho bisogno proprio del vostro aiuto ^_^
Ho una maschera con 20 record, prende i dati da una tabella, il primo
campo mi identifica il record e poi ha altri 15 campi che sono tutti
campi calcolati (media, mediana, ecc.) in base ai valori della tabella.
Finora da questa maschera generavo un report e stampavo.
Ora è sopraggiunto il bisogno di portare questi campi calcolati della
maschera in una tabella per stoccarli
In pratica ho bisogno di un pulsante sulla maschera che quando lo premo
mi va a creare(se non esiste) o aggiornare una tabella con 20 record,
dove il primo campo mi identifica il record (es. polli, galline,
conigli) e tutti gli altri 15 campi della tabella sono i valori
generati dai campi calcolati della maschera.
Mi sapreste aiutare gentilmente?

 wrote in message
news:1127749809.9...@o13g2000cwo.googlegroups.com

Perchè devi salvare dei campi calcolati...?
E' spesso una tecnica da evitare.
Per questo si realizzano delle query dedicate che
effettuano i calcoli OnTheFly, sei sicuro dell'esigenza...?
Saluti
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Devo esaudire una richiesta che mi è stata fatta.
Se avessi progettato io il DB avrei fatto una query di aggiornamento
che una volta lanciata mi calcolava i campi e me li metteva in una
tabella da cui poi mi tiravo fuori report ed eventuali.
Chi mi ha chiesto il favore invece ha già fatto la maschera con tutto
il codice sotto che calcola i 15 campi, quindi ora vuole una soluzione
veloce per portare tutto in tabella.

 wrote in message
news:1127751388.7...@g43g2000cwa.googlegroups.com

Non ti ho chiesto come avresti fatto, ma ti ho detto che
secondo me non serve salvare i campi calcolati perchè assurdo.
Oltretutto avendo inserito i calcoli nella Form, questi
dovrebbero essere effettuati su evento dopo aggiornamento
dell'unico Controllo scritto(sperando sia solo 1), 
altrimenti su Current verrebbero inutilmente ricalcolati ogni volta....!
Inoltre credo che la modifica debba funzionare sempre non solo
una volta, quindi devi fare 2 variazioni:
1)La tua Query Update per i Records già inseriti
2)La gestione dell'evento After_Update del controllo per i calcoli
  quindi se i campi sono nella tabella ti basta associare i controlli
  ai relativi campi, quindi su evento assegnarne il valore.
Io però insisto che un programmatore dovrebbe consigliare sempre
il modo giusto di muoversi, e questo non lo è.


Guarda che qui non è una questione etica, è una questione pratica.
Se a te dicono "Fai in modo che mi faccia questo senza modificare
quello che già esiste", tu che fai ti rifiuti attaccandogli la pippa
su cosa farebbe un buon programmatore o esegui il lavoro? -_-
Cmq sia, sempre per tornare al discorso che devo risolvere il problema,
io nella tabella ho i campi a cui dovrei assegnare i valori calcolati.
Ho associato le caselle di testo calcolate nella form con i campi della
tabella e il codice in pratica è il seguente:
Me!Totale.Value = [Totale]
Me!Totale.Value = Me!Prezzo.Value * Me!Quantità.Value
Il problema è che, essendo la form in forma tabellare e
visualizzandomi tutti e 20 i record in un'unica schermata, affinchè i
valori vengano calcolati e aggiornati, devo spostarmi da un record
all'altro per dar via all'evento (ho provato "su corrente", "su
apertura","dopo aggiornamento").
Quindi mi chiedo, come posso fare via codice un ciclo che mi si
posizioni su ogni record e mi esegua la routine
Me!Totale.Value = [Totale]
Me!Totale.Value = Me!Prezzo.Value * Me!Quantità.Value
dal primo all'ultimo record?

 dal primo all'ultimo record?
Nel post precedente ti avevo evidenziato questo problema, non
ero stato chiaro...?
Hai 2 possibilità:
Cicla il RecordsetClone e riesegui i calcoli, ma deve essere
fatto solo UNA volta.
E' per questo ti ho detto che dovevi fare
una QUERY UPDATE per i Records esistenti in quanto le 2 tecniche
sono uguali, e da eseguire ONE_SHOT.
Su quelli NUOVI puoi implementare l'automazione.
