数値を指定位置で四捨五入・5の倍数に切り上げする方法:SampleFile106Accessには四捨五入を行う組み込み関数が用意されていませんので、Function関数を用いて独自に作成するしか手がありません。今回、四捨五入を行う関数と、5の倍数に切り上げを行う関数をご紹介します。次回の「数値を指定位置で切り捨て・切り上げする方法」も併せてご覧ください。下記のようなサンプルテーブルを作成します。ID数値11.002120.000013666.01854213054500.32180.5679955231010.651110.15120.56131514692.01231545.012160.001170.0012318999.01190.0563200.953210220.01四捨五入を行う独自関数Functionプロシージャを作成します。引数の「lng桁数」に注意して下さい。一の位は-1、十の位は-2、百の位は-3、...という具合です。小数点第1位は0、第2位は1、第3位は2、...という具合です。考え方は、10にAbs関数で得た桁数の絶対値を桁数乗掛け合わせ(^)、引数のプラス、マイナスによって、条件節を利用し算出しています。四捨五入する桁の数値を、必ず小数点第一位にあるようにして処理を行っています。0.555555をプラスし、Int関数を用いて小数点以下を切り捨てます。この0.555555の部分は小数点以下にどの程度の"精度"を求めるかによって変わります。0.5でも問題ありません。このような考え方の理解は難しいですが、慣れ親しんで下さい。用意されていますが、これにも上記の問題が発生しますので注意が必要です。13なら15、99なら100、224なら225と云う具合に5の倍数に丸めます。下記にサンプルプロシージャを記述します。難しいことは無く、クエリ等に対象数値と何桁の位を切り上げるのかを指定します。整数をdbl対象としています。Int関数で整数に置き換えています。小数点以下は、切り捨てています。考え方は、Int関数で対象数値を全て整数に置き換えます。対象(数値)からRight関数を使ってその桁にある数値(lng数値)を引き出します。次にSelectCaseステートメントで3段階に区分し、処理していきます。このプロシージャは整数を対象にしていますので、小数点を含む数値の場合は正しく計算されません。下記のようにクエリをデザインビューで開き、プロシージャを記述します。