ACCESS クエリで演算フィールドを作成する方法
ACCESSではクエリを多用します。
一般的にはレコードの抽出や集計を行うことが多いクエリですが、クエリ上で計算して新しいフィールドを作成することができます。
それが演算フィールドです。
今回は、ACCESSのクエリで演算フィールドを作成する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。
演算フィールドとは
演算フィールドとは、テーブルにある実際のフィールドではなく、クエリ上に計算結果によって作成された仮想的なフィールドのことです。
例えば以下の例はあるクエリのデザインビューです。
TRN_受注サンプルというテーブルを元にクエリを作成しています。
このテーブルには数量と単価はありますが、数量と単価から導かれる受注金額はありません。
こうした場合に、クエリ上で数量と単価をかけて受注金額を計算し、新たなフィールドとして表示することが可能です。
データシートビューでレコードを表示してみましょう。
一番右に受注金額フィールドが表示されています。
こうしてみると、元からテーブルにあるフィールドと見分けがつきませんね。
演算フィールドの作成方法
演算フィールドの作成方法は簡単です。
まずはクエリで何も記入されていない空の列を選択します。
その「フィールド」行に以下の構文で記述します。
フィールド名:計算式
フィールド名と計算式を「:」コロンで区切って記載する形です。
例えば先ほどの例では、
受注金額: [数量]*[単価]
と記載することで、受注金額という新たな演算フィールドを作成しています。
クエリの中で他のフィールドを指定する際は[]でフィールド名を囲うことを忘れないようにしてください。
上記の例は単純な掛け算ですが、もちろんIIf関数による条件分岐や、Dsum関数などの集計関数を利用することも可能です。
演算フィールドを使うメリット
こうした演算フィールドをなぜ利用するのでしょうか?
例えば上記の例でいえば、TRN_受注サンプルテーブル側に受注金額フィールドを設ければ、わざわざクエリで計算をしなくても良いように見えます。
それは、他のフィールドの値に応じて結果が変わるフィールドは、演算で出力したほうが楽だからです。
上記の例でいえば受注金額は数量と単価の掛け算で求められます。
元となる数量や単価が更新された際は、受注金額を更新しなければいけません。
通常は数量や単価はテーブルに直接ではなく、入力フォームを作成して入力することになると思います。
その場合、テーブルに受注金額を値として保存している設計ですと、フォームで数量や単価が変わるたびに受注金額を書き換える処理をVBAで作成しなければならなくなります。
こうした処理が必要なケースももちろんあるのですが、比較的単純なデータベースで簡単に受注金額を計算したい場合はクエリで演算フィールドを作成する方が手間が少なく済みます。こうした点が演算フィールドを利用するメリットです。
以上、クエリで演算フィールドを作成する方法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。