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

MS Access 不遵守 SQL 标准,而是使用*代替%?代替_in like。请参阅http://office.microsoft.com/en-us/access-help/like-operator-HP001032253.aspx

于 2013-08-27T21:15:37.040 回答
2

这里的问题是 % 符号在引号之外。

你写了 %'mysearch'%

你应该写 '%mysearch%'

(其中 mysearch 是您要搜索的字符串)

您可能需要使用 * 而不是 % 来进行 MS Access。

于 2013-08-27T21:47:43.337 回答