- 締切済み
Access クエリでの抽出条件の質問です。
Access初心者です。宜しくお願いします。 選択クエリで、選択したフィールド同士を比較して条件に合えば表示したいのですが、うまくいきませんご伝授お願いします。 (例) フィールド名 A B C D の4つのフィールドがあります。 AとBを比較して同じでなければ表示、又はCとDを比較して同じでなければ表示 Aのフィールドの抽出条件に <>B 「or」で入力しました。 Cのフィールドの抽出条件に <>D の二つの条件を入力しましたがうまく条件にみたしません。A~Dまでのデータは条件に合うように登録されています。 宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- laputart
- ベストアンサー率34% (288/843)
質問を整理させてください。 ◆条件(1)→ A<>B ◆条件(2) → C<>D でどちらかが成立している場合抽出するクエリー という事でいいのですね。 その場合条件(1)を書き Aの下に <>B 次の行に条件(2)を書きます Cの下の次の行に <>D この場合どちらかの条件が不成立(例えば A=B)でも抽出します。 ※次の行に書かないで、条件(1)と同じ行に条件(2)を書いた場合は ANDになり、両方の条件が成立した場合のみ抽出する事になります。 これでどうですか?うまくいかない場合は連絡下さい。
- satotti
- ベストアンサー率0% (0/0)
現在の抽出条件はすべて削除の上、 一つフィールドを追加してください。 式1: (Not [A]=[B]) Or (Not [C]=[D]) このフィールドの抽出条件を True にすれば目的の データが表示されます。
もしかして、 SELECT IIf(A<>B,A,''), IIf(C<>D,C,'') FROM Table1 WHERE A<>B OR C<>D; というのを欲しているならば、目茶ややこしいのでクエリは止めたがいいです。 SELECT IIf(A<>B,A & B,''), IIf(C<>D,C & D,'') FROM Table1 WHERE A<>B OR C<>D; もありるし、 SELECT IIf(A<>B,A & B,'') & IIf(C<>D,C & D,'') FROM Table1 WHERE A<>B OR C<>D; もありえます。 <クエリ1> Expr1000 XZ YZ が、最後の選択クエリの実行結果ですが・・・。 どうも、色んなことを考えると???
___フィールド:A_________|C_________ ____テーブル:Table1__|Table1__ _並び替え:__________|___________ _______表示:____[]___|____[]_____ 抽出条件:<>[B]___|___________ ____または:__________|<>[D]____ 選択クエリなるものを初めて使ってみました。 SELECT * FROM Table1 WHERE A<>B OR C<>D; SQLビューで見るとこのようです。 <Table1> ID_____A______B_____C_____D 1_______X_____X_____Y_____Y 2_______X_____Z_____Y_____Y 3_______X_____X_____Y_____Y 4_______X_____X_____Y_____Z 5_______X_____X_____Y_____Y <クエリ1> 2_______X_____Z_____Y_____Y 4_______X_____X_____Y_____Z 普通にクエリを作成すれば・・・。
- delldelldell
- ベストアンサー率28% (13/45)
手元にaccessがないので想像しています。 一つのクエリでやろうとしているなら無理だと思います。 AB抽出用クエリ、CD抽出用クエリと分けないと。 これらを1つにまとめる必要があるなら、それぞれのクエリをテーブル作成クエリで実行して、後でまとめるとか。