DXR165の備忘録

自分用の備忘録です。

Access 四捨五入するには  

四捨五入は小数の端数の処理の仕方の1つで他に切り上げ、切り捨てなどがあります。ところがAccess にはこの四捨五入をする関数がありません。Access のRound 関数は銀行型丸め処理で四捨五入とは違う部分があるそうです。Excel ならワークシート関数ROUNDで簡単に四捨五入できます。Access では標準で四捨五入の処理を用意していないようです。「Access ぐらい使える人は自前関数で処理できるでしょ」という想定なのでしょうか?。しかし、この「たかが四捨五入の処理」ですら、初心者には壁になり、いろいろ調べまくりの試しいので、貴重な時間が蝕まられるのです。なので、「Access って使いにくい」→「普及しない」となるのでしょう。

限定( 正の数で小数点第一位で四捨五入するとき) はありますが簡素な方法は
=Int(変数 + 0.5)
です。

補足
Excel にはワークシート関数とVBA 関数とがあります。当然ワークシート関数はシートのセルの中で使い、一方VBA 関数はプロシージャの中で使います。両者は別物ですが ROUND のように同じ名前のものがあり事態をややこしくしています。

Excel ワークシート関数のROUND は四捨五入できます。
Excel VBA 関数のRound はAccess( VBA)  のRound と同じく銀行型丸めです。

ところが、Excel VBAには便利な工夫があります。ワークシート関数の一部はプロシージャの中でも使えるようになっています。このROUND関数も使えます。使い方は

=Application.WorksheetFunction.Round(変数,桁数)
となります。この場合のROUNDはくどいようですがワークシート関数のROUNDです。


関連記事

category: Access その他

tb: 0   cm: 0

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://dxr165.blog.fc2.com/tb.php/114-05b5806b
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

最新コメント

カウンター(2012/3/10以降)