• 締切済み

アクセスでの四捨五入切り捨て

アクセスで計算した式の一番右の数字を四捨五入しないで切り捨てるにはどうすればよいのでしょうか?? ちなみに計算式はPRODUCT関数を使っています。 初歩的な事ですが教えてください。

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

VBには四捨五入はないのでAccessのモジュールにカスタム関数を作れば使用できます。 Option Compare Database Option Explicit '四捨五入の記述(桁数指定) Public Function Round(X As Currency, s As Integer) As Currency Dim t As Integer t = 10 ^ Abs(s) If s > 0 Then Round = Int(X * t + 0.5) / t Else Round = Int(X / t + 0.5) * t End If End Function '切り捨ての記述(桁数指定) Public Function RoundDown(X As Currency, s As Integer) As Currency Dim t As Integer t = 10 ^ Abs(s) If s > 0 Then RoundDown = Int(X * t) / t Else RoundDown = Int(X / t) * t End If End Function このモジュールをコンパイルすれば=Round(数値,桁数)、=RoundDown((数値,桁数) で通常に使えます。 数値はフィールドをネストした演算式でもOKです。

chizup
質問者

お礼

ありがとうございました。さすがですねぇ!!早速コピーして試してみたいと思います!!

  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.1

単純ですいません int([数値]/10)*10 じゃだめですか?

chizup
質問者

お礼

ありがとうございました。早速試してみたいと思います!!

関連するQ&A