Access 2013 和其他 Office 产品以在 Office 2003 中工作
Access 2013 and other Office products to work in Office 2003
我在 Access 2013 中有一个数据库。它引用了 Office 2013 的其余部分,例如Microsoft Outlook 15.0 对象库。我想以 mdb 格式保存一份副本,并将其连同相关文件和文件夹发送给英国另一地区的同事。我已经制作了数据库的 mdb 副本,但参考仍然适用于 Office 2013,因为它是我系统的一部分。我可以使用 Office 2003 设置虚拟机,但我宁愿避免这样做。有没有办法在不使用安装了 Office 2003 的机器的情况下使数据库版本与 Office 2003 完全兼容?
当您将文件转换为 mdb 时,如果您打开应用程序的任何版本,比如从 2003 年到 2013 年,那么打开数据库的每个版本都将替换并重新设置所需的引用。
以上当然假设设置了最小引用。 (换句话说,存在的唯一引用是 Access 需要的引用,而不是对 Word 或 Excel 等应用程序的外部引用)。
您可以通过简单地在 2013 年创建一个空白数据库来“找出”最低要求,然后 ctrl-g 到 VBA 编辑器,然后转到工具 -> 参考。因此,这个“最小”列表应该是您的 2013 年数据库所具有的。
在创建 2000-2003 mdb(文件->另存为)之后,您注意到引用再次是“最小”列表。
当此类应用程序在 2010 年、2007 年甚至 2003 年开放时,“内部”使用的引用就会即时更改。
因此您不必也不需要更改引用。因此,具有 2003 的用户应该能够打开数据库。
然而,这假定您的引用已设置为如上所述的绝对最小值。
如果您打算开发任何 VBA 代码,那么出于所有实际目的,您必须使用最低的通用版本进行开发。一般来说,从高版本到低版本根本行不通。
对于“一次性”数据导出和“分钟”引用,您可以执行上述步骤。对于数据而言,引用无关紧要。但是,如果这是一个“正在进行的”应用程序,那么您需要使用 Access 2003 进行开发。此类应用程序可以在 2013 年之前使用,但在计算机行业中“倒退”是该行业过去 25 年通常不会也没有很好运作的事情。
一般来说,兼容性实际上取决于数据库的复杂程度。与任何软件的更新一样,某些功能将不可用。只是生活的事实!
VBA 后期绑定
为避免引用库不兼容,所有函数和子例程中的任何引用对象调用都是 late binded。因此,将所有早期绑定转为后期绑定,并取消选中先前选择的引用,默认引用除外(通常为 VBA、访问对象库、数据库引擎对象)。使用 Option Explicit
强制显式声明。修改完成后,编译数据库代码并查看是否所有内容都已清除。现在,无论选择的参考文献如何,应用程序都应该可用。
向后兼容性
即使进行了 VBA 调整,table 和表单功能仍然存在兼容性问题。在这里你可以看到 Access 2010 and 2007 and Allen Browne's mdb to accdb comparison 之间的向后兼容性。计算列、多值字段、数据宏等小项目将成为需要解决的问题。可能会出现其他更广泛的 Windows 系统项目,如服务包和 Windows 32/64 位。
运行时版本
如果修改对您或您的同事来说太麻烦,请考虑让 him/her 下载免费的 Access 2013 Runtime,但用户无法进行设计更改。因此,请确保在设计 Access 应用程序时考虑到这一点(即,所有用户交互都在表单上,而不是通过导航窗格或功能区)。
此外,请务必避免与完全安装的 Access 程序进行任何交互。但是您同事的 2003 版本无法识别 .accdb 扩展名。事实上,我记得曾与一位只有 Access 2003 但安装和使用 AC2010 运行时没有任何问题的客户一起工作。
I could set up a virtual machine using Office 2003
那么你应该这样做。最初可能需要更多时间,但您确信最终结果会 运行 在您同事的机器上。
我在 Access 2013 中有一个数据库。它引用了 Office 2013 的其余部分,例如Microsoft Outlook 15.0 对象库。我想以 mdb 格式保存一份副本,并将其连同相关文件和文件夹发送给英国另一地区的同事。我已经制作了数据库的 mdb 副本,但参考仍然适用于 Office 2013,因为它是我系统的一部分。我可以使用 Office 2003 设置虚拟机,但我宁愿避免这样做。有没有办法在不使用安装了 Office 2003 的机器的情况下使数据库版本与 Office 2003 完全兼容?
当您将文件转换为 mdb 时,如果您打开应用程序的任何版本,比如从 2003 年到 2013 年,那么打开数据库的每个版本都将替换并重新设置所需的引用。
以上当然假设设置了最小引用。 (换句话说,存在的唯一引用是 Access 需要的引用,而不是对 Word 或 Excel 等应用程序的外部引用)。
您可以通过简单地在 2013 年创建一个空白数据库来“找出”最低要求,然后 ctrl-g 到 VBA 编辑器,然后转到工具 -> 参考。因此,这个“最小”列表应该是您的 2013 年数据库所具有的。
在创建 2000-2003 mdb(文件->另存为)之后,您注意到引用再次是“最小”列表。
当此类应用程序在 2010 年、2007 年甚至 2003 年开放时,“内部”使用的引用就会即时更改。
因此您不必也不需要更改引用。因此,具有 2003 的用户应该能够打开数据库。
然而,这假定您的引用已设置为如上所述的绝对最小值。
如果您打算开发任何 VBA 代码,那么出于所有实际目的,您必须使用最低的通用版本进行开发。一般来说,从高版本到低版本根本行不通。
对于“一次性”数据导出和“分钟”引用,您可以执行上述步骤。对于数据而言,引用无关紧要。但是,如果这是一个“正在进行的”应用程序,那么您需要使用 Access 2003 进行开发。此类应用程序可以在 2013 年之前使用,但在计算机行业中“倒退”是该行业过去 25 年通常不会也没有很好运作的事情。
一般来说,兼容性实际上取决于数据库的复杂程度。与任何软件的更新一样,某些功能将不可用。只是生活的事实!
VBA 后期绑定
为避免引用库不兼容,所有函数和子例程中的任何引用对象调用都是 late binded。因此,将所有早期绑定转为后期绑定,并取消选中先前选择的引用,默认引用除外(通常为 VBA、访问对象库、数据库引擎对象)。使用 Option Explicit
强制显式声明。修改完成后,编译数据库代码并查看是否所有内容都已清除。现在,无论选择的参考文献如何,应用程序都应该可用。
向后兼容性
即使进行了 VBA 调整,table 和表单功能仍然存在兼容性问题。在这里你可以看到 Access 2010 and 2007 and Allen Browne's mdb to accdb comparison 之间的向后兼容性。计算列、多值字段、数据宏等小项目将成为需要解决的问题。可能会出现其他更广泛的 Windows 系统项目,如服务包和 Windows 32/64 位。
运行时版本
如果修改对您或您的同事来说太麻烦,请考虑让 him/her 下载免费的 Access 2013 Runtime,但用户无法进行设计更改。因此,请确保在设计 Access 应用程序时考虑到这一点(即,所有用户交互都在表单上,而不是通过导航窗格或功能区)。
此外,请务必避免与完全安装的 Access 程序进行任何交互。但是您同事的 2003 版本无法识别 .accdb 扩展名。事实上,我记得曾与一位只有 Access 2003 但安装和使用 AC2010 运行时没有任何问题的客户一起工作。
I could set up a virtual machine using Office 2003
那么你应该这样做。最初可能需要更多时间,但您确信最终结果会 运行 在您同事的机器上。