You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access VBA删除SQL语句报错‘Expected end of Statement’,WHERE高亮如何解决?

解决VBA中DELETE语句拼接的"Expected end of Statement"错误

错误核心原因

你的代码问题出在SQL字符串拼接不完整:WHERE关键字没有被包含在字符串常量中,也未用&完成后续语句的拼接,导致VBA无法正确解析这条赋值语句,触发语法错误。

修正后的代码

' 拼接完整的DELETE SQL语句
Dim sql As String
sql = "DELETE * FROM DailyLog_" & UserLoggedOn & " WHERE [RespLBPerson] <> '" & Me.LstRespLBPers.Value & "'"

' 执行SQL语句(补充完整执行逻辑)
CurrentDb.Execute sql, dbFailOnError

关键修正点

  • 用&连接DailyLog_" & UserLoggedOn与后续的" WHERE [RespLBPerson] <> '" & Me.LstRespLBPers.Value & "'",将整个SQL语句拼成一个完整字符串
  • 若RespLBPerson是文本类型字段,需用单引号包裹列表框的选中值(Me.LstRespLBPers.Value);如果是数字类型则去掉单引号
  • 明确使用.Value属性获取列表框选中值,代码逻辑更清晰

调试小技巧

执行前可以打印生成的SQL语句,检查格式是否符合预期:

Debug.Print sql

打开VBA编辑器的「立即窗口」(Ctrl+G)即可查看语句内容,方便快速排查格式问题。

内容的提问来源于stack exchange,提问作者pjenks25

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 03:20:14