FROM子句Excel VBA中的语法错误

编程入门 行业动态 更新时间:2024-10-10 13:24:24
本文介绍了FROM子句Excel VBA中的语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

这是我的代码,用于从访问中检索数据,但是我经常遇到运行时错误'-2147217900(80040e14)'FROM子句中的语法错误"

Here is my code to retrieve data from access but I always encounter "Run-time error '-2147217900 (80040e14)' Syntax error in FROM clause"

Sub UPDATE_REGION() Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim AW As Workbook Set AW = ActiveWorkbook Path = AW.Path cnn_pth = Path & "\Master File.accdb" Set cnn = New ADODB.Connection With cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .Open cnn_pth End With Set rst = New ADODB.Recordset sSQL = "select Package_Nb from [package_db] where [Hubs] is null" rst.Open Source:=sSQL, ActiveConnection:=cnn, CursorType:=adOpenForwardOnly, LockType:=adLockOptimistic, Options:=adCmdTable end subs

当我停止调试脚本时,我在本地窗口中找到了源值,如下所示:"select * from select * from package_db中的Package_Nb,其中Hubs为空"

When i stop script to debug, I found Source value in Local Window like this: "select * from select Package_Nb from package_db where Hubs is null"

我不知道为什么vba会这样向源自动添加 select * from ,有人知道如何解决此问题吗?

I don't know why vba auto add select * from to source like this, anyone know how to fix this?

推荐答案

您的选项有误.这个:

Options:=adCmdTable

应该是这样:

Options:=adCmdText

由于您没有传递表名,而是传递了SQL字符串.(当您传递表名时,它会有效地转换为 SELECT * FROM table_name 语句).

Since you are not passing a table name but a SQL string. (when you pass a table name it is effectively converted into a SELECT * FROM table_name statement).

更多推荐

FROM子句Excel VBA中的语法错误

本文发布于:2023-10-28 10:37:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1536397.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:子句   语法错误   Excel   VBA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!