如何解决MS Access-VBA SQL执行中的错误?
我想通过Access VBA运行以下查询,并在附加屏幕中收到错误。有什么办法解决吗如何解决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您的查询没有正确编写。
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 & "#"