Newsgroup: it.comp.appl.access
Titolo: Per la Marchesa?, Duchessa? boh? "Rosacisalpina Verrua Savoia" e tanti altri!!!

Allora, ormai sta diventando un problema ricorrente, vediamo di riscriverlo
benino una volta per tutte, poi baastaaaaa!!!
Il problema è che se si scrive una formula in un controllo (che si chiamerà
controllo calcolato) di una maschera che ha una tabella come origine record,
il valore di quel controllo, cioè il risultato di quella formula, non finirà
in nessun campo della tabella stessa.
Questo perchè il controllo non è appunto legato a nessun campo!
Infatti, una maschera di inserimento dati, altro non è che un'interfaccia
all'utente per scrivere in una tabella (magari con tante belle funzionalità
di controllo dei dati inseriti o proposti per l'inserimento). Per far questo
si mette nella proprietà recordsource della maschera una query o una tabella
e poi si mettono una serie di controlli, ognuno dei quali deve essere legato
(o associato) ad un campo della tabella stessa. Se scrivo nel controllo,
scrivo nella tabella.
Come si fa allora se si deve scrivere in un campo della tabella un valore
risultato di calcoli magari dipendenti dall'input dell'utente su altri
controlli e quindi campi?
E' necessario che il controllo dove deve andare il risultato
dell'espressione (meglio chiamarla così che funzione) deve essere comunque
legato al campo della tabella.
Poi si scrive, nell'evento dopo aggiornamento dei controlli i cui valori
contribuiscono a cambiare il risultato dell'espressione, una piccola
istruzione:
me!controlloespressione = espressione (x,y,z,)
Cosa significa?
Che viene esplicitamente scritto da codice nel controllo il cui valore è il
risultato dell'espressione, il risultato dell'espressione stessa che viene
calcolata in quel momento appunto via codice.
Se x, y e z sono i controlli i cui valori possono contribuire a cambiare il
risultato dell'espressione, questa istruzione va scritta nell'evento dopo
aggiornamento di x, y e z.
Ultima cosa: se è obbligatorio che il valore nel controllo espressione, sia
SOLO quello dell'espressione, e non per esempio un valore suggerito ma che
l'utente può cambiare, è necessario che il controllo stesso sia BLOCCATO,
cioè la proprietà bloccato deve essere messa a sì. Il suo valore quindi sarà
dato solo dal risultato dell'espressione che è assegnata via codice
cambiando il valore degli altri controlli!!!
Antonio

aggiornamento di x, y e z.
Sebbene i puristi sosterranno che in questo modo
denormalizzi le tabelle, ammetto che, per esperienza,
la ridondanza di dati (totali parziali, ecc.)
a volte semplifica la vita.
E' vero che non si dovrebbe memorizzare in una
tabella un dato che e' frutto di elaborazione di altri dati
ma vuoi mettere la semplicita' poi di costruirci
sopra un report (senza dover ripetere i calcoli...) ?
Ciao. ElioP.

...

C'è anche un altro aspetto.
La tabella col dato calcolato può essere utilizzata anche fuori dal contesto
che l'ha generata, nel senso che, avendo opportunamente chiamato in maniera
esplicativa il campo calcolato, chi va ad analizzare la tabella sa cosa è
quel dato e perchè è stato generato.
Altrimenti potrei essere costretto ad esportare anche alcune specifiche come
appunto la necessità di dover calcolare alcuni campi calcolati...
Antonio


http://www.penguinpowered.com/~ecesena
Sono schizofrenico, ma a gruppi.  Dentro di me non ho due personalita', ma un
marasma di gente che cerca disperatamente la via d'uscita e spinge.  A volte
sbuca una personalita', a volte un'altra.  A volte invece mi scappa
semplicemente la cacca.  Si chiama personalita' multipla: quando vado dallo
psichiatra mi fa lo sconto comitive.  A volte non ho tempo io e allora viene
lui.  Anche qui scatta la richiesta di sconto comitive, ma siccome e' uno solo
non glielo faccio mai.  Io invece sono tanti.  Succede cosi': la mattina tutte
le personalita' si svegliano e la prima che indossa il corpo va in giro tutto
il giorno.  Io ho provato a fare la guardia per fregarle sul tempo, ma non ci
riesco mai.  Oggi sono qua solo perche' sono tutti in sciopero, altrimenti non
c'era nessuna speranza.  Pero' non e' male questo continuo cambiamento: ho
degli amici che non conosco e quelli che saluto io non conoscono me.  Con me
non si sa mai chi parla.  Chi parla?  Pronto!  Eh no: deve dirmi prima lei, ha
chiamato lei!  Ah, ho chiamato io?  Allora mi scusi, devo aver sbagliato
numero...  Sono figlio di genitori separati.  Mio papa' se n'e' andato di casa
che io non ero ancora nato.  Mia mamma anche.  Sono nato da solo.  Non c'era
nessuno in casa.  E suonava anche il telefono.  Ero io: controllavo se
l'indirizzo era quello giusto.
		-- Francesco Salvi, "Una strana famiglia", postata su
		   it.hobby.umorismo