Newsgroup: it.comp.appl.access
Titolo: me.requery?

Ho costruito un programma che effettua dei calcoli all'uscita dei campi;
l'ho impostato cosi' im quanto e' molto importante che chi lo usi capisca
l'esatta sequenza ed il significato del dato che sta inserendo.
Questo e' molto bello in fare di inseimento ma in fase di modifica mi
costringe anche se vario un solo campo a scorrerli tutti.
La domada e' se si puo' inserire un tasto che mi faccia i calcoli
all'istante.
Vi allego il codice di un campo formula  bloccato e non abilitato; tutti gli
altri comunve hanno del codice in uscita.
grazie.
Private Sub solido_alla_pistola_Exit(Cancel As Integer)
Dim sap As Double
        sap = ([solido_nel_pv] + [solido_nel_cata] * ([perc_cata] / 100)) /
(1 + [perc_cata] / 100 + [perc_diluente] / 100)
    [solido_alla_pistola] = sap
    [solido_alla_pistola].Requery
    End Sub

 all'istante.
Fai un unica funzione che esegue tutti gli aggiornamenti.
Poi, sul dopo aggiornamento di qualunque controllo, richiamerai quella
funzione.
Antonio

     End Sub
    Consulta la guida a proposito di:
        Sub Recalc()
            Membro di Access.Form
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

             Membro di Access.Form
Questo va bene se i controlli sono calcolati, ma se il ricalcolo lo fa tutte
le volte da codice, allora non va più bene!!!
Antonio

 le volte da codice, allora non va più bene!!!
Aahh ... stavi aspettando Borrelli al varco, confessa :-)
Ciao, Oscar

 ha scritto nel messaggio
news:wMFf9.10256$Oz2.2...@twister2.libero.it...

E ho capito, però pure lui se le cerca!
Era troppo facile se era possibile fare come dice lui, e non era questo il
caso... almeno per come ha spiegato chi ha proposto il quesito
Antonio

 Aahh ... stavi aspettando Borrelli al varco, confessa :-)
    Emulazione... Sana e fruttuosa emulazione... :-)
    Nel caso particolare Antonio Biso ha, ovviamente, torto marcio.
    Cosa ho scritto di tanto sbagliato? Questo:
"Consulta la guida a proposito di:
Sub Recalc()
Membro di Access.Form"
    E cosa c'e' scritto nella guida? Questo:
"Con il metodo Recalc vengono aggiornati immediatamente tutti i controlli
calcolati di una maschera."
    Se l'interlocutore vuole, puo' raccogliere il mio invito e rendere
calcolati i controlli.


 calcolati i controlli.
Che poi è esattamente l'inverso di quanto faccio da tempo: secondo me è
meglio avere il controllo totale sul *quando* vengano elaborati (a livello
di Forms) i calcoli.
I campi calcolati dal sistema sono comodi ... ma pesantini.
Ciao, Oscar

 ha scritto nel messaggio
news:alnahp$1rr7s6$1...@ID-52090.news.dfncis.de...

Sì, va beh, però cambia ventose dai!
Stavolta lo sai benissimo che la scusa non sta in piedi!!!
Antonio

 I campi calcolati dal sistema sono comodi ... ma pesantini.
    E ci hai pure ragione. Ma mi spieghi senno' come facevo a dire che il
Biso aveva torto marcio? E' un mondo difficile...


 Biso aveva torto marcio? E' un mondo difficile...
Sě, va beh... č vita intensa...
Antonio

 ha scritto nel messaggio
news:34Hf9.10659$Oz2.2...@twister2.libero.it...

grazie raga, non pensavo di scatenare un putiferio simile...per' e' bello
confrontarsi.
Alla fine ho due soluzioni ma non ho capito quale e' meglio. ho capito che
una delle due e' piu' pesante dell'altra. Come Scegliere?

 ha scritto nel messaggio
news:XGEf9.3493$qE6....@tornado.fastwebnet.it...

Io di solito faccio in questo modo :
Function Ricalcola() as Variant
Dim sap As Double
        sap = ([solido_nel_pv] + [solido_nel_cata] * ([perc_cata] / 100)) /
(1 + [perc_cata] / 100 + [perc_diluente] / 100)
    [solido_alla_pistola] = sap
    '[solido_alla_pistola].Requery  --------- Togli questa riga se il
controllo non è una casella combinata
End Function
In tutti i controlli interessati al ricalcolo (puoi usare la selezione
multipla) inserisci nella maschera delle proprietà sulla riga Dopo
aggiornamento =Ricalcola(), in questo modo i controlli eseguiranno la
funzione Ricalcola()
Ciao Giorgio.

 una delle due e' piu' pesante dell'altra. Come Scegliere?
Il problema, IMHO, è la tua situazione attuale. Se tu hai già il codice,
forse fai prima ad usare la mia soluzione, piuttosto che metterti a
riscrivere l'origine dati dei controlli.
C'è anche da dire un'altra cosa: che la recalc del borrelli è inutile perchè
se hai un controllo calcolato, lo ricalcola automaticamente quando cambi il
valore di qualche parametro coinvolto.
Pertanto, una volta scritti tutti i controlli come calcolati, nell'evento
dopo aggiornamento non devio mettere nulla.
Altrimenti devi fare tutto da codice ed eventualmente ricalcolare solo i
controlli coinvolti
es. se un il valore del controllo C si ottiene da A+B, se cambi A o B
ricalcoli C, ma non tutti gli altri controlli della maschera
Antonio

 ha scritto nel messaggio
news:0SIf9.11233$Oz2.2...@twister2.libero.it...

Quindi se ho capito bene tu mi dici di creare una funzione che viene
richiamata sul afeter update di ogni campo calcolato.
nella funzione che ci metto? E' sufficiente che inserisco tutte le formule
dei campi calcolati?Scusa la mia ignoranza ma non ho mai sperimentato una
cosa simile e' solo un paio di mesi che mi sta dedicando ad access.
Grazie.

 cosa simile e' solo un paio di mesi che mi sta dedicando ad access.
Aspetta!!!
Ma tu hai già tutti i controlli calcolati?
Senza alcun calcolo fatto da codice?
E allora lascia questa situazione: ogni volta che aggiorni un controllo,
aggiorna lui automaticamente tutti gli altri!!!
Antonio

 ricalcoli C, ma non tutti gli altri controlli della maschera
--


 ha scritto nel messaggio
news:alnuie$1s36vl$1...@ID-52090.news.dfncis.de...

quindi se ho capito bene e' sufficiente che  anziche' lasciare  tutti i
calcoli attualmente su evento exit ,per ogni campo calcolato, li sposti
sull'after update?
grazie.

 ha scritto nel messaggio
news:alni9t$s29$1...@lacerta.tiscalinet.it...

la provo al volo ciao grazie.

 ha scritto nel messaggio
news:alni9t$s29$1...@lacerta.tiscalinet.it...

in sostanza devo costruire una funzione che elenchera' al suo interno tutte
le formule?
e poi sara' sufficiente inserire il richiamo sulla riga  dopo aggiornamento
della maschera. E' corretto?
grazie.

     Piano, bello. Mica detto.
In effetti l'help dice diversamente però a me l'ha sempre fatto
automaticamente...
Antonio

 ha scritto nel messaggio
news:yFYf9.4597$qE6....@tornado.fastwebnet.it...

Esatto, tieni presente che puoi accodare più funzioni sulla riga dopo
aggiornamento es.  =Ricalcolo1() & Ricalcolo2() & Ricalcolo3() ... ecc
Ciao Giorgio

 ha scritto nel messaggio
news:alprdu$vi1$1...@lacerta.tiscalinet.it...

grazie ora e' tutto chiaro...spero.
ti faro' sapere.