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関数をつかって算出することになります。