如何使用Access 2013将ADP转换为ACCDB?

anu*_*nuj 7 adp ms-access-2013

Access 2013不支持ADP.给出了ADP的一些替代方案:

  • 将ADP转换为链接的Access桌面数据库.
  • 将对象导入ACCDE文件,然后使用早期版本的Access创建现有数据的链接表.

我的ADP仅包含表单,报表,宏和模块.我想在Access 2013中使用此ADP(不在任何早期版本的Access上).

我还没有找到任何方法将ADP转换为链接的Access桌面数据库或将对象导入Access 2013上的ACCDE文件.

如何使用Access 2013将ADP转换为链接的Access桌面数据库或将对象导入ACCDE文件?

Gor*_*son 10

如何使用Access 2013将ADP转换为链接的Access桌面数据库或将对象导入ACCDE文件?

你不能.访问2013不会与ADP文件的工作在所有.如果您尝试从Access 2013中的ADP文件导入对象,您会收到以下错误:

此版本的Access不再支持Access Data Projects.

你需要做的是

  • 找到Access 2010或更早版本的机器,
  • 使用它将查询,表单等从ADP导入到文件.accdb.mdb文件中
  • 将该文件.accdb.mdb文件返回到Access 2013计算机并从那里继续.

编辑重新:评论

是否无法使用Access 2013将ADP转换为链接的Access桌面数据库

显然不是.甚至尝试使用VBA将Form对象从.adp文件复制到.accdb文件中也会失败.以下代码:

Option Compare Database
Option Explicit

Sub adpImportTest()
    Dim dbPath As String, formName As String
    On Error GoTo adpImportTest_Error

    Debug.Print "Try importing a form from an .accdb file..."
    dbPath = "C:\Users\Gord\Documents\accdbTest.accdb"
    formName = "myCustomers"
    DoCmd.TransferDatabase acImport, "Microsoft Access", dbPath, acForm, formName, formName
    Debug.Print "Import succeeded."

    Debug.Print
    Debug.Print "Try importing a form from an .adp file..."
    dbPath = "C:\Users\Gord\Documents\NorthwindCS.adp"
    formName = "Customers"
    DoCmd.TransferDatabase acImport, "Microsoft Access", dbPath, acForm, formName, formName
    Debug.Print "Import succeeded."

    Exit Sub
adpImportTest_Error:
    Debug.Print Err.Description
End Sub
Run Code Online (Sandbox Code Playgroud)

...产生以下结果:

Try importing a form from an .accdb file...
Import succeeded.

Try importing a form from an .adp file...
The search key was not found in any record.
Run Code Online (Sandbox Code Playgroud)

如果我们试图偷偷摸摸并重命名该.adp文件,.mdb那么Access 2013将无法读取它:

无法识别的数据库格式

正如我所说的,你需要使用Access 2010(或以上)从对象中提取.adp文件到.accdb.mdb文件.然后,您可以使用Access 2013中的.accdb.mdb文件.