Convert a 32-bit Microsoft Access database to 64-bit compatibility

Need to convert a 32-bit Access database to 64-bit Microsoft Access? In many cases, the database file itself does not need a full rebuild. The compatibility work is usually in the application layer: VBA code, Windows API declarations, pointers and handles, ActiveX controls, references, drivers, DLLs, compiled files, and external integrations.

Our Microsoft Access team reviews the complete application and updates the components that prevent it from running reliably in 64-bit Microsoft 365 and newer Office environments. We can also plan for mixed 32-bit and 64-bit users when the application must support both.

Quick Answer: Can You Convert a 32-Bit Access Database to 64-Bit?

Yes. A simple ACCDB database may open in 64-bit Access without modification. Older or more customized applications often require targeted changes before they will compile and run correctly. The most common issues are legacy VBA Declare statements, 32-bit-only controls or drivers, broken references, DLL dependencies, and compiled ACCDE/MDE/ADE files.

The key point is that you are usually converting the Access application for 64-bit compatibility, not converting the underlying table data from one bitness to another.

  • This field is hidden when viewing the form
  • This field is hidden when viewing the form

What Actually Needs to Change When Moving Access from 32-Bit to 64-Bit?

The amount of work depends on how the database was built. A data-only ACCDB may need almost no changes, while a mature business application with years of VBA, controls, integrations, and compiled components can require a full compatibility audit.

VBA Windows API declarations

VBA Windows API declarations

Legacy Declare statements must be reviewed for 64-bit compatibility.

Pointers and handles

Pointers and handles

Variables that hold memory addresses or Windows handles may need LongPtr instead of Long.

64-bit integer values

64-bit integer values

Some routines may require LongLong in 64-bit Office.

ActiveX and COM controls

ActiveX and COM controls

32-bit-only controls may need a supported 64-bit replacement or a redesign.

References and libraries

References and libraries

Missing or incompatible references can prevent VBA from compiling.

ODBC, OLE DB, and other drivers

ODBC, OLE DB, and other drivers

The driver bitness must match the Office/Access environment that uses it.

DLLs, add-ins, and external automation

DLLs, add-ins, and external automation

Each dependency must be available and compatible with the target Office bitness.

ACCDE, MDE, and ADE files

ACCDE, MDE, and ADE files

Compiled files must be recreated from source for the target bitness.

Integrations

Integrations

Printing, scanning, Outlook/Excel automation, APIs, SQL Server connections, and third-party software should be tested end to end.

How to Convert an Access Database from 32-Bit to 64-Bit

A reliable conversion is more than opening the file in 64-bit Access and checking whether the startup form appears. The complete application should be compiled, tested, and validated in the target environment.

  1. Preserve the original. Create a backup and work from a controlled copy of the database and any supporting files.
  2. Identify the target environment. Confirm the Access/Microsoft 365 version, 32-bit or 64-bit Office, Windows version, drivers, and external applications the database depends on.
  3. Open and compile the source application in 64-bit Access. Use VBA compilation to expose incompatible Declare statements, missing references, and other code-level problems.
  4. Update Windows API declarations. Add PtrSafe where required and change pointer/handle parameters or return values to LongPtr when they must hold 64-bit quantities.
  5. Review user-defined types and variables. Structures that contain pointers, handles, or true 64-bit integers may also need 64-bit-safe data types.
  6. Audit ActiveX, COM, DLL, and add-in dependencies. Replace unsupported 32-bit components or redesign the affected feature where no safe 64-bit equivalent exists.
  7. Verify database and integration drivers. Check ODBC/OLE DB connections, SQL Server drivers, linked tables, external data sources, and any vendor-specific middleware.
  8. Rebuild compiled Access files. Recreate ACCDE, MDE, or ADE deliverables from the source database using the required bitness.
  9. Test the full workflow. Test forms, reports, queries, VBA automation, exports/imports, printing, scanning, email, APIs, linked data, and any business-critical integrations.
  10. Deploy in stages. Move the updated application into production only after user acceptance testing and a rollback plan are in place.

VBA Example: Updating a Windows API Declaration

One of the most common 32-bit to 64-bit Access problems is legacy VBA that calls the Windows API. Microsoft requires Declare statements running in 64-bit Office to use PtrSafe, but simply adding PtrSafe is not enough if a parameter or return value stores a pointer or handle.

Legacy 32-bit declaration

Declare Function GetActiveWindow Lib “user32” () As Long

64-bit-compatible declaration

Declare PtrSafe Function GetActiveWindow Lib “user32” () As LongPtr

LongPtr is designed for pointer and handle values. In VBA7 it resolves appropriately for the Office bitness, which makes it useful when the same source code must run under both 32-bit and 64-bit Office.

Important: PtrSafe Does Not Automatically Make Code 64-Bit Safe

A common mistake is to add PtrSafe to every Declare statement and stop there. PtrSafe tells VBA that the declaration targets a 64-bit-capable environment; it does not resize parameters or return values automatically.

If a declaration passes or returns a pointer, handle, or other 64-bit quantity, the relevant data type must also be updated. Incorrectly leaving those values as Long can truncate a 64-bit value and lead to unexpected behavior or application failure.

Can One Access Database Support Both 32-Bit and 64-Bit Office?

Often, yes. Many Access applications can be written so the same source ACCDB works in both environments. LongPtr is especially useful because it maps to the appropriate pointer-sized type for the Office bitness.

Conditional compilation can also be used when different code is genuinely required. However, the entire dependency chain still matters: ActiveX controls, DLLs, ODBC drivers, COM components, and other integrations must also support the environments you plan to deploy.

ACCDB vs. ACCDE, MDE, and ADE: What Changes?

An ACCDB source database is different from a compiled Access file. A source ACCDB may be able to run under both 32-bit and 64-bit Access after its code and dependencies are made compatible.

Compiled Access files are bitness-sensitive. A 32-bit ACCDE, MDE, or ADE cannot simply be used as the finished 64-bit deliverable. The source database should be corrected and then recompiled using the target Access bitness.

Common Problems When Moving Access from 32 Bit to 64 Bit

Common Problems When Moving Access from 32-Bit to 64-Bit

Your database may need a 64-bit conversion if you encounter any of the following:

  • “The code in this project must be updated for use on 64-bit systems” errors.
  • Compile errors involving Declare statements, PtrSafe, LongPtr, pointers, or handles.
  • Missing or broken VBA references.
  • Forms that fail because an ActiveX control is unavailable.
  • DLL, COM, OLE, or add-in compatibility errors.
  • ACCDE, MDE, or ADE files that will not open.
  • ODBC driver bitness conflicts or failed SQL Server connections.
  • Crashes during reports, automation, printing, scanning, or API integrations.
  • Different users running mixed 32-bit and 64-bit Office installations.

Our Access 32-Bit to 64-Bit Conversion Process

Our process is designed to reduce risk and verify that the complete application—not only the main database file—works in the target environment.

  • Compatibility Audit: Review the Access file, VBA modules, Declare statements, references, ActiveX controls, compiled components, drivers, and integrations.

  • Conversion Plan: Identify required code changes, component replacements, recompilation work, test environments, and deployment considerations.

  • Code and Component Updates: Update incompatible VBA declarations and data types, replace or upgrade unsupported components, and correct broken references.

  • 64-Bit Environment Testing: Compile and test the application in the target 64-bit Access/Microsoft 365 environment.

  • Integration Testing: Verify linked tables, ODBC/OLE DB connections, SQL Server, Office automation, APIs, printers, scanners, and third-party systems used by the application.

  • Deployment and User Testing: Roll out the updated version with a backup/rollback plan and validate the workflows users rely on.

Does Moving to 64-Bit Access Make the Database Faster?

Not automatically. The main advantages of 64-bit Office are compatibility with 64-bit components and access to a larger memory address space. Database speed still depends on query design, indexing, network performance, linked-table design, data volume, VBA efficiency, and the backend.

For that reason, a 32-bit to 64-bit conversion should be presented primarily as a compatibility and modernization project—not as a guaranteed performance upgrade.

When a 64-Bit Conversion Becomes a Larger Modernization Project

Some applications reveal broader technical debt during the conversion. If critical controls are obsolete, the database depends on unsupported drivers, or the backend no longer meets security and scalability needs, it may make sense to combine the 64-bit upgrade with other modernization work.

  • Replace unsupported ActiveX or COM components.
  • Update old ODBC/OLE DB drivers and connection methods.
  • Refactor unstable VBA and Windows API code.
  • Move shared data to SQL Server or Azure while retaining Access as the front end.
  • Improve deployment so each user runs a controlled local front end.

Frequently Asked Questions About Converting Access 32 Bit to 64 Bit

Yes. We review the VBA code, Windows API declarations, controls, references, drivers, compiled files, and external integrations, then update and test the application in a 64-bit Access environment.
Start by testing and compiling the source database in 64-bit Access. Then update incompatible VBA declarations and pointer/handle data types, replace unsupported components, verify references and drivers, rebuild compiled files, and test every important workflow.
Many ACCDB databases can work in both environments. Compatibility depends on the VBA code, API calls, controls, references, drivers, DLLs, and integrations used by the application.
Common causes include incompatible Declare statements, incorrect pointer or handle data types, unavailable ActiveX controls, missing references, 32-bit drivers, DLL dependencies, and compiled files created for 32-bit Access.
Usually not. Most projects involve targeted code updates, component replacements, recompilation, dependency fixes, and testing. A larger rebuild is considered only when critical legacy components or architecture cannot be modernized safely.
Often, yes. VBA7 features such as LongPtr and conditional compilation can support both environments where appropriate. All required controls, drivers, libraries, and integrations must also be compatible with the environments you support.
The main work usually involves the Access front end, VBA code, controls, references, drivers, and integrations. The underlying table data often does not require a bitness conversion.
Compiled Access files are bitness-sensitive. They normally need to be recreated from the source database using the target Access bitness after the source application has been made compatible.
Not necessarily. 64-bit Office can use a larger memory address space, but performance still depends on database design, queries, indexes, network conditions, VBA, data volume, and the backend.
The timeline depends on the size of the application, the amount of VBA, the number of external dependencies, compiled components, integrations, and testing requirements. A compatibility audit is the best way to estimate the work accurately.

Ready to Convert Your Access Database from 32 Bit to 64 Bit?

If your Access application no longer works reliably after moving to 64-bit Microsoft 365—or you are planning the upgrade before users are affected—Access Experts can review the database, identify the incompatible components, and provide a conversion plan.

We can handle targeted VBA compatibility fixes, ActiveX and driver replacements, compiled-file updates, full 64-bit testing, and related Access modernization work. Call us at +1 773.809.5456 or email [email protected] to get started.