新しく質問する

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

役に立った:1件
  • 質問者:KAZUMI2003
  • 投稿日時:2006/02/08 20:53
  • 困り度:困ってます
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

openform のパラメータのwhereconditionに、like演算子を使って、

「 フィールド名 like %文字% 」

というような指定をしたいのですが、上手くいきません。
演算子が無いとか、いろいろ言われてしまいます。
どのように記述すると、動作するでしょうか?

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:1件)
  • 参考になった:0件
  • 回答者:O_cyan
  • 回答日時:2006/02/09 12:54

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

通報する

この回答へのお礼

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

  • 参考になった:0件

s_husky です。

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

通報する

この回答へのお礼

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

  • 参考になった:0件

s_husky です。

回答をキャンセルします。
MDBと仮定して 

Like '*A*'を
Like '%A%'と書いても
検索しないだけですね!

[演算子が無い]というエラーメッセージの原因ではないようです。

通報する

  • 参考になった:0件

No.2ベストアンサー10pt

フィールド名 like '%文字%'

単に シングルクオーテーションが無いだけ!?
それとも、

フィールド名 like '*文字*'

クライアント/サーバー系か MDB なのか不明なので判りません。

通報する

  • 参考になった:0件

No.1ベストアンサー20pt

  • 回答者:dou-de-show
  • 回答日時:2006/02/08 21:30

> 「 フィールド名 like %文字% 」
Oracle系とはワイルドカードキャラクタが異なります。

フィールド名 like '*文字*' か
フィールド名 like "*文字*" を使用してください。

任意の文字列を表す場合の%は*、
任意の1文字を表す場合の_は? です。

通報する

この回答へのお礼

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

  
このQ&Aは役に立ちましたか?(役に立った:1件)

このページのトップへ

Facebook公式ページ

公式Twitter