1

MS Access を使用して、特定の列で文字列を検索しようとしています。DoCmd.OpenForm の WHERE 引数を使用すると、「=」を使用して完全一致を取得できました。ただし、エンド ユーザーはより自由度の高いフィルターを使用する必要があるため、代わりに LIKE を使用する必要があります。

問題は、SQL を構成する文字列で % または * を使用するとエラーが発生し続けることです。

 stLinkCriteria = "[" & Combo_Filter_Name & "] Like %'" & Text_Filter_Name & "'%"
 DoCmd.OpenForm stDocName, acFormDS, , stLinkCriteria

私は何を間違っていますか?以前使用していた次のコードは完全に機能しますが、やはり LIKE を使用する必要があります。

stLinkCriteria = "[" & Combo_Filter_Name & "] = '" & Text_Filter_Name & "'"
DoCmd.OpenForm stDocName, acFormDS, , stLinkCriteria

ありがとう

4

2 に答える 2

2

ここでの問題は、% 記号が引用符の外側にあることです。

%'mysearch'% を書きました

「%mysearch%」と書く必要があります

(mysearch は検索する文字列です)

ただし、MS Access では % の代わりに * を使用する必要がある場合があります。

于 2013-08-27T21:47:43.337 に答える
2

MS Access は SQL 標準に準拠していませんが、 in*の代わりに%and?の代わりに使用します。http://office.microsoft.com/en-us/access-help/like-operator-HP001032253.aspxを参照してください。_like

于 2013-08-27T21:15:37.040 に答える