Convert MDB to DBF: Step-by-Step Guide & Best Tools
When to convert
- Need DBF (dBASE/Visual FoxPro) output for legacy apps or GIS tools.
- Move tables from Access (.mdb/.accdb) into DBF for interoperability.
Quick steps (one-table, using Microsoft Access)
- Open the .mdb/.accdb in Microsoft Access (Access 2016/2019/365 recommended).
- Select the table or query you want to export.
- Ribbon: External Data → Export → More → dBASE File.
- In Export – dBASE File, choose folder, name, and dBASE format (dBASE III/IV/5). Click OK.
- Verify field types/lengths in the resulting .dbf and repeat for other tables.
- Save export steps if you’ll repeat this regularly.
Batch / automated options
- Access VBA: loop tables and call DoCmd.TransferDatabase or DoCmd.RunSavedExport to export programmatically.
- Use ODBC/ODBC-DSN and scripting (Python with pyodbc): SELECT from Access and write to DBF via third-party DBF libraries or CSV→DBF conversion.
Recommended third-party tools
| Tool | Best for | Notes |
|---|---|---|
| Microsoft Access (built-in) | Simple, trusted exports | Supports dBASE III/IV/5; requires Access license |
| DBConvert (Access to FoxPro) | Guided GUI, batch conversion | Commercial; preserves types and indexes in many cases |
| SysTools DBF Converter | Batch & many output formats | Commercial, good for large/multi-format workflows |
| Custom script (Python + simpledbf or dbf) | Automation & edge-case control | Requires coding; flexible for transformations |
| QGIS (for spatial tables) | GIS-related tables to DBF | Can export attribute tables to DBF |
Field mapping and pitfalls
- Character length differences (Access Memo vs DBF memo/character): truncate or split long text.
- Date/time, boolean and numeric precision may differ—confirm types after export.
- Indexes/primary keys aren’t always preserved; re-create in target if needed.
- dBASE versions limit field name length and supported types (dBASE III more restrictive).
Verification checklist after conversion
- Row counts match source table(s).
- Important columns preserved, no truncated values.
- Date and numeric formats correct.
- Indexes/keys recreated if required.
- Sample queries in target system run successfully.
If you want a prescriptive choice (assumption: desktop Windows, non-programmer)
- Use Microsoft Access export for a few tables.
- For many tables or repeated jobs, use DBConvert (commercial) or write a small Python script to automate exports.
If you want, I can:
- Provide an Access VBA script to batch-export all tables to DBF, or
- Provide a short Python example that reads MDB via pyodbc and writes DBF. Which do you prefer?
Leave a Reply