How to convert an ADP to ACCDB using Access 2013?

anuj picture anuj · Nov 6, 2013 · Viewed 32.4k times · Source

Access 2013 does not support ADP. Some alternatives to ADPs are given:

  • Convert the ADP to a linked Access Desktop Database.
  • Import objects into an ACCDE file and then create linked tables to the existing data by using an earlier version of Access.

My ADP contains only Forms, Reports, Macros and Modules. I want to use this ADP in Access 2013 (not on any earlier version of Access).

I have not found any method to convert ADP to a linked Access Desktop Database or to Import objects into an ACCDE file on Access 2013.

How can I convert an ADP to a linked Access Desktop Database or to Import objects into an ACCDE file using Access 2013?

Answer

Gord Thompson picture Gord Thompson · Nov 6, 2013

How can I convert an ADP to a linked Access Desktop Database or to Import objects into an ACCDE file using Access 2013?

You can't. Access 2013 won't work with ADP files at all. If you try to import objects from an ADP file in Access 2013, you get the following error:

Access Data Projects are no longer supported in this version of Access.

What you need to do is

  • find a machine with Access 2010 or earlier,
  • use it to import the Queries, Forms, etc., from the ADP into an .accdb or .mdb file, then
  • take that .accdb or .mdb file back to your Access 2013 machine and continue on from there.

edit re: comments

Is there is no way to Convert the ADP to a linked Access Desktop Database using access 2013

Apparently not. Even trying to use VBA to copy a Form object from an .adp file into an .accdb file fails. The following code:

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

...produces the following result:

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.

If we try to get sneaky and rename the .adp file to .mdb then Access 2013 won't read it:

Unrecognized database format

As I said, you need to use Access 2010 (or older) to extract the objects from the .adp file into an .accdb or .mdb file. Then you can work with the .accdb or .mdb file in Access 2013.