首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >问题:错误'3075‘语法错误(缺少运算符) access 2013

问题:错误'3075‘语法错误(缺少运算符) access 2013
EN

Stack Overflow用户
提问于 2019-01-17 09:48:20
回答 3查看 81关注 0票数 0

你们谁能告诉我我的代码出了什么问题:

代码语言:javascript
复制
Private Sub Command379_Click

Dim strsearch as String

Dim strText as String

strText = Me.TxtSearch.Value

strsearch = "Select * from qryInfo 
where ((Supplier Name LIKE ""*" & strText & "*"") 
OR (Type LIKE ""*" & strText & "*""))"


Me.RecordSource = strsearch

End Sub

非常感谢!

EN

回答 3

Stack Overflow用户

发布于 2019-01-17 09:58:37

如果您想匹配包含双引号的文本,请按照以下步骤操作:

文本:

代码语言:javascript
复制
"abc"

VBA中的文本:

代码语言:javascript
复制
"""" & "abc" & """" (4 double quotation marks are necessary)

谢谢。

票数 0
EN

Stack Overflow用户

发布于 2019-01-17 18:30:34

应考虑以下

如果你有像Supplier Name这样内部为空的字段名,那么你必须用方括号将它括起来:在你的例子中,

  • ()并不是真的必须的。为了添加文字引号,你可以使用单引号(
  • ""),而不是使用两个引号(""),更清楚的是保留字(
  • )。如果可能的话,你不应该使用它。在VBA中,你的SQL字符串实际上被分成了几行,然后你必须使用下划线(_)和字符串连接来明确地处理它:

strTest =“这是一个字符串”&_“在VBA语言的几行”&_“代码中定义。”

或者,您可以使用以下命令:

strTest = "This is a string“strTest = strTest &”在VBA中的几行“strTest = strTest &”代码中定义。“

最后,包含的(单行)应该是这样的:

代码语言:javascript
复制
strSearch = "Select * From qryInfo Where [Supplier Name] Like '*" & strText & "*' Or [Type] Like '*" & strText & "*'"

也很重要:

请注意,使用字符串连接的当前方法无法避免SQL注入,这是一个真正的安全问题!

下面看看如何更好地处理它(例如,在VBA中使用参数查询):How do I use parameters in VBA in the different contexts in Microsoft Access?

票数 0
EN

Stack Overflow用户

发布于 2019-01-18 21:40:16

只有通配符就等同于根本没有WHERE标准。所以你不需要WHERE语句。

…...having说-我建议您使用查询设计视图创建查询,然后一旦它返回您认为正确的记录-然后使用选项在SQL视图中显示它。这将为您提供语法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54227882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档