السلام عليك
دالة Round في الأكسس بها بعض المشكلات لفقدها جزء من دقة الأرقام المطلوب تقريبها مما يؤثر على نتائج تقريبها وقد عملت الدالة التالية لتحل محل الدالة الأصل وهي تعمل تماما كما الأصل ، آمل أن ينتفع بها .
Function RoundUp(ByVal Expression, _
Optional ByVal NumDecimalPlaces = 0) As Double
Dim Rnd
On Error Resume Next
If NumDecimalPlaces < 0 Then NumDecimalPlaces = 0
If NumDecimalPlaces > 22 Then NumDecimalPlaces = 22
Rnd = 0
If Expression <> 0 Then
Rnd = Val("0." & String(NumDecimalPlaces + 1, "0") & "1")
End If
RoundUp = Round(Expression + IIf(Expression > 0, Rnd, -Rnd), _
NumDecimalPlaces)
End Function
تحياتي .