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
如何解决MS Access-VBA SQL执行中的错误?_Vba_Ms Access - Fatal编程技术网

如何解决MS Access-VBA SQL执行中的错误?

如何解决MS Access-VBA SQL执行中的错误?,vba,ms-access,Vba,Ms Access,我想通过Access VBA运行以下查询,并在附加屏幕中收到错误。有什么办法解决吗 deletenew = ("DELETE * FROM TEST1 where [ADAM] = " & luadam & " and [Last_Update_Date]=" & " " & "") DoCmd.RunSQL deletenew 提前感谢, Andreas您的查询没有正确编写。

我想通过Access VBA运行以下查询,并在附加屏幕中收到错误。有什么办法解决吗

deletenew = ("DELETE * FROM TEST1 where [ADAM] = " & luadam & " and [Last_Update_Date]=" & " " & "")

DoCmd.RunSQL deletenew

提前感谢,


Andreas

您的查询没有正确编写。 这:


更多信息请访问:

设置
deletenew
后停止执行,然后在即时窗口中运行此操作以查看变量的内容:
Debug.Print deletenew
。那么你应该看到问题所在。1.字段
ADAM
似乎是一个字符串,您需要在
中嵌入
luadam
的值。2.对于字段
Last\u Update\u Date
您根本不提供任何值。文本字段的串联参数需要撇号分隔符。日期/时间字段的串联参数需要#分隔符。没有提供日期参数。您好!通过将where语句放在“”中解决了这个问题。deletenew=(“[ADAM]=”&luadam&“'和“[Last_Update_Date]为null”;”)您还应该阅读有关ado或dao的内容,以避免查询中sql注入的风险:如果您的问题可以用文本格式编写,则应该以文本格式而不是图像格式显示。特别是在错误日志的情况下,应该可以进行搜索。请参阅下面有关stackoverflow的指南。/谢谢你的回答!如果在ISODATE的位置,我想输入null,我该怎么做?使用:
ISNULL([Last\u Update\u Date])
:D
&“并且[Last\u Update\u Date]为null”)
和[Last\u Update\u Date]为null
应该可以。VBA查询仍然存在问题:ludate=rs(“上次更新日期”)。Value luadam=rs(“ADAM”)。Value deletenew=(“从TEST1中删除*,其中([ADAM])=“&luadam&”和isnull([Last更新日期])”)DoCmd.RunSQL deletenew我得到错误3075
"where [ADAM] = " & luadam & " and [Last_Update_Date]=" & " <<MissingValue>> " & ""
"where [ADAM] = '" & TextValueHere & "' and [Last_Update_Date]= #" & ISODateHere & "#"