【问题标题】:Run time error 3075 syntax error on update query更新查询上的运行时错误 3075 语法错误
【发布时间】:2014-03-16 22:27:10
【问题描述】:

我在用 SQL 编写更新查询时遇到问题,其中有两个子句,其中一个子句有两个用 AND 函数标识的场景。

我得到的运行时错误是 3075,说明 where 表达式存在语法错误。看着它,在做了很多研究之后,我想我快到了。

谢谢,A

st_sql = "UPDATE tblSearchEngine01 SET tblSearchEngine01.Query01OpenItems =""" & _
    "WHERE (((tblSearchEngine01.Status)='open')) OR (((tblSearchEngine01.Overall_status)    <>'complete') AND ((tblSearchEngine01.Status) Is Null))"

【问题讨论】:

  • 为什么要用这些括号?
  • 我正在使用 MS Access SQL 生成器。它建议了他们..我应该摆脱他们吗?
  • 好吧,我当然会
  • 我收到同样的错误信息 :(
  • 引号是否有问题?

标签: sql ms-access-2010


【解决方案1】:

嗯,错误不在您怀疑的地方。带引号的字符串中的两个引号被解释为一个引号。您需要在此处加倍引号:

 st_sql = "UPDATE tblSearchEngine01 SET tblSearchEngine01.Query01OpenItems =""""" & _

考虑在 SQL 语句中使用单引号,因为这样可以提高可读性。

 st_sql = "UPDATE tblSearchEngine01 SET tblSearchEngine01.Query01OpenItems = ''" & _

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多