ACCESS 以下のようなレコードを抽出するSQL
ACCESSのデータベースで
あるフィールド(フィールドAとします)の値に対して、
別のフィールド(フィールドBとします)の値が1つに決まる
データベースがあるとします。
例えば、フィールドAの値が1のレコードは、
どのレコードもフィールドBの値はaである。など
このようなデータベースでこのような関係になっていないレコード
例えば、フィールドAの値が1のレコードの中に
フィールドBの値がaであるレコードと
フィールドBの値がbであるレコードがある。など
を抽出するSQLはどのように記述すればよいでしょうか。
テーブル名はTABEL1とします。
次の2つのケースでお願いします。
(1)フィールドAの値が異なればフィールドBの値が異なる場合
例えば、フィールドAの値が1で、フィールドBの値がaであるレコードが
ある時、フィールドAの値が1でないレコードの中には、
フィールドBの値がaであるレコードが存在しない場合
(2)フィールドAの値が異なるがフィールドBの値が同じこともある場合
例えば、フィールドAの値が1で、フィールドBの値がaであるレコードが
あっても、フィールドAの値が1でないレコードの中にも、
フィールドBの値がaであるレコードが存在する場合
【回答例】(ただし、1,a,bなどの具体的な値は使わないこと)
・フィールドAの値が1のレコードを表示する例
SELECT * FROM TABLE1 WHERE フィールドA=1;
・フィールドAの値が1でフィールドBの値がaのレコードを表示する例
SELECT * FROM TABLE1 WHERE フィールドA=1 AND フィールドB='a';
・フィールドAの値が1でフィールドBの値がaのレコードと
フィールドAの値が1でフィールドBの値がbのレコードを表示する例
SELECT * FROM TABLE1 WHERE (フィールドA=1 AND フィールドB='a') OR (フィールドA=1 AND フィールドB='b');
この目的は、データベースに問題があり、
問題となっているレコードを見つけて直したいのです。
よろしくお願いします。
補足
入力はフォームで考えています。やはりVBAを組むんですかね。具体的にどのようにすればいいのか少し教えていただければ助かります。