- 締切済み
アクセスについての質問です。
不一致クエリについての質問です。 テーブル1 テーブル2 商品 色 商品 色 えんぴつ 赤 えんぴつ 青 えんぴつ 青 えんぴつ 青 けしごむ 青 けしごむ 赤 えんぴつの色が赤のものを検出する方法はありますか? 二つのフィールドを比較出来るのでしょうか? プログラムを作成しないとダメでしょうか? プログラムを作成するならVBAのコードを教えてほしいです。 よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- O_cyan
- ベストアンサー率59% (745/1260)
クエリで出来ます。 下記のSQLをSQLビューにコピーしてクエリを作ってください。 SELECT テーブル1.商品, テーブル1.色 FROM テーブル1 LEFT JOIN テーブル2 ON (テーブル1.色 = テーブル2.色) AND (テーブル1.商品 = テーブル2.商品) WHERE (((テーブル2.色) Is Null)); これで 商品 色 えんぴつ 赤 のみ表示されます。
- Itarufox
- ベストアンサー率31% (10/32)
質問の意味を、「テーブル1にあってテーブル2にないものを抜き出す」と理解します。 SQLビューで書くと、 SELECT テーブル1.商品, テーブル1.色, テーブル2.商品, テーブル2.色 FROM テーブル1 LEFT JOIN テーブル2 ON (テーブル1.色 = テーブル2.色) AND (テーブル1.商品 = テーブル2.商品) WHERE (((テーブル2.商品) Is Null) AND ((テーブル2.色) Is Null)); でできるんじゃないでしょうか。 この場合、テーブル1のえんぴつ赤とけしごむ青が表示されます。 デザインビューでいうなら、 テーブル1 テーブル2 商----->商品 色----->色 として、 抽出条件を テーブル2.商品 テーブル2.色 Is Null Is Null となります。
- dac203
- ベストアンサー率43% (92/212)
アクセスは詳しくはわからないのですが、テーブル1にあってテーブル2にない物を抽出すればよいのですよね? テーブル1を親、テーブル2を子としてリレーションシップを設定(「テーブル1の全レコードに~」って指定の仕方だったかな?)。そうしてテーブル1商品、テーブル1色、テーブル2商品、テーブル2色という並びのデータができると思うのですが、テーブル2が空白のデータ(つまりテーブル1にあってテーブル2にないもの)が出てくると思います。それを抽出してあげれば良いのではないでしょうか? わかりにくい上に見当違いでしたらごめんなさいm(__)m。
- process9
- ベストアンサー率29% (81/271)
クエリだけでやれます。 が。。。質問内容のデータ抽出条件が よくわからないのですが・・・。 上記例のテーブルでデータ内容が下記でしたら、 結果はどうなって欲しいですか? テーブル1 テーブル2 商品 色 商品 色 えんぴつ 赤 えんぴつ 青 えんぴつ 青 えんぴつ 青 けしごむ 青 けしごむ 赤 えんぴつ 赤 えんぴつ 赤 けしごむ 赤 えんぴつ 青 けしごむ 青 けしごむ 青
補足
テーブル1 テーブル2 商品 色 商品 色 えんぴつ 赤 えんぴつ 青 えんぴつ 青 えんぴつ 青 けしごむ 青 けしごむ 赤 えんぴつ 赤 えんぴつ 赤 けしごむ 赤 えんぴつ 青 けしごむ 青 けしごむ 青 この場合ですと二つのテーブル、二つのフィールドを比較し 不一致するデータがありません。 何も検出されません。 わかりずらくてすいません。 テーブル1 テーブル2 商品 色 商品 色 えんぴつ 赤 えんぴつ 青 えんぴつ 青 えんぴつ 青 けしごむ 青 けしごむ 赤 赤いえんぴつはテーブル1にしかありません。 赤いえんぴつはテーブル2にありません。 二つのテーブルで合致しないデータを検出するのが不一致クエリ 赤いえんぴつが検出するにはどうしたらいいですか? よろしくお願い致します。