アプリ版:「スタンプのみでお礼する」機能のリリースについて

含むなら
rs.Filter = "文字列 like '*A*'"
でいけるのですが
rs.Filter = "文字列 not like '*A*'"
だと
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
になります。

rs.Filter = "文字列 not like '%A%"
でもダメでした。

NOTの位置がおかしいのでしょうか?

A 回答 (2件)

普段レコードセットのFilterは使わないので、今更ながら気が付きました。


ヘルプによれば
"演算子" は、<、>、<=、>=、<>、=、または LIKE である必要があります
となっていて、NOT そのものが無いですね。
NOTの代わりに <> like '*A*' も無駄な足掻きでした。
DAOのRecordsetやフォームのFilter なら、NOT も有効なのですけどねぇ。
#1 さんのリンク先の様にSQLで求めるのがベストかな。

Sub FilterTestDAO()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("テーブル名", dbOpenSnapshot)
rs.Filter = "文字列 not like '*A*'"
Set rs = rs.OpenRecordset()
rs.MoveLast
Debug.Print rs.RecordCount
End Sub
    • good
    • 0
この回答へのお礼

adoでフィルタを使うことは諦めます。
daoでやったらできました。
ご回答ありがとうございました。

お礼日時:2013/04/13 08:20

既、回答例ですが


http://oshiete.goo.ne.jp/qa/5263578.html
のようですね。
    • good
    • 0
この回答へのお礼

無理なようですね。

お礼日時:2013/04/13 08:19

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

このQ&Aを見た人はこんなQ&Aも見ています