MS ACCESS2000のVBAでDocmd.openformしてます
openform のパラメータのwhereconditionに、like演算子を使って、
「 フィールド名 like %文字% 」
というような指定をしたいのですが、上手くいきません。
演算子が無いとか、いろいろ言われてしまいます。
どのように記述すると、動作するでしょうか?
回答(5件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
DoCmd.OpenForm "テーブル名", , , "フィールド名 Like '*文字*'"
これで出来ます。
定数を使ってなら
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "テーブル名"
stLinkCriteria = "a Like '*文字*'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
で出来ます。
この回答へのお礼
ありがとうございました。
結果的には、シングルクォート(ダブクォートでもいいのですね)と、%→*の2重の罠にはまっていたようでした。
回答感謝いたします。
s_husky です。
Like の前後に全角のブランクがある場合[演算子がありません]と出ます。
No.1さんの回答を<全角のブランク抜き>で!!
この回答へのお礼
ありがとうございました。
結果的には、シングルクォート(ダブルクォートでもいいのですね)と、%→*の2重の罠にはまっていたようでした。
回答感謝いたします。
s_husky です。
回答をキャンセルします。
MDBと仮定して
Like '*A*'を
Like '%A%'と書いても
検索しないだけですね!
[演算子が無い]というエラーメッセージの原因ではないようです。
No.2ベストアンサー10pt
フィールド名 like '%文字%'
単に シングルクオーテーションが無いだけ!?
それとも、
フィールド名 like '*文字*'
クライアント/サーバー系か MDB なのか不明なので判りません。
No.1ベストアンサー20pt
> 「 フィールド名 like %文字% 」
Oracle系とはワイルドカードキャラクタが異なります。
フィールド名 like '*文字*' か
フィールド名 like "*文字*" を使用してください。
任意の文字列を表す場合の%は*、
任意の1文字を表す場合の_は? です。
この回答へのお礼
ありがとうございました。
結果的には、シングルクォート(ダブルクォートでもいいのですね)と、%→*の2重の罠にはまっていたようでした。
回答感謝いたします
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











