Accessで四捨五入する(追記)

以前書いた「Accessで四捨五入する」でAccess2000で66.55を小数点以下1桁で四捨五入した時に66.5になってしまう現象を”よしのすけ”さんに教えていただきました。
私のWindowsXP+Access2003では再現しませんでしたが、”よしのすけ”さんのWindowsXP+Access2000では四捨五入が上手く行かないそうです。
“よしのすけ”さんがいろいろと試してみたところ、下記のようにすると上手く行くと教えていただきました。Access2000から2003になっていろいろな部分で明示的に指定しないと上手く行かなくなったり逆だったりしています。おそらくこれもそのひとつなんだと思います。
Access2003でも正常に機能することが確認できましたので、こう書くほうがAccessのバージョンに左右されないのだと思います。
“よしのすけ”さん、ありがとうございます。

Public Function roundy(x As Double, s As Integer) As Double
Dim t As Integer
Dim u As Double
t = 10 ^ Abs(s)
If s > 0 Then
u = x * t + 0.5
roundy = Int(u) / t
Else
u = x / t + 0.5
roundy = Int(u) * t
End If
End Function