Sql ms access-在vba中选择查询时,列为空

Sql ms access-在vba中选择查询时,列为空,sql,ms-access,vba,Sql,Ms Access,Vba,当我在vba中编写select语句以从查询中获取列时,它是空的 我有一个由多个表连接的查询 例如,如果我调用从query where query.id=5中选择query.specialcolumn,我会得到一个空的back。但是,如果我在查询表中查看它,我会看到ID=5的数据和数据 设计模式下的直接SQL也会生成空白。只有当我作为一个整体查看查询时,我才能看到数据 有什么想法吗?听起来好像您使用了“查询”作为已保存查询的名称。查询是一个保留字,请参阅。很难预测作为对象名的保留字何时会产生问题。

当我在vba中编写select语句以从查询中获取列时,它是空的

我有一个由多个表连接的查询

例如,如果我调用
从query where query.id=5中选择query.specialcolumn,我会得到一个空的back。但是,如果我在查询表中查看它,我会看到ID=5的数据和数据

设计模式下的直接SQL也会生成空白。只有当我作为一个整体查看查询时,我才能看到数据

有什么想法吗?

听起来好像您使用了“查询”作为已保存查询的名称。查询是一个保留字,请参阅。很难预测作为对象名的保留字何时会产生问题。我不相信名字是这里的问题。但在调查其他事情之前,我会先排除这个可能性

在SQL中引用的所有查询处,将其括在方括号中

select [query].specialcolumn from [query] where [query].id=5

方括号将通知db引擎查询是一个数据库对象而不是保留字。

您也可以为“查询”发布SQL吗?请,从表面上看,这听起来很奇怪