我已将AllParts定义为VBA中的变量。由于在SQL中格式化(见下文),我收到了错误。新的,似乎无法适当调整。有什么建议?谢谢!
and msikp.concatenated_segments in (" & AllParts & ")
答案 0 :(得分:1)
大概你的完整的 VBA行看起来像这样?


用于SQL字符串的实际引号会因驱动程序/ DBMS而异。对于SQL Server,单引号应该:


 Dim AllParts As String
 Dim SQL As String

 AllParts =“' Foo','Bar'“
 SQL =”SELECT * FROM segments AS msikp“& _
 “WHERE msikp.id> 0”& _
 “和”& AllParts&“中的msikp.concatenated_segments”

&#xA;&#xA; 对于Access,转义双引号效果更好:< / p>&#xA;&#xA;
Dim AllParts As String&#xA; Dim SQL As String&#xA;&#xA; AllParts =“”“Foo”“,”“Bar”“” &#xA; SQL =“SELECT * FROM segments AS msikp”&amp; _&#XA; “WHERE msikp.id&gt; 0”&amp; _&#XA; “和msikp.concatenated_segments in(”&amp; AllParts&amp;“)”&#xA;
&#xA;&#xA; 如果有,那么它应该可以工作,但要注意使用连接串联构建SQL可能会使您暴露于SQL注入攻击。
&#xA;