Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Microsoft Access database library

OfficeIMO.Access

Read Access MDB and ACCDB databases, inspect queries, forms and VBA, and create Jet 4 or ACE table databases without Microsoft Access.

MIT licensed No Office required Cross-platform .NET
Install dotnet add package OfficeIMO.Access

Start with a working example

Find the input, generated output, and source for the document workflow you need.

Browse document examples →

Native Access files without Access installed

OfficeIMO.Access reads Jet 3/Jet 4 MDB and ACE ACCDB files directly from their native pages. It needs no Microsoft Access, DAO, OLE DB or database provider, and it never runs SQL, VBA, macros or linked-table connections.

using OfficeIMO.Access;

using AccessDocument database = AccessDocument.Load("orders.accdb");
AccessTable orders = database.Tables["Orders"];

using AccessDataReader reader = orders.OpenDataReader();
var table = new System.Data.DataTable();
table.Load(reader);
Console.WriteLine($"{orders.Name}: {table.Rows.Count} rows");

Useful for

  • Migrating data out of legacy MDB and ACCDB files on Windows, Linux or macOS.
  • Auditing table schemas, indexes, relationships, saved queries and linked tables.
  • Inventorying forms, reports, macros and VBA modules without opening the application.
  • Updating VBA modules and form or report code-behind in qualified Jet 4 and ACE files.
  • Generating new Jet 4 MDB or ACE 12 ACCDB table databases with rows, keys and indexes.

Built-in safeguards

Loading is bounded by input, page, row and value limits. Binary fields and attachments are read lazily with checksum validation. Linked-table credentials are redacted, and unsupported values are returned as exact opaque bytes with a diagnostic instead of being coerced.

Current limits

Existing databases are read-only for rows and schema; editing is limited to VBA and qualified form/report events. Profile conversion, protected-database decryption, signature operations and authored queries, designers or macros are not supported. Unchanged databases save as exact byte copies.

Start with the Access guide or review the support contract.

Same engine, other surfaces

Use OfficeIMO another way

Next step

Turn the package into a working document.

Follow a focused guide and inspect the API reference for this package.

Example source