使用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
由于
答案 0 :(得分:2)
MS Access不符合SQL标准,但在*
中使用%
代替?
和_
代替like
。见http://office.microsoft.com/en-us/access-help/like-operator-HP001032253.aspx
答案 1 :(得分:2)
这里的问题是%符号在引号之外。
您已撰写%'mysearch'%
你应该写'%mysearch%'
(mysearch是您要搜索的字符串)
您可能需要使用*而不是%来进行MS Access。