- ベストアンサー
Accessのフォームで、当該データ以外のレコードを検索したい。
Accessの自己流で使っているものです。 販売管理のデータベースを作ったのですが、 主なフィールドは、 仕入先、商品名、販売日、担当者、販売方法などです。 担当者、販売方法でフィルタをかけ、他の項目を入力の作業をしたい状況です。 そこでですが、フィルタのかける条件として、 担当者=山田、販売方法=A、B以外のもの、というかけ方をしたいのですが、 その設定の方法がわかりません。 試した例では、 [担当者]=[Forms]![販売管理]![検索_担当者] or [販売方法]=not "A" or [販売方法]=not "B" でやりましたが、できませんでした。 AとBをの抽出は、以下でできました。 [販売方法]="A" Or [販売方法]="B" ただ、A,B以外の抽出方法が分からず、さらに当該担当者を加えてのやり方もわかりません。 どうすればできるのか、宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ウーン1! どういう種類のテーブルなのか????? 仕入伝票でもなし、商品マスターでもなし・・・。 ウーン2! 抽出条件とフォームの入力フィールドが同じ! それじゃユーザは操作に困るだろうに! ということで、最低、フォームヘッダーに [担当者一覧][販売方法一覧]が配置されているとして・・・。 ウーン3! >担当者、販売方法でフィルタをかけ、他の項目を入力とは? 新規レコードの担当者、販売方法の初期値を設定するという意味? それとも、未入力レコードを予め発生させておくつもり? 後者は、ないだろう! 不具合レコードをどんどん発生させることになる・・・。 と、ここまで書いて回答は保留することにしました。 回答しても、どうせ・・・と思います。 *ウーン3つを解消するのが先決かもです!
その他の回答 (3)
もう少し、論理演算の勉強をなさることをお勧めします。 まず論理テーブルを書いてみることです。 P Q P Or Q ○ ○ ○ ○ × ○ × ○ ○ × × × P Q P And Q ○ ○ ○ ○ × × × ○ × × × × 要素が「山田」「A」「B」と3つあるので、組み合わせは2の3乗=8通りです。 山田 A B 質問文の条件式(全てORで連結)での結果 1. ○ ○ ○ 該当 山田が○だから、ABの値はどうでもいい 2. ○ ○ × 該当 山田が○だから、ABの値はどうでもいい 3. ○ × ○ 該当 山田が○だから、ABの値はどうでもいい 4. ○ × × 該当 山田が○だから、ABの値はどうでもいい 5. × ○ ○ 非該当 山田が×、AB共に○だから条件に当てはまらない 6. × ○ × 該当 山田が×だが、Bが×だから 7. × × ○ 該当 山田が×だが、Aが×だから 8. × × × 該当 山田が×だが、AB共に×だから となり、質問者さんの条件式では「5」以外の全てに該当してしまいます。 ここで、質問者さんが得たい検索結果は「4」の場合ですから (担当者=山田) And (販売方法 <>A) And (販売方法 <>B)と 全てANDでつながなければなりません。
- DexMachina
- ベストアンサー率73% (1287/1744)
> 担当者=山田、販売方法=A、B以外のもの これは、「担当者が山田で、販売方法がAでもなくBでもないもの」 という意味でよろしいでしょうか。 でしたら、No.2の方の回答にもある通り、「Or」ではなく「And」で 結合させる、つまり、 [担当者]=[Forms]![販売管理]![検索_担当者] And [販売方法]<> "A" And [販売方法]<> "B" としてやる必要があります。 (又は、「<>」を「= Not」で置き換えるか、以下の式でも可; [担当者]=[Forms]![販売管理]![検索_担当者] And Not [販売方法]="A" And Not [販売方法]="B" 通常は「<>」を使うのではないかと思います。 但し、私も自己流なので、両者が完全に互換なのかは わかりませんが・・・) なお、Accessのフォームビューで、連結コントロール(=レコード データが表示される、テキストボックス等のコントロール)を 右クリックすると、表示されるメニューに、「フィルタの対象(F)」 という選択肢が現れると思います。 その右の入力欄に検索条件(「Not A」等)を入れて絞り込みを 実行した後、フォームのプロパティシートで「データ」タブを 選択すると、「フィルタ」欄に現在のフィルタ式が表示されます。 私は、この方法を使ってフィルタ式の概要を覚えましたので、 参考までに。
- delldelldell
- ベストアンサー率28% (13/45)
試した例では、 [担当者]=[Forms]![販売管理]![検索_担当者] or [販売方法]=not "A" or [販売方法]=not "B" ↑て、クエリに設定してますよね? [担当者]=[Forms]![販売管理]![検索_担当者] はいいとして、 [販売方法]=<>"A" and <>"B" で実現しませんか?