ACCESS クエリで演算フィールドを作成する方法

クエリで演算フィールドを作成する方法

ACCESSではクエリを多用します。

一般的にはレコードの抽出や集計を行うことが多いクエリですが、クエリ上で計算して新しいフィールドを作成することができます。
それが演算フィールドです。

今回は、ACCESSのクエリで演算フィールドを作成する方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。

演算フィールドとは

演算フィールドとは、テーブルにある実際のフィールドではなく、クエリ上に計算結果によって作成された仮想的なフィールドのことです。

例えば以下の例はあるクエリのデザインビューです。
TRN_受注サンプルというテーブルを元にクエリを作成しています。

このテーブルには数量と単価はありますが、数量と単価から導かれる受注金額はありません。
こうした場合に、クエリ上で数量と単価をかけて受注金額を計算し、新たなフィールドとして表示することが可能です。

データシートビューでレコードを表示してみましょう。

一番右に受注金額フィールドが表示されています。
こうしてみると、元からテーブルにあるフィールドと見分けがつきませんね。

演算フィールドの作成方法

演算フィールドの作成方法は簡単です。
まずはクエリで何も記入されていない空の列を選択します。

その「フィールド」行に以下の構文で記述します。

フィールド名と計算式を「:」コロンで区切って記載する形です。
例えば先ほどの例では、

と記載することで、受注金額という新たな演算フィールドを作成しています。
クエリの中で他のフィールドを指定する際は[]でフィールド名を囲うことを忘れないようにしてください。

上記の例は単純な掛け算ですが、もちろんIIf関数による条件分岐や、Dsum関数などの集計関数を利用することも可能です。

演算フィールドを使うメリット

こうした演算フィールドをなぜ利用するのでしょうか?
例えば上記の例でいえば、TRN_受注サンプルテーブル側に受注金額フィールドを設ければ、わざわざクエリで計算をしなくても良いように見えます。

それは、他のフィールドの値に応じて結果が変わるフィールドは、演算で出力したほうが楽だからです。

上記の例でいえば受注金額は数量と単価の掛け算で求められます。
元となる数量や単価が更新された際は、受注金額を更新しなければいけません。

通常は数量や単価はテーブルに直接ではなく、入力フォームを作成して入力することになると思います。
その場合、テーブルに受注金額を値として保存している設計ですと、フォームで数量や単価が変わるたびに受注金額を書き換える処理をVBAで作成しなければならなくなります。

こうした処理が必要なケースももちろんあるのですが、比較的単純なデータベースで簡単に受注金額を計算したい場合はクエリで演算フィールドを作成する方が手間が少なく済みます。こうした点が演算フィールドを利用するメリットです。

以上、クエリで演算フィールドを作成する方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。