Newsgroup: it.comp.appl.access
Titolo: divisione fra due campi

Ciao a tutti, sono Claudio e vi scrivo per il seguente problema...
ho la necessità di calcolare due campi di una maschera e il risultato deve
apparire in un altro terzo campo (e da lì poi inserirsi come dato nella
tabella, come tutti gli altri campi della maschera).
il calcolo da fare è una divisione, "dato del campo A" diviso "dato del
campo B" = "dato nel campo C".
E' il mio primo lavoro in access (uso il 2000) e quindi sono proprio
sprovvisto, anche il linguaggio visual basic proprio non lo conosco.
Vi sarei grato se mi rispondeste in modo dettagliato, ma non tanto
tecnico... capisco che può apparire una richiesta presuntuosa, ma ho i tempi
stretti, è un database per lavoro...
in attesa vi ringrazio anticipatamente...
P.S. ho fatto delle ricerche prima di scrivervi, ma non ho trovato
granché...

 ha scritto nel messaggio
news:ExdGd.86104$C94....@tornado.fastwebnet.it...

Ciao Claudio,
puoi fare una query che diventi l'origine dati della tua form sulla tabella
dove hai la necessità di effettuare il calcolo, così
non hai la necessità di memorizzare il risultato.
comunque se lo vuoi fare sulla maschera con origine dati una tabella
potresti su evento dopo aggiornamento del divisore (cacmpoB) scrivere una
cosa del tipo :
private Sub datocampob_afterupdate()
On Error GoTo errore
 Me.datocampoc = Me.datocampoa / Me.datocampob
ripristina:
Exit Sub
errore:
    Me.risultato = Null  ' tolgo il risultato se presente
    MsgBox ("non dividerai mica per zero ?!")
    Resume ripristina
end sub
in questo modo effettui il calcolo e se per errore il divisore è pari a zero
ti mostra un messaggio.
Spero di averti aiutato, ciao

 ha scritto nel messaggio
news:7TfGd.697186$35.28...@news4.tin.it...

Ti posto anche questa che mi sembra migliore :
nuovo modulo con questa function :
Public Function divisione(ByVal campoa As Double, ByVal campob As Double)
On Error GoTo errore
  Forms!tuamaschera]![campoc] = campoa/ campob
ripristina:
Exit Function
errore:
    Forms![maschera2]![risultato] = Null
    MsgBox ("non dividerai mica per zero ?!")
    Resume ripristina
End Function
poi nella maschera sul campoa e sul campob se evento dopo aggiornamente
:=divisione([campoa];[campob])
ciao

 ciao
Ciao Sandro, ti ringrazio moltissimo per il tuo aiuto! lunedģ provo entrambi
i tuoi suggerimenti...
Sei stato davvero gentile e dettagliato.
A presto!
Claudio

 ha scritto nel messaggio
news:ExdGd.86104$C94....@tornado.fastwebnet.it...

Quello che cerchi non è solo nel sitocomune o nell'NG ma sopratutto
nell'help in linea; devi sono cercare bene.
(invece non trovi nell'help)
Il dividere due dati contenuti in due controlli (casella di testo) te l'ha
spiegato Sandro (me!campo1/me!campo2); il problema fondamentale è che: tutti
i dati, risultanti da un calcolo, non dovrebbero essere memorizzati in
tabella.
Questo perché se cambia una sola della condizione del calcolo tu dovresti
ricalcolarli tutti per memorizzarli; quindi, lascia stare il salvataggio del
totale e inserisci nell'origine controllo della casella di testo non
associata dove vuoi fare apparire il totale, la funzione suggerita da
Sandro...
Ciao.
-- 
Sergio MAZZA