Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


351 / 2272 ツリー ←次へ | 前へ→

【12049】二つのテーブルを比較し一致しないレコードを抽出 たつ 11/8/26(金) 16:37 質問[未読]
【12050】Re:二つのテーブルを比較し一致しないレコ... nonon 11/8/26(金) 18:12 回答[未読]
【12051】Re:二つのテーブルを比較し一致しないレコ... たつ 11/8/29(月) 10:13 お礼[未読]

【12049】二つのテーブルを比較し一致しないレコー...
質問  たつ  - 11/8/26(金) 16:37 -

引用なし
パスワード
   前回のデータと今回の新しいデータ、二つのテーブルを比較して、
違う箇所があるレコードを抽出する、クエリを作成しましたが、問題が起こり、
悩んでいます。

レコードの中身が前回と今回で所々、違う箇所が存在する為、差異のあるレコードのみを抽出させたいのです。


下記の場合は、抽出してくれないのが悩みとなってます。

1.元々空白だったフィールドに新しいデータに値を入れても、
違うと認識してくれない為、抽出できない。

2.元々、値が入っていたフィールドが空白になったときにも、違うものとして、認識し てくれない。


現在のSQLは下記のように作成しています。

SELECT 新しいデータ.*
FROM 前回のデータ
INNER JOIN 新しいデータ ON 前回のデータ.テーブル=新しいデータ.テーブル
WHERE Not ((前回のデータ![品番]=新しいデータ![品番]) And
(前回のデータ![区分]=新しいデータ![区分]) And
(前回のデータ![数量]=新しいデータ![数量]) And
(前回のデータ![転送先]=新しいデータ![転送先]) And
(前回のデータ![単位]=新しいデータ![単位]) And
(前回のデータ![KEY]=新しいデータ![KEY]));


なにが、原因なのか?分からず困ってます
どうか伝授お願いします

【12050】Re:二つのテーブルを比較し一致しないレ...
回答  nonon  - 11/8/26(金) 18:12 -

引用なし
パスワード
   ▼たつ さん:

はじめまして、nononと申します。

えっと、各条件に対し、NZ()をつけるとできると思いますよ。
こんな感じで (^-^b

SELECT 新しいデータ.*
FROM 前回のデータ
INNER JOIN 新しいデータ ON 前回のデータ.テーブル=新しいデータ.テーブル
WHERE Not ((nz(前回のデータ![品番],"")=nz(新しいデータ![品番],"")) And
(nz(前回のデータ![区分],"")=nz(新しいデータ![区分],"")) And
(nz(前回のデータ![数量],"")=nz(新しいデータ![数量],"")) And
(nz(前回のデータ![転送先],"")=nz(新しいデータ![転送先],"")) And
(nz(前回のデータ![単位],"")=nz(新しいデータ![単位],"")) And
(nz(前回のデータ![KEY],"")=nz(新しいデータ![KEY],"")))

【12051】Re:二つのテーブルを比較し一致しないレ...
お礼  たつ  - 11/8/29(月) 10:13 -

引用なし
パスワード
   ▼nonon さん:

ありがとうございました、
伝授して頂いたとおり、Nz関数を入れてみたところ、うまく思い通りの結果が出ました。

助かりました。

ありがとうございました。

351 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078191
(SS)C-BOARD v3.8 is Free