Grazie in anticipo
Dino
Ciao Dino,
la pui usare in più modi:
per arrotondare un numero
a= fctRound(2.33453,2) il ",2" indica il numero di decimali che vuoi,
se non ci metti niente vale 2
a= fctRound(2.333)
oppure per arrondare un calcolo:
a= fctRound(1.11111*2.333,2) con o senza il ",2"
oppure
c=1.11111:d=2.333
a= fctRound(c*d)
Chiaro ?
Ciao
Alberto
fctRound(1.24544,3)
ALberto
Ciao Alberto e grazie per la risposta.Quindi prima (se non erro) creo
un modulo dove imposto la funzione in modo da poterla richiamaree dopo
la posso impostare
così: Es: =fctRound([Prezzo]*[Quantita'];2)
E' corretto????Funziona come una calcolatrice scentifica????
Grazie Dino
Ciao Dino,
metti la definizione della funzione in un modulo globale cosi può
essere utilizzata da in tutti i moduli.
Poi se parliamo di VB fai Es: =fctRound([Prezzo]*[Quantita'],2)
o solo Es: =fctRound([Prezzo]*[Quantita']) se ti vanno bene 2 decimali
se il calcolo lo fai in una casella di testo va bene il ; tra gli
argomenti.
Se non ti trovi la definizione della funzione prelevata dal sito di
Karl, eccola:
Public Function fctRound(varNr As Variant, Optional varPl As Integer =
2) As Double
If Not IsNumeric(varNr) Then Exit Function
fctRound = Fix("" & varNr * (10 ^ varPl) + Sgn(varNr) * 0.5) / (10
^ varPl)
End Function
Ciao
Alberto
Grazie Alby per la risposta.Provo e poi ti faccio sapere.
Dino
Ciao Alby sono riuscito finalmente ad effettuare qualche prova.Allora
come prima cosa dopo aver creato un nuovo modulo
ho richiamato la funzione in una query dov avevo impostato dei
calcoli.
Quando lancio la query mi da Overflow " Errore di runtime 6" pur
eseguendo il calcolo.
Da cosa puo' dipendere????Di seguito ti riporto le espressioni:
totnoncod: IIf([Sconto1]>0;(fctRound([Totalenoncod]*[1° Quantita'])*(1-
[Sconto1]/100));fctRound([Totalenoncod]*[1° Quantita'])) "Questo e' un
campo"
Totalecod: IIf([Sconto1]>0;fctRound(([totcomp]*(1-[Sconto1]/100));
[totcomp])) "altro campo"
Altra particolarita' nel modulo appena creato l'ho chiamato
"Arrotonda" ma se lo insrisco con quel nome mi dice funzione non
definita,devo perforza inserire fctround.
Perche' Scusa la doamnda banale??
Grazie in anticipo
Dino
Ciao sono sempre io.
Ho fatto anche questa prova.In un form ho creato due controlli
calcolati dove ho moltiplicato due valori.
nel primo dove ho inserito la funzione di arrotondamento mi arrotonda
per eccesso,mentre nella seconda dove ho svolto semplicemente il
calcolo e' tutto corretto come una calcolatrice scentifica.Es:
=fctround(234,56*456,89) =107168,12 (risultato errato)
=f234,56*456,89=107168,118 risultato corretto
entrambi i controlli hanno come proprieta' "num generico" e posizione
decimali 2
Dino