Error Fix

Fix "Unrecognized Database Format" in Access (.mdb)

Published May 29, 2026 · 8 min read

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.

What "Unrecognized Database Format" Actually Means

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'

Why This Is Happening to You Now

If the database worked fine last week or on your old computer, one of these four things changed:

1. Windows 11 Doesn't Ship with Jet 4.0

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.

2. 64-bit Office Can't Use the 32-bit Jet Provider

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.

3. The .mdb File Is Corrupted

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:

4. Wrong Access Version Trying to Open the File

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.

Fix A: Install the ACE 12.0 Redistributable

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:

  1. Go to Microsoft Access Database Engine 2016 Redistributable
  2. Download the version matching your application's bitness:
    • AccessDatabaseEngine.exe = 32-bit
    • AccessDatabaseEngine_X64.exe = 64-bit
  3. Run the installer (no restart required)
  4. Try opening your .mdb file again

Critical: 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;

Fix B: Resolve the 32-bit vs. 64-bit Mismatch

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:

  1. Check your Office bitness: Open Word or Excel > File > Account > About. Note whether it says 32-bit or 64-bit.
  2. Check your installed engines: Open ODBC Data Sources (search "ODBC" in Start). If only "ODBC Data Sources (64-bit)" appears but your app is 32-bit, that's the mismatch.
  3. Option A — Reinstall Office as 32-bit: If your application requires 32-bit Jet and you don't need 64-bit Office features, reinstall Office in 32-bit mode.
  4. Option B — Use the /passive flag: If you need both engines and Office is already installed, you can force-install the other bitness engine:
    AccessDatabaseEngine.exe /passive
    This bypasses the "you already have a different bitness" block. It's unsupported by Microsoft but widely used.

Fix C: Try Compact and Repair

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:

  1. Back up the file first. Copy it to another location before doing anything.
  2. Open Access without opening a database (just the start screen)
  3. Go to Database Tools > Compact and Repair Database
  4. Select your corrupted .mdb file
  5. Let Access attempt the repair

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.

Not sure which fix applies to your file?

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 Scan

Fix D: Convert to .accdb Format (Permanent Fix)

Time 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:

  1. Open the .mdb file in Access (if you can't open it, use Fix A or B first to get it open)
  2. Go to File > Save As > Access Database (.accdb)
  3. Save with a new filename (keep the original as backup)
  4. Open the new .accdb and verify tables, queries, forms, reports, and VBA all function

What can break during conversion:

For 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.

Why .accdb Is the Real Solution

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 supportRequires extra installNative
64-bit Office supportProblematicFull
Microsoft security patchesNone since 2010Active
Max file size2 GB2 GB (same limit, but better compaction)
VBA IDE compatibility32-bit only32-bit and 64-bit
Driver availabilityDecliningShips 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.

LegacyLeaps Handles the Entire Conversion

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:

  1. Format conversion: .mdb to .accdb with all objects preserved
  2. Provider updates: Every Microsoft.Jet.OLEDB.4.0 reference in VBA is updated to Microsoft.ACE.OLEDB.12.0
  3. DAO reference fixes: Legacy DAO 3.6 references updated to the modern equivalent
  4. 64-bit compatibility: VBA code flagged or fixed for 64-bit Access (PtrSafe declarations, API calls)
  5. Detailed report: Every change documented so you know exactly what was modified

No manual version juggling. No hunting for redistributable downloads. No prayer-based Compact and Repair.

Stop fighting the "Unrecognized Database Format" error

Convert your .mdb files to .accdb with VBA fixes and provider updates included. Works on Windows 11, 64-bit Office, no extra drivers needed.

Frequently Asked Questions

Why does Access say "unrecognized database format" on Windows 11?

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.

What is the difference between Jet 4.0 and ACE 12.0?

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.

Can I have both 32-bit and 64-bit Access Database Engine installed?

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.

Will converting .mdb to .accdb break my VBA code?

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.

How do I fix "unrecognized database format" without Access installed?

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).

Summary

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

Get tips like this in your inbox

Practical fixes for legacy Excel and Access problems. No spam.

← Back to all posts