Access VBA: INNER JOIN で2つのテーブルを結合するクエリを作成

INNER JOINは内部結合といわれ、結合するテーブルの共通するレコードのみ取り出すことができます。

構文:
SELECT 取得するフィールド名 FROM 結合するテーブル1 INNER JOIN 結合するテーブル2 ON 結合するフィールド名1 = 結合するフィールド名2



BackHome BackTips Backメニュー

製品マスター
製品マスターテーブル

入庫テーブル
このテーブルと製品マスターを、「製品ID」フィールドで結合します。
入庫テーブル
■ 実行Accessフォーム
結合フォーム

作成されたAccessクエリの実行
製品マスターと入庫テーブルで、共通する製品IDのレコードのみが取り出されています。
共通する製品IDとは、「2」「5」になります。それ以外の製品IDは表示されていません。
結合結果のクエリ

作成されたクエリをデザイン画面でみるとこうなります。
クエリデザイン画面

■ Access VBA 実行コード

Option Compare Database
Option Explicit

Private Sub コマンド0_Click()
    Dim Qdf As QueryDef
    Dim SQL As String
    SQL = "SELECT M_製品マスター_2009年度.製品ID,製品コード, 製品名, 入庫日, 入庫数 " & _
        "FROM M_製品マスター_2009年度 INNER JOIN T_入庫 ON M_製品マスター_2009年度.製品ID = T_入庫.製品ID;"
    Set Qdf = CurrentDb.CreateQueryDef("Q_入庫_INNER_JOIN", SQL)
    Set Qdf = Nothing

    DoCmd.OpenQuery "Q_入庫_INNER_JOIN"
End Sub


BackHome BackTips Backメニュー

Copyright(C) FeedSoft