10/29/2018

Access。意外と知らない基本操作。フィールド結合と商と余りを算出してみよう【Field combination】

Access。意外と知らない基本操作。フィールド結合と商と余りを算出してみよう

<フィールド結合・レコード一括全削除>

Accessで簡単な操作なんだけど、
意外と知られていないような基本操作というのが結構あります。

演算フィールドを作る時には、四則演算の記号を使いますが、
それ以外にも知っておくと意外と便利なものがあります。

例えば、次のようなテーブルがあるとします。

顧客名フィールドは、氏名と名前が合体していますが、
振り仮名は、シメイというフィールドとナマエという
フィールドにわかれていますね。

この2つのフィールドを結合したい、
つまり、フルネームの振り仮名のフィールドを作りたい場合に、
どのようにしたらいいのでしょうか?

【結合は”&”】

Excelでもお馴染みですが、
「&」を四則演算のように使ってあげると文字と文字を結合することが
Accessでもできるわけですね。

ではクエリを作ってみましょう。
作成タブのクエリにある、クエリデザインを使っていきます。

フィールド結合するフィールドを作成します。

フリガナ: [シメイ] & " " & [ナマエ]
というフィールドを用意しました。それでは実行してみましょう。

このように、フィールドを結合して、
フルネームの振り仮名を作ることができましたね。

今回は、シメイとナマエのフィールドの間に半角スペースをいれて、
読みやすくしようと考えましたので、
このような演算フィールドとなっています。

このような方法はExcelと同じですね。

【割り算の”商”と”余り”】

四則演算はお馴染みですし、
2乗や3乗などの「べき乗」は”^(キャレット)”を
演算フィールドで使えば簡単に算出することができます。

さて、例えば、注文した数が、ひと箱の入数はダースとしたら、
何箱と何個で入荷するのか?
というような場合はどうしたらいいのでしょうか?

余りは、Excelと同様にMOD関数を使うことで算出できるのですが、
商を算出する場合はどうしたらいいのでしょうか?

Excelでも、ここでよく、
INT関数やROUNDDOWN関数を使ってと考えるかもしれませんが、
Excelにも商を算出する関数があります。
『QUOTIENT関数』ですね。ちょっとマイナーな関数ですが、
存在しています。

ところがAccessでは、関数を使いません。
そして、MOD関数も関数ではなくて、
四則演算と同じように使って演算フィールドを作ります。

このようなテーブルがあります。
この注文数が、何箱と何個で入荷するのかを算出するクエリを作っていきます。

なお、ひと箱はダース(12個)とします。

何箱は、ダース: [注文数]\12
という演算フィールドを作っています。

なんと、+とか*と同じように\を使うことで
”商”をAccessでは算出することができるのです。

当然Excelでは、このような計算式を作ることはできません。

そして、余りもMOD関数を使うのではなくて、
余り: [注文数] Mod 12
と、Modを演算記号のように使うことができます。

では、実行して確認してみましょう。

きちんと算出することができました。

Accessは、Excelと少し異なることがあって、
それを知っていると意外と簡単・便利になることがありますので、
色々試してみると面白いかもしれませんね。