Newsgroup: it.comp.appl.access
Titolo: Controllo Calcolato arrotonda per Eccesso

2,33*6 = 14,00 anziché 13,98. Perché?
 
Ctl A = 2,33 (Formato Euro ; Decimali 2) 
Ctl B = 6    (Formato Standard; Decimali Automatici)
Ctl C = 14,00 (Formato Euro; Decimali 2)
 
 
????

Formato EURO non è identificativo di NULLA se non della VISUALIZZAZIONE, ed il Controllo non ha colpa, devi verificare il CAMPO ASSOCIATO nella tabella di origine.
 
Il Campo può essere di tipo VALUTA o altro... se non è VALUTA, altro è possibile.
 
Ricordati che la definizione del FORMATO non ha influenza sul contenuto ma solo sul VISUALIZZATO.
 
Prima verifica il FieldType in Tabella, probabilmente non è corretto quello di [A] che se fosse Double o SIngle ti espone agli errori di arrotindamento dei dati FloatingPoint.
 
Se tutto è corretto, fai una verifica, metti come origine controllo del Controllo [C]:
=Ccur([A]) * [B])
 
poi 
 
=CCur([A]*[B])
 
e vedi la differenza...
 
Saluti
@Alex


Ciao Alex grazie per la risposta.
Ho fatto ciò che mi hai consigliato.
In tabella i campi valuta erano tutti in Euro (Decimali 2)
Tranne qualcuno in Automatico che ho convertito in (Decimali 2)
La funzione Ccur non restituisce alcuna differenza.
Il controllo restituisce comunque 14,00
Se ci Clicco su però visualizzo 13,9998

 Se ci Clicco su però visualizzo 13,9998
 
Cosa non ti è chiaro del fatto che l'EURO è solo una Formattazione VISUALE...?
Il TIPO di campo è Valuta...?
 
@Alex


Non è chiaro il fatto che ACCESS, nella versione del 97 non aveva  ovviamente il Formato EURO. Ha inserito la voce Euro tra i parametri del formato solo dal 2003 circa.
Se Access, in TABELLA mi mette oltre la VALUTA, la possibilità di specificare il formato EURO, (nel 2001 non mi dava questa possibilità) io, che sono un imbecille, penso che sia un formato e non più solo una visualizzazione.

 Se Access, in TABELLA mi mette oltre la VALUTA, la possibilità di specificare il formato EURO, (nel 2001 non mi dava questa possibilità) io, che sono un imbecille, penso che sia un formato e non più solo una visualizzazione.
 
 
Per farti capire... 
Un campo lo Definisci come:
TIPO DATI=VALUTA questo FieldType corrisponde ad un CURRENCY ed ha una alta precisione senza arrotondamento in virgola mobile
 
Al campo poi puoi definire il 
FORMATO=Valuta(oppure Euro come nel tuo caso)
 
In questo caso viene applicata una Formattazione al TESTO VISUALIZZATO e non al contenuto del Campo.
 
Se fai una prova digitando in Tabella un NUMERO con 6 Decimali... ti accorgerai che visualizzi SOLO 2 DECIMALI, ma nella realtà i decimali sono esattamente quelli che hai inserito... 6 e viene fatto l'ARROTONDAMENTO commerciale solo alla visualizzazione, ma se fai dei CALCOLI ti accorgerai che mantieni la risoluzione del NUMERO senza arrotondamenti in virgola Mobile.
 
Esempio:
FORMAT(1.236566,"Currency")
1,24 €
 
Quindi deve esserti CHIARO che quello che VEDI è frutto dell'applicazione di un FORMATO TESTO APPLICATO ad un NUMERO SOLO ai fini VISUALIZZAZIONE.
 
Se non ti è chiaro o non comprendi, credo faresti prima a fare un atto di Fede... perchè è così.
 
@Alex
 


Tutto questo mi era in qualche modo chiaro
(in passato ho avuto a che fare con i decimali delle tariffe degli operatori mobili quindi con cifre tipo 0,003325 centesimi al secondo) 
quello che non capivo era : perché una cifra come 13,98 (e non 13,99999) venisse arrotondata a 14,00
Una cifra come 13,98 VALUTA o EURO... è 13,98!
Ma a volte Access impazzisce...
Oggi infatti mi visualizza 13,98