Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql update语句中的VBA语法错误,3144_Sql_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Sql update语句中的VBA语法错误,3144

Sql update语句中的VBA语法错误,3144,sql,ms-access,vba,ms-access-2010,Sql,Ms Access,Vba,Ms Access 2010,我是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

我是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子句”中有错误,如果我删除该行,则查询工作


有人知道吗?感谢您检查字符串连接行之间的间距(对于我来说,我通常在开始处放置空格,以便看到)。另外,使用中的
运算符,而不是子查询的等式
=

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?] & ";"

您还需要连接
[rs]![car rental contract printed?]
value。你的意思是“&[rs]![car rental contract printed?]&”它以前是这样的,但不起作用,它是一个布尔值,所以我尝试不使用它,然后它起作用了,正如我提到的,如果我删除第二行并只保留一个“WHERE”子句[rs]![car rental contract printed?]则有效。不要双引号引用布尔值(它们类似于整数):
“&[rs]![car rental contract printed?]&”;“
相同的错误,我已经尝试过了,正如我提到的,上一个条件只有在我删除所有报价时才起作用。只有在我添加此条件时才会出现错误,其中[Customer\u ID]………--看看你执行了什么。奇怪的是,它产生了相同的错误,但是更新了表中的值,但是为什么它在更新表后产生了相同的错误?你一直在说“相同的错误”“-我没有看到你提到错误消息是什么?-编辑-哦,现在我看到了!在大标题putsql-string-strSQL中,添加debug.printstrsql-show。将调试中的文本复制/粘贴到查询窗口中并在那个里运行-将显示更好的错误消息。在尝试解决此问题的两天中,我有很多注释代码和查询,其中一个并没有注释,我不知道这是实际产生的错误,而不是这一个。现在可以了。谢谢大家。