Accessのクエリでテーブルを結合する方法をお探しですね。
広告
Accessで複数のテーブルを結合する方法をわかりやすく解説
Accessでデータを管理していると、顧客情報と売上情報を一緒に見たいとか、商品データと在庫データをまとめて確認したいといった場面がよくありますよね。
この記事では、バラバラに保存されているテーブルを1つにまとめて表示する「結合」という機能について、初心者の方にもわかりやすく説明していきます。
1. なぜテーブルを分けて管理するの?結合って何?
Accessは「リレーショナルデータベース」という種類のソフトで、情報を複数のテーブルに分けて保存するのが基本的な使い方です。
「えっ、全部1つの表にまとめちゃダメなの?」と思うかもしれませんが、実はそれだと困ったことが起きるんです。
例えば、お客さんの情報(会社名、住所、電話番号)と売上の記録を全部1つの表に入れようとすると、同じお客さんが買い物するたびに会社名や住所を何度も入力することになります。
これって面倒だし、打ち間違いも起きやすいですよね。
それに、データの量もどんどん増えてしまいます。
そこでAccessでは、お客さん情報は「顧客テーブル」、売上記録は「売上テーブル」というふうに別々に保存しておいて、必要なときだけ繋げて見る仕組みになっています。
この「別々のテーブルを繋げる」作業が「結合」です。
やり方は意外と簡単で、クエリというツールを使います。
クエリの画面で使いたいテーブルを並べて、共通の項目(例えば「顧客ID」)同士をマウスでドラッグして線で繋ぐだけ。
これだけで、売上データに自動的にお客さんの名前や連絡先が付いてくるようになります。
便利ですよね!
2. 内部結合ってどんなもの?基本の繋ぎ方
Accessでテーブルを繋ぐとき、最初に設定されるのが「内部結合(INNER JOIN)」という方法です。
ちょっと難しそうな名前ですが、要するに「両方のテーブルに共通するデータだけを表示する」という意味です。
例えば、売上テーブルに書いてある「顧客ID」が、顧客テーブルにもちゃんと存在している場合だけ、その売上と顧客情報がセットで表示されます。
逆に言うと、どちらか片方にしかないデータは表示されません。
**実際の作り方**
1. クエリのデザインビューを開く
2. 使いたいテーブルを画面上に追加する
3. 一方のテーブルの「顧客ID」を、もう一方のテーブルの「顧客ID」にドラッグ&ドロップ
4. テーブル同士を繋ぐ線が表示されたら完成!
これでクエリを実行すれば、両方のテーブルの情報がきれいに並んだ一覧表ができあがります。
内部結合は「確実に関連があるデータだけを見たい」ときに便利です。
例えば、実際に売れた商品の一覧を作りたいときなどですね。
ただし注意点もあります。
顧客テーブルには登録されているけど、まだ一度も商品を買っていないお客さんは、結果に表示されません。
「全てのお客さんリストを見たい」という目的には合わないので、次に説明する外部結合と使い分ける必要があります。
3. 外部結合で「片方だけにあるデータ」も表示させよう
「お客さん全員のリストを出したいけど、今月買い物をした人にはその金額も一緒に表示したい」こんなとき、内部結合だと買い物をしていない人が消えてしまって困りますよね。
そこで使うのが「外部結合」です。
外部結合を使うと、基準にしたテーブルのデータは全部表示されて、もう一方のテーブルに対応するデータがあればそれも表示、なければ空欄になるという便利な仕組みです。
**設定の仕方**
1. クエリデザインビューでテーブル同士を繋いでいる線をダブルクリック
2. 「結合プロパティ」という小さなウィンドウが開く
3. 3つの選択肢が出てくるので、2番目か3番目を選ぶ
4. 「どっちのテーブルを全部表示したいか」を考えて選択
5. OKを押すと、線が矢印付きに変わる
矢印の向きで「どちらを全件表示するか」が分かるようになっています。
**実際の活用例**
– 全てのお客さんリストを出して、今月の売上がある人にはその金額を表示
– 商品マスターを全部表示して、在庫がある商品だけ在庫数を表示
– 長い間買い物をしていないお客さんを探す(売上が空欄の人を抽出)
営業の進捗管理や、データの入力漏れチェックなんかにもすごく役立ちますよ。
4. うまくいかないときのチェックポイント
テーブルを繋ごうとしたのにエラーが出たり、変なデータがいっぱい表示されたりすることがあります。
よくある失敗パターンと対処法を紹介しますね。
**よくある失敗① データ型が違う**
片方のテーブルで顧客IDを「数値型」にしていて、もう片方では「テキスト型」にしている…こういう場合、Accessは「型が違うから繋げられません」とエラーを出します。
繋ぐ予定のフィールドは、最初から同じデータ型にしておきましょう。
**よくある失敗② 線を引き忘れる**
テーブルは追加したけど、線で繋ぐのを忘れてクエリを実行してしまうと大変なことになります。
両方のテーブルのデータが全ての組み合わせで表示されてしまい(これを「クロス結合」と言います)、100件×100件=10,000件なんていう膨大なデータができてしまってパソコンが固まります。
**成功させるための3つのポイント**
– 繋ぐフィールドのデータ型を揃える
– テーブル間に線が引かれているか必ず確認する
– 「どっちのテーブルを全部表示したいか」を考えて、内部結合か外部結合かを選ぶ
最初は少ないデータで練習してみるのがおすすめです。
内部結合と外部結合で結果がどう変わるか、実際に自分の目で確認してみると「なるほど!」と理解できますよ。
テーブルの結合はAccessの中でも特に便利な機能なので、ぜひマスターしてくださいね!
広告
