由于情况不完全在我的控制之下,因此我必须开发ACCESS查询,这些查询将存储在Access 2000 MDB中,但可以在任何一种:访问2000年,2002年,2003年,2007年,2010年。这些查询将访问(通过链接表)MS SQL Server数据库或Access 2000.MDB文件。确保Access 2000 mdb上的SQL-92到Access 2010下的SQL Server
在过去,我们遇到了一些问题,我们追踪到的查询不是ANSI-92兼容的。我们通过在“工具”|“选项”对话框的表格/查询选项卡中标记复选框来解决这个问题(在旧版本的Access 2007以下)。
我们在各种系统之间移动这些Access应用程序.MDB,现在我们通常不会有任何问题。
但是,我刚刚开发了一个适用于所有内部连接的查询,但是当我将其中一个连接更改为外部连接时,查询失败,Access 2010下出现“无效操作”错误。以为我会检查ANSI-92复选框是否仍然设置。我找不到它。
现在,我知道Access 2003和更高版本自动使用ANSI 92语法,但我想知道是否有任何方法来检查这是这种情况(在特定情况下)这些查询。我观察到,当我们改变复选框时,我所有的“Like”查询变成了“ALike”查询...
所以问题归结为ANSI 92语法在这种情况下完全透明,而我的查询失败的原因是别的东西......
TIA, 保罗
A2003及更高版本不自动使用ANSI 92语法。你认为他们做什么? – 2011-06-17 18:43:52
微软文档(我认为在知识库文章)。 – PaoloFCantoni 2011-06-22 04:19:20
是Access文档还是ADO文档?如果前者,我确定它没有这么说 - 我猜它是后者,因为ADO确实总是使用ANSI 92语法。 – 2011-06-23 01:43:43