VBA 更新语句中的语法错误,3144

VBA Syntax error in update statement, 3144

我是 VBA 的新手,无法使用查询

db.Execute "UPDATE t_inquiry " _
    & "SET [car rental contract printed?] = True " _
    & "WHERE [Customer_ID] = (SELECT [Gast_ID] FROM t_customer WHERE t_customer.[Mail 1] = '" & [rs]![Mail 1] & "')" _
    & "AND [car rental contract printed?] = [rs]![car rental contract printed?];"

第二行有问题"where clause"如果我删除该行则查询有效。

有人知道吗?谢谢

检查字符串连接线之间的间距(对我来说,我通常将 space 放在开头以便明显看到)。此外,使用 IN 运算符而不是子查询的相等性 =

db.Execute "UPDATE t_inquiry" _
    & " SET [car rental contract printed?] = True" _
    & " WHERE [Customer_ID] IN (SELECT [Gast_ID] FROM t_customer WHERE t_customer.[Mail 1] = '" & [rs]![Mail 1] & "')" _
    & " AND [car rental contract printed?] = " & [rs]![car rental contract printed?] & ";"