You double-click your .mdb file. Access opens for a split second, then slams you with: "Unrecognized database format" (sometimes shown as Error 3343). The database you've relied on for years suddenly won't open. Take a breath. This is fixable, and you probably won't lose any data.
This guide explains exactly what's happening, why Windows 11 makes this error far more common than it used to be, and walks you through four fixes in order from quickest to most permanent.
When Access (or any application using the database engine) throws this error, it's telling you: "I can see the file, but I don't have the right engine to read what's inside it."
Your .mdb file was built for the Jet 4.0 database engine. That engine shipped with Windows XP, Vista, 7, 8, and 10. But here's the critical change: Windows 11 does not include Jet 4.0. Microsoft replaced it with the ACE (Access Connectivity Engine) 12.0, which uses the newer .accdb format natively.
When the ACE engine encounters an older .mdb file that it can't interpret cleanly — especially one created in Access 97 or with certain Jet 4.0 service pack variations — it throws "unrecognized database format" because it literally does not recognize the byte structure.
The error code associated with this is Error 3343. If you see it in VBA, it looks like this:
Run-time error '3343':
Unrecognized database format 'C:\Data\Inventory.mdb'
If the database worked fine last week or on your old computer, one of these four things changed:
This is the number one cause right now. You upgraded to Windows 11 (or got a new PC with Windows 11 pre-installed), and the Jet 4.0 provider that your .mdb file depends on simply isn't there anymore. The operating system no longer includes the legacy engine. Your file is fine — the reader is missing.
Even if Jet 4.0 were available, it only exists as a 32-bit component. If you installed 64-bit Microsoft Office (which is now the default for Microsoft 365), Access uses a 64-bit ACE engine that cannot load the 32-bit Jet provider. The bitness mismatch makes your .mdb invisible to the engine.
You can check your Office bitness: open any Office app, go to File > Account > About. It will say "64-bit" or "32-bit" at the top.
If nothing changed on your system — same Windows version, same Office — and the file suddenly won't open, corruption is the likely culprit. Common causes:
An .mdb file created in Access 97 (Jet 3.5 format) looks different internally than one from Access 2000-2003 (Jet 4.0 format). Modern Access versions (2016, 2019, 365) can often open Jet 4.0 .mdb files but choke on Jet 3.5 files entirely. If your file dates back to the late 1990s, this is likely your problem.
Time required: 5 minutes
Best for: Windows 11 machines missing the database engine entirely
If you don't have Access installed, or if your application (Excel VBA, a .NET app, Python) can't find the database driver, install the free redistributable:
AccessDatabaseEngine.exe = 32-bitAccessDatabaseEngine_X64.exe = 64-bitCritical: You cannot install both 32-bit and 64-bit on the same machine. Match the bitness to your Office installation. If you have 64-bit Office 365, install the 64-bit engine.
If you're connecting via VBA or a connection string, update your provider reference:
' Old provider (Jet 4.0 — won't work on Windows 11):
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Inventory.mdb;
' New provider (ACE 12.0 — works on Windows 11):
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Inventory.mdb;
Time required: 10-30 minutes
Best for: The .mdb opens on some machines but not others
If you installed the ACE redistributable and still get the error, you likely have a bitness conflict. Here's how to diagnose and fix it:
AccessDatabaseEngine.exe /passive
This bypasses the "you already have a different bitness" block. It's unsupported by Microsoft but widely used.Time required: 2-5 minutes
Best for: Files that were working and suddenly stopped (corruption)
If Access can at least partially recognize the file, Compact and Repair can fix minor corruption:
If Access says it can't open the file at all, try the import method: create a new blank .accdb file, then go to External Data > Access and import tables from the corrupted file one by one. You'll often recover the data even if forms and VBA are lost.
Upload your .mdb file for a free scan. We'll tell you exactly what's wrong — version mismatch, corruption, missing provider — and whether it's fixable.
Free Database ScanTime required: 5-15 minutes for simple files, longer for complex VBA
Best for: Everyone. This is the real solution.
Fixes A through C are band-aids. They get you past the error today, but the underlying problem remains: you're running a legacy format on a modern system. The permanent fix is converting from .mdb to .accdb.
Here's why this solves everything:
How to convert:
What can break during conversion:
Microsoft.Jet.OLEDB.4.0 must change to Microsoft.ACE.OLEDB.12.0Microsoft DAO 3.6 Object Library to Microsoft Office xx.0 Access database engine Object LibraryFor a single file with a few tables and simple forms, conversion takes minutes. For a complex application with thousands of lines of VBA, multiple linked tables, and legacy ActiveX controls, it can take days of testing.
Every other fix in this article is a workaround. They keep you running on a format Microsoft stopped developing in 2003. Here's the reality:
| Consideration | .mdb (Jet 4.0) | .accdb (ACE 12.0) |
|---|---|---|
| Windows 11 support | Requires extra install | Native |
| 64-bit Office support | Problematic | Full |
| Microsoft security patches | None since 2010 | Active |
| Max file size | 2 GB | 2 GB (same limit, but better compaction) |
| VBA IDE compatibility | 32-bit only | 32-bit and 64-bit |
| Driver availability | Declining | Ships with Office |
Every month you stay on .mdb, you're one Windows Update away from this error reappearing. The conversion isn't just a fix — it's insurance.
If you're reading this and thinking "I have 50 .mdb files and half of them have VBA that references Jet 4.0" — that's exactly what LegacyLeaps automates.
Here's what happens when you upload your .mdb files:
Microsoft.Jet.OLEDB.4.0 reference in VBA is updated to Microsoft.ACE.OLEDB.12.0No manual version juggling. No hunting for redistributable downloads. No prayer-based Compact and Repair.
Convert your .mdb files to .accdb with VBA fixes and provider updates included. Works on Windows 11, 64-bit Office, no extra drivers needed.
Windows 11 does not include the legacy Jet 4.0 database engine. When you try to open an .mdb file, the modern ACE engine cannot read the older Jet format, triggering the "unrecognized database format" error. Installing the Access Database Engine (ACE 12.0) Redistributable or converting to .accdb resolves it.
Jet 4.0 is the legacy database engine used by Access 2000-2003 for .mdb files. ACE 12.0 (Access Connectivity Engine) replaced it starting with Access 2007 and uses the .accdb format natively. ACE can read most Jet 4.0 .mdb files but has limited support for Jet 3.x (Access 97) databases.
No. Microsoft does not support running both the 32-bit and 64-bit Access Database Engine on the same machine. Your engine bitness must match your Office installation. If you have 64-bit Office, you need the 64-bit engine. The /passive install flag can bypass this restriction but is unsupported.
It can. VBA code that uses DAO 3.6, references the Jet provider in connection strings (Microsoft.Jet.OLEDB.4.0), or relies on legacy ActiveX controls may need updates after conversion. Connection strings must change to Microsoft.ACE.OLEDB.12.0 and some deprecated DAO methods need replacing.
Download and install the Microsoft Access Database Engine 2016 Redistributable (free from Microsoft). This provides the ACE driver that other applications need to read .mdb and .accdb files. Make sure you install the version matching your application's bitness (32-bit or 64-bit).
The "unrecognized database format" error means Access (or the ACE/Jet engine) cannot read the internal structure of your .mdb file. On Windows 11, the most common cause is the missing Jet 4.0 provider. On systems with 64-bit Office, it's a bitness mismatch. Less commonly, it's file corruption.
The quick fixes — installing the ACE redistributable, fixing bitness, running Compact and Repair — get you working today. The permanent fix is converting to .accdb, which eliminates the dependency on legacy drivers entirely.
If you're managing multiple .mdb databases or dealing with complex VBA that references Jet providers, our done-for-you service handles the entire migration with a free consultation upfront.
Part of the Complete Guide to Access Database Migration.
Related Articles
Practical fixes for legacy Excel and Access problems. No spam.