PR

Accessで作る購買伝票について その8 クエリ作成(演算)

クエリ

今回は、クエリの中で演算による結果を反映する方法を紹介します。

スポンサーリンク

クエリでの演算操作

これまでに購買伝票データベースの画面系イメージを示してきましたが、この内の「小計」に相当する部分をクエリ内で計算し、結果として出力する方法を説明します。

図1 作成する購買伝票の画面系イメージ

まずは、前回までに作成したクエリを開きます。

図2 これまでに作成した選択クエリ

図に示すように、「小計」フィールド以外の各フィールドの設定はできています。
クエリは演算処理として、四則演算はもちろんのこと、様々な関数を用いて、アウトプットを得ることができます。
今回のサンプルでは、「小計」フィールドの出力方法を紹介します。
クエリの下部【フィールド】欄(単価フィールドの右隣)に次のように入力してください。

小計: [購買数量]*[単価]

図3 クエリでの演算式入力

ここで、「小計」は当該クエリ中でのフィールド名を新規に設定しており、すでに使っているフィールド名を設定することはできません。
「:」の左部分が当該フィールド名になります。
次に、「:」の右部分が「小計」を計算するための計算式となります。
今回の場合、T_商品マスタテーブルの「単価」フィールドの値とT_購買伝票内訳テーブルの「購買数量」フィールドを乗じた値を返すことになります。
そして、画面左上の「表示」アイコンをクリックします。
すると、図4のように「小計」フィールドが反映されて、各レコードの値を計算した結果が表示されるようになります。

図4 クエリ演算出力結果

上の場合は、「単価」フィールドと「購買数量」フィールドの積を出力するようにしましたが、その他にも様々な関数を用いて、レコードの内容確認をすることもできますし、ある型のデータを自由に型変換することもできますので簡単にその方法を紹介します。

演算操作の例: IIf関数

■レコードの内容を確認するフィールドの作成
確認する内容は、当該レコードの取引先がA社であるか、否か。
この場合、クエリデザイン画面の【フィールド】欄に新たに

判定: IIf([取引先名称]=”A社”,”○”,”×”)

と入力します。

図5 レコード内容の確認フィールド設定例

ここで、IIf関数を設定していますが、これは次の基本形であらわされます。

IIf([判定条件], [判定条件が正しい場合に出力する値], [判定条件が正しくない場合に出力する値])

となります。
今回の場合、当該レコードの「取引先名称」フィールドの値が「A社」であれば、「○」を出力し、「A社」でなければ「×」を出力するという設定になります。

図6 判定フィールドの出力内容

フィールドの設定後、画面左上の「表示」アイコンをクリックすると、図6に示すように「判定」フィールドが新たに加わり、「取引先名称」フィールドの値をもってその結果が出力されています。
このようにして、IIf関数で分岐条件を設定することで、Access内でデータを判定して、それに適した解を出力できるようになります。分岐条件の設定を等号を用いて紹介しましたが、その他にも不等号等も使えるため、数値や日付の範囲を条件指定することもできます。

演算操作の例: format関数

■西暦から和暦への変換
「発注日」フィールドは西暦表示となっていますが、これを和暦表示するためには、

発注日和暦: Format([発注日], ‘ggge\年m\月d\日’)

と入力します。

図7 西暦から和暦表示するための設定例

ここで、format関数を設定していますが、これは次の基本形であらわされます。

format([変換対象フィールド], ‘変換型式’)

となります。
今回の場合、「発注日」フィールドの値を「和暦○年○月○日」で表示するという指定をしており、「ggge」は和暦年、「m」は月、「d」は日を示しています。
また、各文字(年、月、日)の前にある「\」は、その後ろにある文字を文字列として表記するという役割があります。

図8 西暦表示から和暦表示への変換結果

まとめ

Accessではテーブルに格納されたデータをクエリを介して必要な情報に加工し、出力することができます。
また、クエリを作成しておけば、 テーブルに都度データ入力がされても、それに即して自動的に結果を出力してくれるため、作業効率も飛躍的に向上します。
(今回の場合、新たに購買レコードが追加されても、クエリを開くことでその都度全レコードに対して小計の計算やIIf判定を行い結果を反映してくれます。Excelではレコード追加の都度、それに即した計算式の作成が必要なため、Accessの方が業務効率面で優れています。)

演算に際しては、単純な四則演算もあれば、IIf式等のAccessに元々備わっている関数もあります。また、自身で作成した関数をクエリに適用することも可能です。
このため、クエリの可能性は無限大であり、適用する業務フローを明確にすることで、これまで手入力していたものを、簡単に出力できるようになるかもしれません。
そういった意味でも、Accessを使いこなすことができれば、業務効率を改善でき、その先のワークライフバランス確立を実現することが可能になるわけです。

今回で、基本的なクエリの作成方法の紹介は一通り済みました。
次回からはデータの入力画面であるフォームの作成について紹介していきます。

スポンサーリンク

Kindle Unlimitedにサインアップして無料体験に登録する
Kindle Unlimitedに登録すると、人気のシリーズ、ベストセラー、名作などに好きなだけアクセスして、シームレスなデジタル読書体験を実現できます。

コメント

タイトルとURLをコピーしました