【发布时间】:2011-09-16 22:42:14
【问题描述】:
由于无法完全控制的情况,我必须开发 ACCESS 查询,这些查询将存储在 Access 2000 MDB 中,但可以在以下任何一种环境下开发:Access 2000、2002、2003、2007、2010。这些查询将访问(通过链接表)MS SQL Server DB 或 Access 2000 .MDB 文件。
过去,我们曾发现查询不兼容 ANSI-92 的问题。我们通过在工具|选项对话框的表/查询选项卡中标记复选框来解决这个问题(在 Access 2007 之前的旧版本下)。
我们在各种系统之间移动这些 Access 应用程序 .MDB,我们现在通常没有任何问题。
但是,我刚刚开发了一个查询,它适用于所有内部联接,但是当我将其中一个联接更改为外部联接时,查询失败并在 Access 2010 下出现“无效操作”错误。所以我想我会检查是否仍然设置了 ANSI-92 复选框。没找到。
现在,我知道 Access 2003 及更高版本会自动使用 ANSI 92 语法,但我想知道是否有任何方法可以检查这些查询在这种情况下(相当具体的情况)是否属于这种情况。我观察到,当我们更改复选框时,我所有的“Like”查询都变成了“Alike”查询...
所以问题归结为在这种情况下 ANSI 92 语法完全透明,而我的查询失败的原因是别的......
TIA, 保罗
【问题讨论】:
-
A2003 及更高版本不会自动使用 ANSI 92 语法。是什么让您认为他们会这样做?
-
微软文档(我认为是知识库文章)。
-
那是 Access 文档还是 ADO 文档?如果是前者,我敢肯定它没有这么说——我猜是后者,因为 ADO 确实总是使用 ANSI 92 语法。
标签: ms-access ms-access-2007 ms-access-2010 ansi-92