• ベストアンサー

MS ACCESS2000のVBAでDocmd.openformしてます

openform のパラメータのwhereconditionに、like演算子を使って、 「 フィールド名 like %文字% 」 というような指定をしたいのですが、上手くいきません。 演算子が無いとか、いろいろ言われてしまいます。 どのように記述すると、動作するでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> 「 フィールド名 like %文字% 」 Oracle系とはワイルドカードキャラクタが異なります。 フィールド名 like '*文字*' か フィールド名 like "*文字*" を使用してください。 任意の文字列を表す場合の%は*、 任意の1文字を表す場合の_は? です。

KAZUMI2003
質問者

お礼

ありがとうございました。 結果的には、シングルクォート(ダブルクォートでもいいのですね)と、%→*の2重の罠にはまっていたようでした。 回答感謝いたします

その他の回答 (4)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.5

DoCmd.OpenForm "テーブル名", , , "フィールド名 Like '*文字*'" これで出来ます。 定数を使ってなら Dim stDocName As String Dim stLinkCriteria As String stDocName = "テーブル名" stLinkCriteria = "a Like '*文字*'" DoCmd.OpenForm stDocName, , , stLinkCriteria で出来ます。

KAZUMI2003
質問者

お礼

ありがとうございました。 結果的には、シングルクォート(ダブクォートでもいいのですね)と、%→*の2重の罠にはまっていたようでした。 回答感謝いたします。

noname#22222
noname#22222
回答No.4

s_husky です。 Like の前後に全角のブランクがある場合[演算子がありません]と出ます。 No.1さんの回答を<全角のブランク抜き>で!!

KAZUMI2003
質問者

お礼

ありがとうございました。 結果的には、シングルクォート(ダブルクォートでもいいのですね)と、%→*の2重の罠にはまっていたようでした。 回答感謝いたします。

noname#22222
noname#22222
回答No.3

s_husky です。 回答をキャンセルします。 MDBと仮定して  Like '*A*'を Like '%A%'と書いても 検索しないだけですね! [演算子が無い]というエラーメッセージの原因ではないようです。

noname#22222
noname#22222
回答No.2

フィールド名 like '%文字%' 単に シングルクオーテーションが無いだけ!? それとも、 フィールド名 like '*文字*' クライアント/サーバー系か MDB なのか不明なので判りません。

関連するQ&A