Hallo,
ich habe eine Aktualisierungsabfrage, in der ein Ergebnis kfm. gerundet werden soll.
Macht sie aber nicht, die Abfrage rechnet, ohne zu runden.....
Was kann ich tun?, DB im Anhang.
Vielen Dank
Andreas
Hallo,
"Int" schneidet nur die Nachkommastellen ab.
Kaufmännisches Runden geht mit Round mit Angabe der gewünschten Zahl Nachkommastellen.
https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/round-function
Gruß
Christian
Hallo!
Kurze Anmerkung:
Ich behaupte einmal: bei diesem Artikel ist "bankers rounding" zu "kaumännisches Runden" geworden.
VBA.Round rundet symmetrisch nicht kaufmännisch.
Gruß
Josef
Zitat von: Bitsqueezer am März 15, 2025, 17:42:20Kaufmännisches Runden geht mit Round mit Angabe der gewünschten Zahl Nachkommastellen.
https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/round-function
Achtung: das ist ein Übersetzungsfehler!
"Bankers Rounding" entspricht nicht dem kaufmännischen Runden nach DIN.
Hier eine kleine Ersatzfunktion:
Function fctRound(varNr As Variant, Optional varPl As Integer = 2) As Double
'by Konrad Marfurt + ("" by) Luke Chung + Karl Donaubauer
'raus hier bei nicht-nummerischem Argument
If Not IsNumeric(varNr) Then Exit Function
fctRound = Fix("" & varNr * (10 ^ varPl) + Sgn(varNr) * 0.5) / (10 ^ varPl)
End Function
Man beachte jedoch auch den Unterschied zwischen mathematischem und dem kaufmännischem Runden:
https://www.buchhaltung-einfach-sicher.de/bwl/kaufmaennisches-runden
Gruß Knobbi38
...vielen Dank