見出し画像

【ACCESS VBA】VBAでユニオンクエリを作成する

ACCESSのクエリに関しては、ウィザード機能があります。
ほとんどの、基礎的なクエリは、ウィザードで作成可能です。
しかし、ユニオンクエリは、ウィザードでは作成できないクエリです。

VBAでユニオンクエリを作成する

こんにちは。伊川(@naonaoke)です。
今回は、VBAで、ユニオンクエリを作成します。

ユニオンクエリに関しては、何度か動画でも、ブログでも紹介しています。

VBAで、ユニオンクエリを作成するのは、初めてです。
ユニオンクエリに関しては、過去の記事、動画を確認していただければいいかと思います。

今回は、私の実体験も含めてユニオンクエリが、便利かということを説明したいと思います。

実は、コンサル生さんに、初めて、紹介した技が、ユニオンクエリです。


このブログはこんな人にお勧め

ACCESSでクエリを勉強している人
月末になると、集計で、Excelを複数起動している人
支社、支店の管理を多数している人

このブログを、読み終わるころには・・・・

ユニオンクエリは、便利なんですが、なんせ、馴染みがないです。
恐らく、ウィザードで作成できないからでしょう。
それも、わざわざ、VBAで作成しなくてもという感じです。
しかし、VBAで、SQL文を記載する練習と思えばいいかなと思います。

ユニオンクエリ

ACCESSで唯一、SQL文で記述しないと作成できないクエリです。
だから、馴染みがないと思います。
しかし、実務では、下記の例があります。
支社、支部毎に、ラベルを印字したい。
支社、支部の売上の合計を作成したい。
支社、支部の在庫を画一的に管理したい。

例を挙げればきりがないですね。
この時に、その分のExcelのシートを開くのかというと、ナンセンスです。
私の会社では、月毎にExcelのシートをかつては作成していました。
だから、年間の集計は、Excelブックを12個、起動していました。
それだけで、いやになってしまいます。

ユニオンクエリ 作業手順 その1 データベース確認

画像1

今回は、北海道、東京、北海道、各3つの支部にかんして、テーブルを3つ縦につなげます。
また、Q_各支部の合計を作成します。
このクエリには、何も設定しません。
作成したユニオンクエリの値を表示します。


ユニオンクエリ 作業手順 その2 VBAのコード

画像2

VBAで、SQL文を記載できるようになると、さらにVBAは、面白くなります。

画像3

ただ、見にくいですね。
でも一応、完成です。
このまま、報告書を書くわけではないと思うので、Excelで、計算するときのベースとしてください。

ユニオンクエリ 作業手順 その3 利便性

ユニオンクエリは、利便性があります。
この、コードを利用すれば、各支部の合計、売上分析など、カンタンにできます。
また、重複したデータは、表示されません。
ユニオンクエリから、削除も来ません。
そして、難しくないということです。
今回は、テーブルで実行しました。
しかし、例えば、四半期報告書のベースとして、このコード、または、ユニオンクエリを作成しておけば、計算のベースに困ることはありません。

但し、VBAでやる必要があるのか?
そう、疑問に思った人もいると思います。
その通りです。
普通に、ユニオンクエリを作成しても問題はありません。

ここがポイント

このユニオンクエリを覚えてから、各部署の集計が本当に楽になりました。
今までは、各部署のExcelのデータを全部コピペしてから、集計をしていました。
コピペで、データが、完成すればいいのですが、そうもいきません。
貼り間違い、列がズレたなど、まあ、Excelも重くなり、本当に憂鬱な日々を送っていました。
また、競馬の集計にも、ユニオンクエリは使えます。
私の場合は、すべては、競馬なのですね。

まとめ

今回、なぜ、VBAで、ユニオンクエリを作成したのかというと、感動したからです。
これは、本当です。
「おっ、すげっ」と思いました。
この感動があったら、紹介したのですが、3秒後に、微妙とおもいましたけどね。
今回も最後まで読んでいただきありがとうございました。

よろしければサポートをお願いします。いただいたお金に関しては、書籍の購入に充て、より良い情報を皆様に提供します。