![]() |
||
![]() |
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. |
![]() |