1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:

Für 32Bit und 64Bit Office Versionen

Wie kann ich unter Access beliebig Runden? 

Function Round_New(Wert As Variant, Rundungszahl As Double) As Double
Dim Res As Variant
    If IsNull(Wert) Then Exit Function
        
    Res = (Wert / Rundungszahl)
    Round_New = CLng(Res + IIf(Wert > 0, 0.000000000001, _
                -0.000000000001)) * Rundungszahl
End Function

Aufruf:

Dim x As Double
x = Round_New(1317.4258, 0.05) 

Ergebnis: x = 1317,45

Dim x As Double
x = Round_New(1317.4258, 0.1)


Ergebnis: x = 1317,4

Dim x As Double
x = Round_New(1317.4258, 0.5)


Ergebnis: x = 1317,5

Dim x As Double
x = Round_New(1317.4258, 1)


Ergebnis: x = 1317

Dim x As Double
x = Round_New(1317.4258, 5)


Ergebnis: x = 1315

Dim x As Double
x = Round_New(1317.4258, 10)


Ergebnis: x = 1320

Dim x As Double
x = Round_New(1317.4258, 100)


Ergebnis: x = 1300

 

 

Ähnliche Artikel