Enabling xbase/DBF support in Microsoft Office/Access 2013

After upgrading a customer from Windows XP to Windows 7 I recently discovered that Microsoft decided to quietly deprecate native support for xBase/DBF formats (Dbase III, IV and V) formats in Office/Access 2013 which resulted in an unhelpful Error: “Could Not Find Installable ISAM” error message. This was a problem as the customer used a legacy ERP package and still required the support.

Fortunately it is possible restore support for DBF formats in Office/Access 2013 by installing the free Access 2010 runtime and performing a small registry hack.

First install the Access 2010 runtime which can be downloaded from Microsoft’s website here:
http://www.microsoft.com/en-gb/download/details.aspx?id=10910
Installing the runtime before or after Office/Access 2013 worked for me, but your mileage may vary…

Second merge the following registry entries. This was tested on a Windows 7 x64 with the 32-bit version Office so the key locations may vary for 32-bit Windows/64-bit Office installation:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Xbase]
"win32"="C:\\PROGRA~2\\COMMON~1\\MICROS~1\\OFFICE14\\ACEXBE.DLL"
"DbcsStr"=hex:01
"Mark"=dword:00000000
"Date"="MDY"
"Exact"=hex:00
"Deleted"=hex:01
"Century"=hex:00
"CollatingSequence"="Ascii"
"DataCodePage"="OEM"
"NetworkAccess"=hex:01
"PageTimeout"=dword:00000258

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE 5.0]
"Engine"="Xbase"
"ExportFilter"="dBASE 5 (*.dbf)"
"ImportFilter"="dBASE 5 (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE III]
"Engine"="Xbase"
"ExportFilter"="dBASE III (*.dbf)"
"ImportFilter"="dBASE III (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]
"Engine"="Xbase"
"ExportFilter"="dBASE IV (*.dbf)"
"ImportFilter"="dBASE IV (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:00

You should now be able to open your DBF database file successfully in Access 2013.

37 Responses

  1. [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats]

    for 32bit is it just this ->

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats]

    I tried this with 2013 already installed
    then access 2010 runtime
    then running registry entries both ways and did not work trying uninstall and then reinstall now

  2. Hi Sean,

    As you’re installing on 32bit Windows did you also amend the file paths as there is no “Program Files x86”?

  3. jon applied this ->
    for windows 7 32 bit access 2013 and it worked ->
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Xbase]
    “win32″=”C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEXBE.DLL”
    “DbcsStr”=hex:01
    “Mark”=dword:00000000
    “Date”=”MDY”
    “Exact”=hex:00
    “Deleted”=hex:01
    “Century”=hex:00
    “CollatingSequence”=”Ascii”
    “DataCodePage”=”OEM”
    “NetworkAccess”=hex:01
    “PageTimeout”=dword:00000258

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE 5.0]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE 5 (*.dbf)”
    “ImportFilter”=”dBASE 5 (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE III]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE III (*.dbf)”
    “ImportFilter”=”dBASE III (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE IV (*.dbf)”
    “ImportFilter”=”dBASE IV (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

  4. Very Good Solution.

    Worked for me with Registry settings mentioned above, After installing the Access Runtime 2010.

    Thank you Very much !!.

    Regards,
    Ashok.

  5. We migrate MS Office 2007 to 2013, and I have users that work with foxpro data bases “.dbf”. Actually access 2013 doesn’t support “.dbf” tables. Thanks and I will do your solution, but my question is if you can update too those “dbf” tables?. Sorry if my english is bad.

  6. Merge the following registry entries like this.

    1. Copy the key’s, with the – ” – from Jon , do NOT use – “ – from Sean.
    2. Create a txt file and change the extension .txt in .reg
    3. Paste the text into the file and save it on your desktop.
    4. Make sure you have admin rights, then double click the .reg file on your desktop.
    done

  7. I did all of the above, but DBF’s are still not allowed to open in Access 2013 on Windows 8.1. Anybody been able to get that to work?

  8. It looks like it is reading dbf’s now after the change where I had an access db linked to a dbf, but I can’t find a menu button to import the dbfs in office 2013. Any ideas on how to add that?

    1. There will not be a button for it. But you can create a Macro for doing so and create a custom button for it.

  9. My registry entries don’t appear to match up with any of these shown above. For example the only thing I found close has “ClickToRun\REGISTRY\MACHINE” in the key name:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine

    Does anyone know what ClickToRun means or if I should use this key location instead of above?

  10. I have Access 2010 running on Windows 7, and have a somewhat different problem. Access 2010 still has some amount of xBase/DBF support, but unlike earlier versions, it cannot import/link to a DBF file with a long (>8 characters) name. I have to use the DOS short name in order to link. However, even this method doesn’t always work.

    Will this registry hack fix these issues on Access 2010?

  11. Hi,

    1)I do installed Runtime Access on Windows 7 64 bits (Office 2013 it’s 32 bits).
    2)I do added this key to registr but nothing.

    Any suggestion please?

    (Sorry if my english is bad)

    Thanks,

  12. I did the same positively on Win 8.1 Pro 64bit, Office (and Access, obviously) 2013 32bit an Access Runtime 2010 32bit. The main problem was restore the association with Access2013 to Access files (mdb, accdb etc) on doubleclick, because Runtime was installed after Office 2013.
    I tested posively another solution (after uninstalling Runtime): using AccessDatabaseEngine 2010(always 32bit of course) instead of Access Runtime 2010.
    Main advantages: size (Database Engine is 10% related to Runtime) and it does not require all the updates than Runtime needs.
    (please delete my previous post! I made mistakes with html tags)

  13. Excellent! **** WORKS ****

    Used Filippo message above to install AccessDatabaseEngine and merged Jon Williams registry bits from the article. And now we can access old dbase files with Access 2013 on Windows 8.1.

    Cheers everyone for making this work.

  14. Joop says, “There will not be a button for it. But you can create a Macro for doing so and create a custom button for it.” Could you explain, how create this marco in Access 2013?
    I can’t do that!!

  15. This method worked for me, although the registry edits had to be done manually since they would not load directly. I have Office 2013 64-bit and Win 7 64-bit. This was a scary thing since I have never done registry edits before, but I am very grateful this worked. Thank you very much for posting this, it is a lifesaver since we have 100s to 1000s of shapefiles I commonly link to. Thanks.

  16. Jon, would you happen to have that registry script for Windows 8.1 64 bit? I installed Access 2010 run-time 64 bit, but see no headers in the current 8.1 64 bit registry that are like the ….Office\15.0\Connectivity Engine….. you refer to in your recommendation

    Mine goes ….Office\15.0\Access\…then “Capabilities” with either “Fileassociations” or “URLassociations”

    Any help would be greatly appreciated. Thanks, Brooks

  17. I did your instruction above; however, I’m still not clear what I need to do to access my dbase file from external data tab…

    You mentioned creating a macro which I have never done before… help please…

    1. Decided to go the easy route…. open the [.DBF] in Excel 2013 and saved it as [.xlsx] Then, was able to import the external data to Access 2013… and it took less space to store in .xlsx than in .dbf

  18. Dear Sirs,
    Please note … Instead of wrestling with all those registry values, I just did the following procedure and it worked like charm.

    1- Simply open “Excel-2013” …
    2- point it to where your “xxx.dbf” file and directory are located
    3- Click the “All Excel Files” …. there you will see all possible import Formats/ Files …
    the TENTH option is your target ….( dBase Files ) …
    4- Select your file open and Save-as Excel Workbook
    5- Open ACCESS and Import that new Excel File you just created …
    6- Tadaaaa “Mission Accomplished” … 🙂

    Best Regards to ALL,

  19. Hi,

    it doesn´t work in win 8.1 and office 2014 64 bit. What do i have to change in the registry?

    Many Thx for your help

    kind regards

    Tobias

  20. D Brooks Hodges III: Follow Flippo’s advice (see comment on May 30). I’m on Windows 8.1 and this worked for me.

    Flippo said: using AccessDatabaseEngine 2010(always 32bit of course) instead of Access Runtime 2010 and he provided a link.

    You need to put the following Header in the Registry file:
    Windows Registry Editor Version 5.00

    Also you need to ensure that the double quote characters (“) are all straight and not rounded – as it gets pasted this way when copying from this site.

    Good luck!

  21. I am now able to open dbf files in Access 2013 (thank you Jon, btw – GREAT tip). However, I cannot export to dbf. From the registry code above, to my quite noob eyes, it looks like it should enable export to the various versions of dbf – but this does not seem to work. Can anyone assist with this part of it?

    Thank you

  22. Thank you for your solution, … Now I can access the database DBF back, .. With what is written “sean”, … if we use are from John still could not due to the “win32” = “C: \ \ PROGRA ~ 2 \\ COMMON ~ 1 \\ MICROS ~ 1 \\ \\ Office14 ACEXBE.DLL “still use numbers (~ 2). In order to function, you have to change that to (~ 1). “Win32” = “C: \\ PROGRA ~ 1 \\ COMMON ~ 1 \\ MICROS ~ 1 \\ \\ ACEXBE.DLL Office14”.

    Thank you,..

    Sorry, my English is bad,..

  23. Has anyone figured out how to do this for Access 2016 version? I jumped from 2010 version to 2016 version without knowing that MS dropped support for DBF files. I have thousands of DBF files. This is a problem for me.

  24. Hello,
    Having updated the Windows 7, 64-bit registry as per details further down, I can link a dBase file in an Access 2013 (32-bit) database by opening it with ‘MsAccess.exe’.
    However, I have no means of importing or exporting from within the database. May I ask you to please advise how I can establish External Data > DBF Ribbon targets? (I have tried ‘Customize Ribbon (All Commands)’, ODBC with each of the 3 available DBF drivers and searched for anything obvious in VB Tools > References.

    Thank you. Your help is much appreciated.
    Best regards,
    Ron

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Xbase]
    “win32″=”C:\\PROGRA~2\\COMMON~1\\MICROS~1\\OFFICE14\\ACEXBE.DLL”
    “DbcsStr”=hex:01
    “Mark”=dword:00000000
    “Date”=”MDY”
    “Exact”=hex:00
    “Deleted”=hex:01
    “Century”=hex:00
    “CollatingSequence”=”Ascii”
    “DataCodePage”=”OEM”
    “NetworkAccess”=hex:01
    “PageTimeout”=dword:00000258

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE 5.0]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE 5 (*.dbf)”
    “ImportFilter”=”dBASE 5 (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE III]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE III (*.dbf)”
    “ImportFilter”=”dBASE III (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE IV (*.dbf)”
    “ImportFilter”=”dBASE IV (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

  25. Hey all, in-case anyone else needs this for 2016 version of Access, just update the registry script to 16.0 in-place of 15.0 and you’re good to go.

    Thanks to the OP for the fix 😀

  26. Worked for me. Using Windows 7 64 bit, Office 2013 64 bit. Used AccessRuntime_X64.exe

    Registry edit below:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Xbase]
    “win32″=”C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEXBE.DLL”
    “DbcsStr”=hex:01
    “Mark”=dword:00000000
    “Date”=”MDY”
    “Exact”=hex:00
    “Deleted”=hex:01
    “Century”=hex:00
    “CollatingSequence”=”Ascii”
    “DataCodePage”=”OEM”
    “NetworkAccess”=hex:01
    “PageTimeout”=dword:00000258

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE 5.0]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE 5 (*.dbf)”
    “ImportFilter”=”dBASE 5 (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE III]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE III (*.dbf)”
    “ImportFilter”=”dBASE III (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]
    “Engine”=”Xbase”
    “ExportFilter”=”dBASE IV (*.dbf)”
    “ImportFilter”=”dBASE IV (*.dbf)”
    “CanLink”=hex:01
    “OneTablePerFile”=hex:01
    “IsamType”=dword:00000000
    “IndexDialog”=hex:00
    “CreateDBOnExport”=hex:00
    “SupportsLongNames”=hex:00

Leave a Reply