Access入門(26)クエリ活用例~DM発送先の抽出~

今回は、クエリの活用例について説明をします。
本稿では、以下の内容について解説を行っております。
1)まずはテーブルを作成する
2)テーブルにてフィルター機能を利用する
3)クエリの設計情報を確認する
4)クエリを作成する

1)まずはテーブルを作成する
これまでのクエリの説明で、文字型、数値型および日付時刻型を対象にした検索方法や、それらの複合的な条件での検索方法について説明をしました。クエリというのは、若干、データベース的な要素が含まれているので、実際にクエリをどのように使用すればよいかという活用例が思い浮かばないかもしれません。そこで、今回はクエリの活用例について説明をします。今回は、顧客管理テーブルのDM項目にチェックが入っている人だけを抽出する例について説明をします。

下図の通り、まずは顧客管理テーブルを作成します。ちなみにAccessを活用する際には、まずテーブルから作成します。Excelを利用する際にも下図のような2次元の表を作成して利用するかと思います。

Accessを利用する際には、最初から業務システムを完璧に作成したいと思うかもしれませんが、日常の業務を行いながらシステムを作成することはそう簡単なことではありません。そこで、上記のようなテーブルを作成して、運用するだけでも随分と役立つかと思います。Excelだと入力が自由すぎて、表が崩れたりする心配がありますが、Accessにはその心配がありません。また、複数人数で同時アクセスして運用できるのもメリットです。

2)テーブルにてフィルター機能を利用する
クエリを使用しなくてもテーブルのフィルター機能を利用すれば、データの抽出は可能です。下図の通り、DM項目の下矢印ボタンをクリックするとメニューが表示されます。DM項目にチェックが入っているデータのみを抽出したい場合には、メニューから「Yes」のみにチェックが入っている状態にして、「OK」ボタンを押すと該当のデータが抽出されます。

フィルターを実行すると、下図のようになります。DM項目の右側の下矢印部分にマークが付くのと、下側が「フィルター適用」という文字になります。

フィルターを解除する時は、下側の「フィルター適用」という文字部分をクリックします。フィルターが解除され、「フィルター適用」という文字が、「フィルター処理なし」という文字に変化します。

3)クエリの設計情報を確認する
本Accessファイルでは、下図の通り「DM」項目にチェックが付いたクエリを「顧客管理DM送付先」という名前ですでに作成しています。DMにチェックが付いたリストを取得するには、「顧客管理DM送付先」をダブルクリックすることでクエリが実行します。すると、クエリの右側に結果が表示されます。

「顧客管理DM送付先」クエリの設計情報を確認します。左側のナビゲーションウィンドウ内の「顧客管理DM送付先」を選択し、右クリックでメニューを表示し、デザインビューを選択します。

下図の通り、「顧客管理DM送付先」クエリのデザインビューを確認すると、下部分のDM項目欄の抽出条件欄に「True」と入力されているのが確認できます。これで、DM項目にチェックが入っているデータが抽出できます。

テーブルにて抽出する場合とクエリで抽出する場合を比べると、わずかかもしれませんがクエリを作成していると便利です。クエリを作成しているとダブルクリックで処理を実行するだけですが、テーブルにてデータを抽出する場合には、その都度、条件を設定しなければならないからです。

今回はDMという1つの項目の条件のみで抽出をしていますので、テーブルで直接に抽出するのもさほど手間ではありませんが、複数の条件がある場合などは非常に不便です。そのような場合に、クエリを作成していると非常に便利かと思います。

また、クエリは複数作成することができますから、例えば、年賀状の送付先であるとか、特定の顧客ランクを抽出するとか、特定の期間に登録された顧客を抽出するなど業務に併せて、クエリをその都度作成していくことができます。

このように、まずはデータ入力用のテーブルを作成し、定形的に抽出したい条件に併せてクエリを作成していくと、割と簡単に業務改善を進めていくことが可能です。

4)クエリを作成する
DM項目にチェックが入っているリストを抽出するクエリを作成します。下図の通り、画面の左上にある作成タグを選択後に、クエリデザインを選択します。

クエリデザインの画面を開くと、下図の通り、クエリを作成する元となるテーブルなどを選択します。本Accessファイルには、テーブルは「顧客管理」しかありませんので、テーブルの表示画面を見ると「顧客管理」しか表示されていませんが、複数のテーブルを定義しているとすべてのテーブルがここに表示されます。

テーブルの表示画面を見ると、「テーブル」「クエリ」「両方」の3つのタグがあります。つまり、クエリはテーブルからも作成しますが、クエリからも作成できます。両方とは、テーブルとクエリの両方をつなぎ合わせてクエリを作成することもできます。

今回は「顧客管理」テーブルからクエリを作成しますので、上図の「テーブルの表示」ウィンドウの「テーブル」タグから「顧客管理」テーブルを選択し、「追加」ボタンを押します。上図では、すでに「顧客管理」テーブルを選択されている状態ですので、下部分にある「追加」ボタンを押します。

「追加」ボタンを押すと下図の(1)の通り、「顧客管理」テーブルの内容が表示されます。ここから、表示する項目などを選択することが可能です。また、上図で表示されていた「テーブルの表示」ウィンドウは「閉じる」ボタンを押して、ウィンドウを閉じます。

「顧客管理」テーブルから表示したい項目を選択します。「顧客id」項目をクエリに表示する設定を行います。上図の(2)の「顧客id」項目をダブルクリックすると、(3)の通り、下部のフィールド欄に「顧客id」項目が選択されます。

その下のテーブル欄には、「顧客管理」と記載されていますが、これは「顧客id」項目が「顧客管理」テーブルから選択されていることを示しています。

本クエリでは、「顧客管理」テーブルのみからクエリを作成しているので、テーブル欄の「顧客管理」という表記は不要のように感じますが、クエリは複数の「テーブル」および「クエリ」から作成することが可能です。また、あるテーブル内で同一のフィールドを定義することはできませんが、テーブルが異なれば、同一の項目を定義することが可能です。

その場合には、どのテーブルに属している項目を表記しようとしているのかは、必要な情報となります。

(3)の表示項目にチェックがついていますが、このチェックはクエリを実行した際に、クエリに表示される項目であることを示しています。

表示項目の追加は、上部の「顧客管理」テーブルの項目をダブルクリックすることによっても追加することができますが、(4)の通り、フィールドの右端のプルダウンをクリックすると表示できる項目一覧が出てきますので、こちらからも選択することが可能です。

本クエリではDM項目にチェックがついている項目を抽出します。DM項目は「Yes/No型」で定義されている項目です。クエリの抽出条件を設定する際には、項目の型を意識する必要があります。「Yes/No型」の項目でチェックが付いている項目を抽出するには、下図の通り、フィールド欄にDMと記載されている列の抽出条件行に対して、“true”と入力すると該当する検索結果が得られます。

クエリの作成ができましたらクエリを保存します。下図の(1)の「×」を押すと、クエリの作成画面を閉じようとしますが、クエリの編集をしてきましたので、(2)の通り「’クエリ1’クエリの変更を保存しますか?」というダイアログボックスが表示されます。

ここで、「はい」ボタンを押すと、「名前を付けて保存」というダイアログボックスが表示されます。(3)の通り、初期値ではクエリ名欄に「クエリ1」と表記されていますが、ここに付けたいクエリ名を入力します。今回は「顧客管理DM送付先」というクエリ名を付けています。

 


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。