わからないじゃなくて知らないだけ。クエリなんて簡単だ!

さて、今回のテーマは「わからないじゃなくて知らないだけ。クエリなんて簡単だ!」です。

前回は「ExcelデータとAccessをリンクする」をお届けしました。今まで扱っていたExcelデータを生かし、データ処理はAccessで行い、その結果をExcelでエクスポートするという「適材適所戦略」のために、最初に「ExcelデータをAccessへリンク」させました。

今回は、その流れの次である「データ処理」を行います。それでは、早速始めていきましょう!

スポンサーリンク

Accessのデータ処理は「クエリ」を使う

Excelでデータ処理を行う場合は「関数」や「VBA」を使用します。Accessでは「クエリ」を使用します。「テーブルに対しての操作を行う役割」をクエリは担っています。クエリには、Excelのフィルタ機能や並べ替え機能と同じような機能がありますので、扱い方さえ知ってしまえばそこまで難しいものではありません。クエリについての詳細は、今回のExcel⇒Access⇒Excelの処理全体の説明終了後に、ひとつひとつ解説していきます。

ここでは「クエリとは、テーブルの操作を行うAccessの機能」とだけ覚えておきましょう。

クエリ作成:使用するテーブルを決定する

Excelの関数は、SUMから始まり、VLOOKUPなどがありますよね。それぞれ「役割」があり、それを実行できます。Accessのクエリでは代表的なモノとして「選択(抽出)/削除/作成/追加/更新」があります。今回は「選択(抽出)」を使います。

それでは、前回Excelデータをリンクさせた「Sample_Database.accdb」にクエリを作成していきます。

1,「Sample_Database.accdb」を起動します。

2,メニューより[作成]タブをクリックします。

3,[クエリデザイン]をクリックします。

4,以下のような画面にならない方は「6」へ飛んでください。※これはバージョンの違いです。
右側に「テーブルの追加」が表示されていると思います。これは「どのテーブルを操作しますか?」ということです。今回は、リンクしたテーブルの「Sample_Sales_Data」を使用します。[リンク]タブをクリックし「Sample_Sales_Data」をダブルクリックしてください。「Sample_Sales_Data」を選択後、下部にある[選択したテーブルを追加]をクリックでも同じです。

5,クエリに「Sample_Sales_Data」が追加されました。他にテーブルはありませんので「テーブルの追加」は×で閉じておきましょう。

続いて「8」へ飛んでください。

6,「テーブルの表示」のダイアログボックスが表示されます。これは「どのテーブルを操作しますか?」ということです。[テーブル]タブが選択されていることを確認し「Sample_Sales_Data」をダブルクリックしてください。「Sample_Sales_Data」を選択後、下部にある[追加]をクリックでも同じです。

7,処理に使用するためのテーブルが追加されました。[テーブルの表示]のダイアログボックスは閉じておきましょう。

8,以下の画面になりました。表示されたテーブルが少し小さいので、ウィンドウを広げるのと同じように⇔をドラッグして少し大きくしましょう。

9,完了後の画面です。

クエリ作成:使用する項目を決定する。

続いて、Excelへエクスポートする際に必要な「項目」を決定します。

今回の目的は「指定された日の売上データを抽出する処理」です。Excelで考えると「オートフィルタ」機能での日付指定を思い浮かべると思いますが、Excelでは「不要項目は削除できない」ですよね?しかし、Accessのクエリを使用すれば「必要項目だけ」を抽出することが出来ます。必要項目は以下にします。

・注文受付日
・注文ID
・商品名
・個数
・単価
・売上金額

の6項目です。それでは、操作をしていきましょう。

1,クエリ内にあるテーブルの「注文受付日」を選択し、ダブルクリックをしてください。

2,以下の画面のようになりましたでしょうか。

画面下部に「注文受付日」が追加されたかと思います。必要項目を画面下部のフィールドへ追加していくという方法です。同じように「注文ID」「商品名」「個数」「単価」「売上金額」もダブルクリックで追加をしてください。

操作後、以下のようになっていれば問題ありません。

※フィールド追加への順番がズレてしまった場合などは、↓でフィールドを選択し、⇒で移動させましょう。また、不要な項目が入った場合は、同じように選択し「Delete」で削除出来ます。

クエリ作成:抽出条件を追加する

続いて「抽出条件を追加」します。繰り返しですが、今回の目的は「指定された日の売上データを抽出する処理」です。先ほど「注文受付日」を必要項目として選択しましたので、「注文受付日が2019/12/01」という抽出条件にします。

1,フィールド「注文受付日」の[抽出条件]の行に『2019/12/01』と入力しEnterで確定してください。そうすると「#2019/12/01#」のように「#」が追加されたと思います。クエリの抽出条件で日付を指定する時は「#で日付が囲まれる」ので覚えておいてください。

クエリ作成:クエリを実行する

それでは、必要項目も決定し、抽出条件も設定しましたので、クエリを実行します。Excelのオートフィルタも日付などを設定しただけでは実行されませんよね?クエリも同じように「実行」させる必要があります。

1,画面上部の[実行]をクリックしてください。

2,以下の画面のように「2019/12/01」の売上データが抽出されました。

このようにして、必要なデータの抽出などを行えるのが「クエリ」です。

それでは、元の画面に戻します。

3,三角定規のマークがあります。これは「デザインビュー」というクエリなどを設計する画面に移行する際に表示されます。これをクリックしてください。

先ほどのクエリ設計の画面に戻りました。先ほどの抽出条件の日付を変えて、何日分か実行してみてください。このようにして修正することが可能です。

クエリ作成:クエリを保存する。

このクエリは保存することが出来ます。「保存する」ということは、次回起動時には「同じ結果が表示される」ということです。同じ処理条件であれば、わざわざ変更する必要はありません。

それでは、クエリ保存します。

1,×ボタンをクリックしてください。

2,[はい]をクリックしてください。

3,『001_指定日付売上データ』という名前にして[OK]をクリックしてください。

以下の画面のように、Accessの左側のウィンドウに「001_指定日付売上データ」が保存されました。

このクエリをダブルクリックしてみてください。先ほどの条件で実行結果が表示されたと思います。このようにして、クエリを何度でも再利用出来るのはAccessの利点です。確認できましたら、クエリは閉じておいてください。

クエリの作成手順はこれだけです。これに様々な条件やテクニックなどを追加していくだけです。クエリの作成方法は難しくないと思います。これから、どんどん作っていきましょう!!

今回のおさらい

Accessでのデータ処理の中枢「クエリ」を実行してみました。クエリを制することが、Accessでのデータ処理を制すると言っても過言ではありません。前述のとおり、今回使用した「選択(抽出)」だけでなく「作成/追加/更新/削除」などの機能もあります。詳細については、今後解説していきますので、まずはトランキーロ焦らずに、目の前のことに集中していきましょう。

次回は「データ処理結果をExcelへエクスポートする」をお届けします。
君は生き残ることが出来るか。