我想在SQL query
中运行VBA
。 table
的名字是t
。我正在使用通配符来查找任何匹配的条目。但是,我得到了type mismatch error
。
我试过以下:
Dim j as string
Dim SQL1 as string
j = "ED"
SQL1 = "SELECT t.ID, t.Name " _
&"FROM t " _
& WHERE (((t.Name) Like " * " & '" & j & "' & " * ")); "
有人可以帮助我,我在这里犯了一个错误。
如果您要在任何配有VBA语法高亮显示的代码编辑器中查看原始代码,您很快就会发现字符串连接中单引号和双引号的不平衡 - 甚至可以使用此站点上的语法高亮显示:
SQL1 = "SELECT t.ID, t.Name " _
&"FROM t " _
& WHERE (((t.Name) Like " * " & '" & j & "' & " * ")); "
请注意,WHERE (((t.Name) Like
不会显示为字符串,因为您错过了该行的开头双引号,并且第一个单引号后面的任何内容都被视为注释。
由于只有可变数据需要连接,因此您对SQL1
变量的定义可以大大简化为以下内容:
SQL1 = "SELECT t.ID, t.Name FROM t WHERE t.Name Like '*" & j & "*'"
或者,您可以按以下方式使用双引号在结果串联字符串中产生双引号:
SQL1 = "SELECT t.ID, t.Name FROM t WHERE t.Name Like ""*" & j & "*"""
试试这个:(星号和撇号的位置很重要!)
SQL1 = "SELECT t.ID, t.Name " _
& "FROM t " _
& "WHERE t.Name Like '*" & j & "*'"