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

RIGHT JOIN は右外部結合といわれ、結合する右側のテーブルを優先しレコードを表示します。

右側のテーブルの全レコードが表示され、左側のテーブルは共通するレコードのみ取り出されます。

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



BackHome BackTips Backメニュー

製品マスター
2009年度製品マスター

入庫テーブル
製品マスターを優先し、このテーブルと「製品ID」フィールドで結合します。
入庫テーブル

実行Accessフォーム
RIGHT JOINフォーム
作成されたクエリの実行
入庫テーブル優先で入庫テーブルの全レコードと、共通する製品マスターのみが取り出されています。
製品マスターの製品ID「7」は表示されていません。
選択クエリ

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

■ 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年度 RIGHT JOIN T_入庫 ON M_製品マスター_2009年度.製品ID = T_入庫.製品ID;"
    Set Qdf = CurrentDb.CreateQueryDef("Q_入庫_RIGHT_JOIN", SQL)
    Set Qdf = Nothing

    DoCmd.OpenQuery "Q_入庫_RIGHT_JOIN"
End Sub


BackHome BackTips Backメニュー

Copyright(C) FeedSoft