Microsoft Access Club Access超初心者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル不一致データ抽出について
記事No83104
投稿日: 2017/04/26(Wed) 23:03
投稿者ななせ
解決済: ON
OS:WIN10
Access Version:2013

はじめまして、こんばんわ。
先週から仕事でAccessを使用する事となり、四苦八苦している状態です。

今までExcelで行っていた、2つのテーブルの差分を抽出する作業をAccessで行う事となりました。
過去の投稿やネットを検索して、ウィザードで不一致クエリを作成しましたが、
抽出結果を確認すると、全データが不一致という形で抽出されてしまいます。

ウィザードで、テーブル1とテーブル2の比較とテーブル2とテーブル1の比較を作成し、
カラムを全て結んで、最後に2つのクエリを結合しています。

テスト作成した以下テーブルでは、差分は抽出できました。

 テーブル1      テーブル1
   名前 個人データ  名前 個人データ
  ・鈴木 ***     ・近藤 *** 
  ・近藤 ***     ・伊藤 ***
  ・渡辺 ***     ・鈴木 ***

差分結果
・伊藤 ***
・渡辺 ***

しかし、本番データで同様の手順で不一致クエリを作成しても、
テスト作成した様な結果になりませんでした。
本番データは、カラム数30 行数15万行 ほどのデータで、
両テーブルの構成は同じです。
ただし、テーブル2の登録されているデータは追加や修正、削除等されており
テーブル1と比べると、行数はかなりずれています。

データが多すぎて正常に動作しない等の原因が考えられるでしょうか?
どうかお力添えを、お願い致します。

タイトルRe: 不一致データ抽出について
記事No83105
投稿日: 2017/04/27(Thu) 16:12
投稿者tkwan
解決済: ON
1)一致クエリを作成します。(クエリ1)

 SELECT T1.一意のフィールド AS F1, T2.一意のフィールド AS F2
    FROM テーブル1 AS T1 INNER JOIN テーブル2 AS T2   
         ON
         (T1.比較するフィールド1 = T2.比較するフィールド1)
         AND
         (T1.比較するフィールド2 = T2.比較するフィールド2)
                                :


2)テーブル1の不一致データを抽出するクエリ(クエリ2)

  SELCT T1.*, "テーブル1" AS F
   FROM テーブル1 AS T1
  WHERE 一意のフィールド NOT IN (SELECT F1 FROM クエリ1); 

3)テーブル2の不一致データを抽出するクエリ(クエリ3)  

  SELCT T2.*, "テーブル2" AS F
   FROM テーブル2 AS T2
  WHERE 一意のフィールド NOT IN (SELECT F2 FROM クエリ1);

4)両方を表示するクエリ

  SELECT * FROM クエリ2
   UNION ALL
  SELECT * FROM クエリ3
  
      

タイトルRe^2: 不一致データ抽出について
記事No83106
投稿日: 2017/04/27(Thu) 21:27
投稿者ななせ
解決済: ON
tkwan様


ありがとうございました。
無事行うことができました!

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る