我正在尝试将 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
存在问题。删除后,我不断收到有关主题设置的错误。我删除了所有与主题相关的有问题的每一行(HoverForeThemeColorIndex
、AlternateBackThemeColorIndex
...)。不过,我从来没有摆脱足够的这些来成功导入表单。
我哪里出错了?如果像我怀疑的那样,我无法在 2007 年使用 2010 年生成的主题,那么如何从我的所有表单中删除所有这些引用?这实际上是问题所在吗?如何更顺利地移回 2007 年文件?
编辑:原来客户端使用的是 Office 2007 SP2。我将更新我的开发机器并再次尝试这一切。我最初没有使用任何服务包。
最佳答案
根据 Microsoft 支持文章
Backward compatibility between Access 2010 and Access 2007
Access 2010 数据库可以恢复为“Access 2007 格式”
- 从数据库中删除所有特定于 Access_2010 的功能(本文中有详细信息),
- 创建新的“空白数据库”(不是“空白网络数据库”),并且
- 使用 Access 2010 中的
外部数据 > 导入
将所有对象(表、表单等)从以前的数据库导入到新的(空)数据库中。
必须删除的功能列表中包括一些在随意检查原始 Access 2010 数据库时可能不会立即显而易见的功能,例如
- 使用新的或更新的数据库排序顺序,并且
- 使用“Access 2010 加密合规性”。
关于ms-access - 将 Access 2010 accdb 转换为 2007 accdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15822201/