【问题标题】:Running Access queries : "Syntax Error in From Clause" Error [duplicate]运行访问查询:“From 子句中的语法错误”错误 [重复]
【发布时间】:2020-07-11 23:06:49
【问题描述】:

我正在尝试在 Excel VBA 中的 Microsoft Access 中运行查询。我收到错误“FROM 子句中的语法错误”。我哪里错了?

Dim conn as ADODB.connection
Dim thisSQL as string
thisSQL = "SELECT Column FROM QueryName WHERE [Column] = Test;"
Set conn = new ADODB.Connection
with conn
.connectionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Z:\AXIS Conversion\FIA FAS 133 Documentation\AVRF Validation\AVRF Testing Database.accdb;"
.open
.execute thissql, ,adcmdtext

我通过添加/删除分号、添加/删除括号等,在我的 SQL 代码中尝试了许多变体。 谢谢!

【问题讨论】:

  • 表有名为“列”的字段?如果 [Column] 是文本类型字段,则需要撇号分隔符:WHERE [Column]='Test';"。此外,Execute 用于操作 SQL(DELETE、INSERT、UPDATE)。 SELECT 需要一个记录集对象。
  • 另外,Column 是保留字。不应使用保留字作为名称。如果有,请用 [ ] 括起来。

标签: sql vba ms-access


【解决方案1】:

我认为您错误地比较了列值。 尝试将值 Test 放在单引号中

thisSQL = "SELECT Column FROM QueryName WHERE [Column] = 'Test';"

代替

thisSQL = "SELECT Column FROM QueryName WHERE [Column] = Test;"

还验证直接在访问中运行相同的查询。

【讨论】:

  • 答案只是部分解决方案,因为代码存在多个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 2013-02-27
  • 2013-07-30
  • 2014-04-17
相关资源
最近更新 更多