- ベストアンサー
ADOでFilter
Access 2002ですが ADOのRecordsetにVBAでフィルターをかけようと思っています。 条件は・・・ RS.Filter = "((場所 ='キッチン') OR (場所 ='台所') OR (場所 ='居間') OR (場所='寝室')) AND (予約状況 ='予約済み')" という感じです。 キッチン、台所、居間、寝室でどれでもいいので予約済みになっている ところを抽出したいのですがエラーになります。 エラー内容を控えてくるのを忘れましたが、これは文法的に不可能でしょうか? なお、アクセスのクエリーだと動きます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
AND,ORの演算子に制約があるためでしょう (場所='居間' or 場所='台所') AND ( 予約状況='予約済み') といった 複数フィールドでフィルターをかける場合 OR句の結果を ANDで句で結合することが出来ません 逆の AND句を OR句で結合は可能ですので (場所='居間' AND 予約状況='予約済み') or ( 場所='台所' AND 予約状況='予約済み') といった条件に変更しましょう
お礼
ありがとうございます。 教えていただいた方法で書き直したら動きました。 また、よろしくお願いします。