【发布时间】:2010-08-13 14:13:14
【问题描述】:
我在一家公司工作,我们可能会从 Access97/2003 更新到 Access2010。
在玩弄了一个原型之后,我发现将 Access 2010 与在 Access 2003 中创建的数据库一起使用时出现问题。
在某些情况下,Access 2003 中的现有查询/SQL 将在 Access 2010 中变得不可用。这里有一个小例子:
表名:参数字段名:数字、值
使用 Access 2003 查询设计器创建的查询:
SELECT Parameters.Value
FROM [Parameters]
WHERE (((Parameters.Number)=100));
这适用于 Access 2003。 在 Access 2010 中引发错误:PARAMETER 子句中的语法错误
该错误的解决方法是更改 Access 2003 中的视图。这里我们去掉括号:
SELECT Parameters.Value FROM [Parameters] WHERE Parameters.Number=100;
这将在 Access 2010 中工作,但查询在设计器中保持不变,因为查询设计器创建了上面显示的语法。
这个错误的原因其实是使用了保留字'Number',在开始建表或查询的时候不应该使用,但是对于已有数百个数据库的迁移,它是非常有用的可能或至少有风险在未经完整测试的情况下更改 Access 版本。
我的想法是编写一个小程序来打开所有现有的视图和表格来检查它们是否工作正常。
无论如何,是否有人对此有更好的解决方案,或者是否有工具可以检查 MS-Access 2003 数据库是否与 Access 2010 兼容?
在此先感谢
约尔格
【问题讨论】:
标签: ms-access