我正在尝试在 Access 2007 中重建 Access adp 应用程序。我从一个空白数据库开始,用 ODBC 链接我需要的 SQL Server 表,然后复制原始应用程序中的所有表单。然后我更新了表单的数据源以转到正确的表。
当我打开其中一个表单时,我收到错误“WITH OWNERACCESS OPTION 声明中的语法错误”。在运行 Open 事件代码之前发生此错误。
有没有人对如何追踪此错误的来源有任何想法?或者也许有另一种方法来完全做到这一点?
谢谢!
WITH OWNERACCESS OPTION 在 ADP 中没有任何意义,因为它是 Jet SQL 用于 Jet 用户级安全性的命令。使用 ADP,应在服务器上设置所有安全性。因此,您应该从表单 RecordSources 中删除所有 WITH OWNERACCESS OPTION 语句。
坦率地说,我不确定它们对保存的 QueryDef 以外的任何东西都有影响,因此它们很可能是原始应用程序中的错误。
此外,我绝不建议将任何内容从 MDB 复制到 ADP 中。首先,我不认为迁移到 ADP 是可取的(尽管我当然将 ADP 作为管理工具与使用 SQL Server 的 MDB/ODBC 应用程序一起使用),但其次,这两个平台之间存在很多差异我只是看不到他们工作。
如果我选择将 MDB 迁移到 ADP(我无法想象我会这样做,因为 MS 已经弃用 ADP 大约五年了),我会从头开始并从头开始重建它。