在MS Access DoCmd.OpenForm中使用SQL Like语句

时间:2013-08-27 21:03:01

标签: sql ms-access ms-access-2007 access-vba

使用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

由于

2 个答案:

答案 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。