人生最悪の忘れ物

Access 2002ですが ADOのRecordsetにVBAでフィルターをかけようと思っています。

条件は・・・

RS.Filter = "((場所 ='キッチン') OR (場所 ='台所') OR (場所 ='居間') OR (場所='寝室')) AND (予約状況 ='予約済み')"

という感じです。

キッチン、台所、居間、寝室でどれでもいいので予約済みになっている
ところを抽出したいのですがエラーになります。

エラー内容を控えてくるのを忘れましたが、これは文法的に不可能でしょうか?

なお、アクセスのクエリーだと動きます。

A 回答 (1件)

AND,ORの演算子に制約があるためでしょう



(場所='居間' or 場所='台所') AND ( 予約状況='予約済み')
といった 複数フィールドでフィルターをかける場合
OR句の結果を ANDで句で結合することが出来ません

逆の AND句を OR句で結合は可能ですので
(場所='居間' AND 予約状況='予約済み') or ( 場所='台所' AND 予約状況='予約済み')
といった条件に変更しましょう
    • good
    • 0
この回答へのお礼

ありがとうございます。

教えていただいた方法で書き直したら動きました。

また、よろしくお願いします。

お礼日時:2008/03/01 00:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報