Access VBA質問箱 IV

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

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


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

【9710】テーブル間の差分について 07/7/26(木) 10:18 質問[未読]
【9711】Re:テーブル間の差分について たん 07/7/26(木) 11:14 回答[未読]

【9710】テーブル間の差分について
質問    - 07/7/26(木) 10:18 -

引用なし
パスワード
   VBA初心者です。
お手数ですが、下記の件、
どのようにしたらよいか
検討がつかなくなってしまいました・・・

どなたか、お分かりになる方がいらしたら、
よろしくお願いいたします・・・

フィールドが、同じテーブルA、Bがあります。
フィールド”SHEET”が同じレコードで、
フィールド”品番”
フィールド”数量”
が、異なるレコードのみと
一方のテーブルにのみ存在するレコードを
抽出させたいのですが、
よくわかりません・・・

一応、テーブルA、Bの内容と
抽出したいレコード内容を
下記に表記します・・・

【テーブルA】

SHEET ITEM 品番 名称   数量
A   1   Z50  りんご  2 
A   2   Z10  いちご  1
A   3   Z60  ぶどう  1
B   1   Y10  くり   2
B   3   Y30  やし   5

【テーブルB】

SHEET ITEM 品番 名称   数量
A   1   Z50  りんご  3 
A   2   Z20  もも   1
A   3   Z60  ぶどう  1
A   4   Z30  ばなな  2
B   1   Y10  くり   1
B   2   Y20  いも   3
B   3   Y30  やし   5

【抽出したいレコード】

SHEET ITEM 品番 名称   数量
A   1   Z50  りんご  2 ・・・テーブルAより(数量違い)
A   2   Z10  いちご  1 ・・・テーブルAより(品番違い)
B   1   Y10  くり   2 ・・・テーブルAより(数量違い)
A   1   Z50  りんご  3 ・・・テーブルBより(数量違い)
A   2   Z20  もも   1 ・・・テーブルBより(品番違い)
A   4   Z30  ばなな  2 ・・・テーブルBより(対象なし)
B   1   Y10  くり   1 ・・・テーブルBより(数量違い)
B   2   Y20  いも   3 ・・・テーブルBより(品番違い)

【9711】Re:テーブル間の差分について
回答  たん  - 07/7/26(木) 11:14 -

引用なし
パスワード
   # 間違えてメルアド開示してたので削除。

>お手数ですが、下記の件、
>どのようにしたらよいか
>検討がつかなくなってしまいました・・・

まず、自身で一つずつ整理すれば、判別できるはずですが、
1度にやろうとするから無理なのです。

で、結論から言えば、1個のクエリでは不可能です。
それぞれ(数量違い、品番違い、対象なし)を不一致クエリで
算出し、

1度に表示させたいなら、UNIONクエリ等で結合させることに
なります。

ヒント(というより、殆ど答え)
SELECT DISTINCTROW T1.F1, T1.F2, T1.F3, T1.F4, T1.F5
FROM T1 INNER JOIN T2 ON (T1.F3 = T2.F3) AND (T1.F2 = T2.F2) AND (T1.F1 = T2.F1)
WHERE (((([T1].[F4]=[T2].[F4]))=False));


>それぞれ(数量違い、品番違い、対象なし)を不一致クエリで

ここで言う不一致クエリというのは、ウィザードで生成するのとは
別物です。
(対象なしの算出は、ウィザードの不一致クエリで可能ですが。)

正確に言えば「比較すべきフィールドが不一致かどうかを判断するクエリ」と
いうことになります。


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