12/21/2020

Access。Excelだと余りを算出するのにMOD関数をつかうけど、Accessではどうやるの?【division】

Access。Excelだと余りを算出するのにMOD関数をつかうけど、Accessではどうやるの?

<算術演算子:Mod>

在庫管理などダースで管理している場合、ダースからはみ出したもの、余りの在庫を算出するには、Excelだと、MOD関数をつかうことで、何本余りが出るのか、比較的簡単に算出することができますが、Accessには、MOD関数はありません。


では、どのようにしたら、同じようなことができるのでしょうか?


次のテーブルを用意しました。


在庫数をダースで管理しているとした場合、何ダースと余りがでるのか算出するクエリを作っていきます。


作成タブのクエリデザインを使ってクエリをつくります。

クエリデザインをクリックしたら、「T在庫管理」テーブルを選択します。


最初の演算フィールドは、ダースから算出します。


ダース: [在庫数]/12

という演算フィールドを作るわけですが、すべて入力すると直接入力の「:(コロン)」を全角で入力してしまったりするので、


在庫数/12

と入力すると、演算フィールドは、

式1: [在庫数]/12

と表示が変わりますので、式1を演算フィールド名に変更すると楽だと思われます。

特に、小さい字が見えにくい場合は、この方法をおススメします。


しかし、実行してみると、希望のように算出出来ていません。


割り切れなかった場合、整数になっていないわけですね。

そこで、整数化するためにInt関数をつかった演算フィールドに変更する必要があります。


ダース: Int([在庫数]/12)

と修正しましたので、実行して確認してみましょう。


何ダースなのかは、算出することができましたので、次は、余り(残り)を算出していきます。


Excelだったら、MOD関数をつかうことで、余りを算出することも出来ますが、Accessにはないので、

余り:[在庫数]-[ダース]*12

という演算フィールドでも、余りを算出するという方法もあります。


ただ、Accessには、MOD関数はないものの、算術演算子として、「Mod」というのが用意されています。


四則演算の、「+」「-」と同じようにつかうことができます。

それでは、余りを算出する演算フィールドを作っていきます。

余り: [在庫数] Mod 12

と演算フィールドを作りました。


それでは、実行して、データシートビューで確認してみましょう。


ご覧のように、商であるダースとその余りも算出することができました。


Accessには、余りを算出するためのModという算術演算子が用意されていることがわかりました。


逆に、Excelには、Modというような余りを算出する演算子は用意されておりませんので、MOD関数をつかって算出することになります。