ADP 是围绕一个接口 ADO Classic(OLEDB 的包装器)构建的,它是孤立的,不会进一步发展。在 A2007 和 A2010 中,ADP 保持不变,这表明 MS 可能正在评估是否对它们执行对数据访问页 (DAP) 所做的处理,即在两个版本没有更改 (A2002/A2003) 之后,删除他们完全(A2007)。
但是,MS 也有可能对 ADP 做一些事情,因为 Access 团队最近在其博客上询问 SQL Server 用户关于可以在 Access 中进行哪些更改以使其更易于与 SQL Server 一起使用的反馈。该反馈将进入下一版本的 Access 之一(A2010 之后的版本或下一个版本)。这可能采取 ADP 恢复发展的形式,也可能采取完全不同的形式。我希望是后者,因为 Access 团队非常坚定地致力于将 Access 与 Sharepoint 集成(效果很好,我可能会补充),并且鉴于 Sharepoint 构建在 SQL Server 之上,我希望以 Sharepoint 为中心SQL Server“问题”的解决方案。
但我这里根本没有任何内幕消息。
在您目前的情况下,您已经开发了一个现有的 MDB。将现有的 MDB 移植到 ADP 确实不是一个简单的过程——您不能只执行 SAVE AS,也没有转换例程。这是因为 ADP 和 MDB 是完全不同的动物。MDB 是 Jet 数据库,而 ADP 是不使用 Jet 的容器文件。例如,ADP 中的对象不一定具有与 MDB 中相同的属性和行为,因此您不能只导入它们。
因此,“转换”为 ADP 需要几乎完全重写,在我看来,难度级别与移植到 WinForms 或其他完全不同的平台(尽管我从未使用过 ADP 或WinForms,所以我可能会误判)。我所知道的是,ADP 和 MDB 完全不同,以至于它们都是 Access 的事实错误地表明它们在某种程度上彼此兼容或可转换——它们不是!
鉴于 Access ADP 的未来不确定,我不建议以这种格式开始新的开发,更不用说将现有的 MDB 应用程序转换为 ADP。
对我来说,这很容易——转换为 A2003 并在很少或根本没有时间投入到该过程中的情况下完成它。
如果回报很大,我只会考虑移植,但您没有列出 Access 应用程序本身的任何缺陷——您所概述的只是您不喜欢 Access 开发模型。您可以将时间线延长一点,并考虑此应用程序的生命周期。您还应该熟悉与 Sharepoint 2010 及其 Access Services 集成的 Access 2010 的新功能,这些功能允许您在 Access 中开发前端并在 Web 浏览器中运行它。这消除了对运行时的需求,这是一个很大的帮助。
但是,将现有客户端 Access 应用程序转换为 Web Access 应用程序并不容易。但是,有一个兼容性检查器可以告诉您哪些有效,哪些无效,因此它不是完全没有一些辅助轮来帮助指导您进行转换的选择。
考虑到应用程序的大局及其生命周期,以及 Access 和 Sharepoint 的未来,您可能会想出一套完全不同的答案。
另请记住,Access 可能不会永远与 VBA 绑定。我完全期望在 A2010 之后的下两个 Access 版本之一中的某个时间,某种形式的 .NET 集成。另一方面,使用新的宏(现在具有错误处理和完整的分支结构),MS 可能会从 Access 中删除任何临时脚本语言,并仅提供大大增强的宏进行编程。
无法确定 MS 将在 5 到 10 年后与 Access 往哪个方向发展,但我们确实知道在过去两个版本中对 Access 进行了巨额投资,而 Access 的未来现在与 Sharepoint 集成密切相关。知道了这一点,您可能会对利弊的相对平衡得出不同的结论。