![]() |
||
![]() |
Zahlen zweistellig runden mit AccessMit den Rechenergebnissen von Access bin ich nicht immer einverstanden. Es gelingt mir nur, mit Funktionen wie ZInteger WΣhrungsbetrΣge auf zwei Kommastellen korrekt zu runden. Ohne diese Funktion errechnet Access einen Pfennig zuviel oder zuwenig. Welche M÷glichkeiten habe ich, Ergebnisse korrekt zu runden? Wenn Sie ein Feld mit dem Datentyp WΣhrung verwenden, berⁿcksichtigt Access vier statt der im kaufmΣnnischen Bereich ⁿblichen zwei Nachkommastellen. Das kann je nach Ergebnis zu den unerwⁿnschten Rundungsfehlern fⁿhren. Wenn Sie die BetrΣge 10,204 und 50,304 Mark addieren, stehen auf der Rechnung die zweistelligen BetrΣge 10,20 und 50,30 Mark, weil Access in beiden FΣllen abrundet. Trotzdem rechnet Access als Ergebnis 60,51 Mark aus, weil es die tatsΣchlich Summe von 60,508 Mark aufrundet.Um die Genauigkeit wΣhrend des gesamten Rechenprozesses auf zwei Nachkommastellen zu reduzieren, nutzen Sie am besten Formeln, die unerwⁿnschte Nachkommastellen abschneiden. Au▀erdem k÷nnen Sie mit Eingabeformaten zusΣtzlich sicherstellen, da▀ der Anwender immer nur zweistellige BetrΣge eingibt.Die Eingabeformate definieren Sie im Entwurfsmodus der betreffenden Tabelle. Ein Feld mit dem Eingabeformat #.##0,00 beispielsweise erlaubt nur BetrΣge unter 10.000 Mark mit genau zwei Nachkommastellen. Die Rautenzeichen sind dabei Platzhalter fⁿr Ziffern sowie Plus- und Minuszeichen. Der Punkt dient als Tausendertrennzeichen. Die Nullen sind Platzhalter fⁿr Ziffern, die Sie auf jeden Fall eingeben mⁿssen. Die beiden Nullen nach dem Komma erzwingen also die Eingabe von genau zwei Nachkommastellen. Andernfalls weist Access die Eingabe als unkorrekt zurⁿck.Trotzdem kommt es vor, da▀ eine Access-Funktion vier oder mehr Nachkommastellen berechnet. In diesem Fall hilft eine einfache mathematische Formel weiter:Wert = Int (Wert * 100) / 100Diese Formel schneidet die dritte und vierte Nachkommastelle der Variablen Wert ab. Die Variable enthΣlt zum Beispiel den Wert 651,825. Die Multiplikation mit 100 verschiebt das Komma um zwei Stellen nach rechts, so da▀ Access den Wert 65.182,5 errechnet. Danach schneidet die INT()-Funktion alle Nachkommastellen ab. Das Ergebnis 65.182 wird wieder durch 100 geteilt, so da▀ ein zweistelliger Betrag von 651,82 Mark herauskommt. So ist sichergestellt, da▀ ein Rechnungsbetrag wirklich der Summe aller Rechnungspositionen entspricht. Wenn Sie statt der 100 den Wert 10 in die Formel einsetzen, nutzt Access nur die erste Nachkommastelle. |
![]() |