ms-access - 将 Access 2010 accdb 转换为 2007 accdb

标签 ms-access ms-access-2007 ms-access-2010

我正在尝试将 Access 2010 中使用的 accdb 文件转换为 Access 2007。我首先尝试使用 Access 2007 打开该文件,但收到错误无法识别的数据库格式。我能够在 2007 年通过删除 MSysResources 表(使用新的附件数据类型)来打开我的后端,但相同的技术不适用于我的前端。

我的前端确实使用了网络浏览器控件(微软声称该控件不起作用,但也不会阻止文件表单的打开)。我想我最好一次导入一张表格来看看错误在哪里。在一个新的空白 2007 文件中,我尝试使用 External Data>Access 导入一个表单(一个非常简单的表单、一个按钮、两个文本框)。与打开整个文件相同的错误。我尝试将 2010 年与 2007 年同时打开,然后复制/粘贴表格。同样的错误。 无法识别的数据库格式

然后,我尝试在 2010 年使用 Application.SaveAsText 导出表单,并在 2007 年使用 Application.LoadFromText 导入。导入时出现错误,但至少此方法会生成一个错误日志。 error.txt 文件的标题行 PublishOption =1 存在问题。删除后,我不断收到有关主题设置的错误。我删除了所有与主题相关的有问题的每一行(HoverForeThemeColorIndexAlternateBackThemeColorIndex...)。不过,我从来没有摆脱足够的这些来成功导入表单。

我哪里出错了?如果像我怀疑的那样,我无法在 2007 年使用 2010 年生成的主题,那么如何从我的所有表单中删除所有这些引用?这实际上是问题所在吗?如何更顺利地移回 2007 年文件?

编辑:原来客户端使用的是 Office 2007 SP2。我将更新我的开发机器并再次尝试这一切。我最初没有使用任何服务包。

最佳答案

根据 Microsoft 支持文章

Backward compatibility between Access 2010 and Access 2007

Access 2010 数据库可以恢复为“Access 2007 格式”

  1. 从数据库中删除所有特定于 Access_2010 的功能(本文中有详细信息),
  2. 创建新的“空白数据库”(不是“空白网络数据库”),并且
  3. 使用 Access 2010 中的外部数据 > 导入将所有对象(表、表单等)从以前的数据库导入到新的(空)数据库中。

必须删除的功能列表中包括一些在随意检查原始 Access 2010 数据库时可能不会立即显而易见的功能,例如

  • 使用新的或更新的数据库排序顺序,并且
  • 使用“Access 2010 加密合规性”。

关于ms-access - 将 Access 2010 accdb 转换为 2007 accdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15822201/

相关文章:

ms-access - 通过网络共享 mdb 文件,对于许多计算机,无法编辑应用程序

c# - 通过 Interop 为 Microsoft Access 创建宏

ms-access - 尝试解决 VBA 中的 "invalid use of Null"

ms-access - 关闭数据库时执行代码

java - 使用java在access数据库中创建表期间出现"Reserved Error (-5001) and there is no reason for this error"

database-design - 多个位置的 Access 2007 后端 - 共享与隔离数据库方法

ms-access - 在 VBA 中导入 UTF-8 文件

ms-access - 拦截 Microsoft Access 中的自动保存

c#/Access 2010 - 从任务计划程序运行 DoCmd.OutputTo 错误

ms-access - MS Access vba,打开带参数的select query,运行时3065无法执行select query