我关于在 Access 2003 和 2007 之间切换时的重新配置延迟的问题发表了评论:
顺便说一句,您无法避免在 Access 2007 和早期版本之间进行重新配置。Access 2007 使用一些与早期版本相同的注册表项,并且在打开 Access 2007 时必须重写它们。
如果是这样,那么同时在两个版本中运行/开发数据库实际上是否安全?注册表更改是否会影响 Access 启动后的操作。例如重新编译/保存对对象的更改?
我关于在 Access 2003 和 2007 之间切换时的重新配置延迟的问题发表了评论:
顺便说一句,您无法避免在 Access 2007 和早期版本之间进行重新配置。Access 2007 使用一些与早期版本相同的注册表项,并且在打开 Access 2007 时必须重写它们。
如果是这样,那么同时在两个版本中运行/开发数据库实际上是否安全?注册表更改是否会影响 Access 启动后的操作。例如重新编译/保存对对象的更改?
它大部分时间都可以工作,但并不完全安全,这就是为什么 Microsft 拒绝支持在同一台电脑上安装多个 Microsoft Office。推荐的解决方案是安装虚拟机并在虚拟机上安装第二个 Microsoft Office 版本。然后,您可以从一个版本的 Access 切换到另一个版本,而不会相互干扰(并且没有切换时间等待!)
Microsoft 提供了 32 位和 64 位版本的免费下载 Virtual PC 2007:
这是服务包:
它非常安全,我经常这样做(运行和开发)。在 Access 2007 中打开数据库后,一些额外的属性将被添加到数据库中。但是,这样做的方式是您以后仍然可以在 Access 2003 中安全地打开数据库。
我们还在多版本环境中安装了数据库,不同的人使用相同的后端,前端在 Access 2003 或 2007 中打开。
在我看来,您打开的 Access 实例将在打开时继承注册表设置。因此,如果您打开 A2K7,您将获得它在“配置 Office”过程中写入的注册表设置。如果在 A2K7 仍处于打开状态时打开 A2K3,它将重新配置注册表设置并为其会话继承这些设置。这对已经运行的 A2K7 实例没有影响。
唯一可能的例外是,如果“配置...”进程更改了某些注册表项,Access 在打开时不会读取,但会在会话的后期读取。我强烈怀疑 MS 会不会那样设计东西。自从 MS 引入 MS Installer(大多数使用 Office 2000 的人第一次看到)以来,Professional Access 开发人员一直在处理这种事情,并且 A2K7 问题仅比以前的版本稍差(尽管在 Vista 上,它更复杂,因为Vista 处理注册表更改的方式)。MS 因在一台 PC 上考虑多个版本的 Access 而感到沮丧的事实并不意味着它实际上很危险——它仅表明他们不想投入资源来支持这种情况。