In the more recent 64-bit versions of QGIS it is no longer possible to open ESRI personal geodatabases using the 'Add vector layer' functionality. However, it is possible to enable access to personal geodatabases by doing the following:
- Download the 64-bit version on the MS Access ODBC driver (AccessDatabaseEngine_x64.exe): http://www.microsoft.com/en-gb/download/details.aspx?id=13255
- If you don’t have 32-bit MS Office installed you can just run the exe, however if you do have 32-bit office installed then you need to start an admin command prompt and run the installer in passive mode as follows:
AccessDatabaseEngine_x64.exe /passive
- For QGIS 2: Then you need to edit the qgis-ltr.bat (normally in C:\Program Files\QGIS x.xx\bin, in previous versions used to be qgis.bat) and add the following lines (before the ‘start’ command)
set OGR_SKIP=ODBC
set PGEO_DRIVER_TEMPLATE=DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%%s
- For QGIS 3: In QGIS Settings panel -> Options | System | Environment add the following two variables:
variable name: PGEO_DRIVER_TEMPLATE
value: DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s
Or if being used on a shared server add a system environment variable
PGEO_DRIVER_TEMPLATE=DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s
-
Now you should be able to start QGIS and simply drag the geodatabase mdb file onto the QGIS workspace and it will open.
Note: This solution has been tested using QGIS v2.14.11 (Essen) & QGIS v3.4.13 (Madeira)
Note: This post is based on information taken from the web page listed below, however that page was based on an older version of QGIS (2.8.1) which used the qgis.bat file rather than qgis-ltr.bat.