Access 2010 中的 LookupRecord 数据块不接受 SQL

Posted

技术标签:

【中文标题】Access 2010 中的 LookupRecord 数据块不接受 SQL【英文标题】:LookupRecord Data Block in Access 2010 not accepting SQL 【发布时间】:2014-04-04 18:51:07 【问题描述】:

在我能找到的所有文档中(包括这个page on MSDN),LookupRecord 数据块被描述为

标识要操作的记录的字符串。 In 参数可以包含表的名称、选择查询或 SQL 语句

强调我的“SQL语句”;我希望能够直接将SELECT 放入 In 字段中,尤其是像SELECT TOP 1 * FROM myTable ORDER BY id 这样的简单查询,但无论我在该字段中输入什么,它都会给我一些错误提示“SQL 语句无效”的气球。

没有什么奇怪的事情发生,它不是一个链接表,它是一个 .accdb 文件,等等。

LookupRecord 是否只接受表名或查询?

【问题讨论】:

【参考方案1】:

当然,发布后我会立即得到答案。

答案:

在宏中使用 SQL 时,您必须始终使用方括号将对象名称封装起来。

例如:

好的:SELECT [myTable].[myColumn] FROM [myTable] ORDER BY [myTable].[effectiveDate]

错误:SELECT myTable.myColumn FROM myTable ORDER BY myTable.effectiveDate

【讨论】:

值得注意的是,您似乎仍然无法使用 TOP 1 - 这是 LookupRecord 的本质所暗示的吗?

以上是关于Access 2010 中的 LookupRecord 数据块不接受 SQL的主要内容,如果未能解决你的问题,请参考以下文章

宏中的 Access 2010 SQL 错误

Access 2010 中的 SQL 错误

使用 VBA 在 Access 2010 中的表单上显示记录集

Access 2010 数据库中的审计跟踪

Access 2010 中的分组年龄范围

Access 2010 中的 INSERT INTO 语句中出现 SQL 语法错误