Skip to content

Migrate an Access Database to SharePoint Online

Migrate an Access Database to SharePoint Online

This guide is for an existing Microsoft Access database where the goal is to keep Access as the desktop front end while moving shared table data to SharePoint Online. Treat the move as a database change, not just a file upload: relationships, data types, lookup fields and Access-only features should be tested first.

Before you start

  • Make a tested backup of the Access database.
  • Identify the tables that are genuinely shared data. Keep local helper or temporary tables in Access.
  • Review field names, attachment fields, calculated fields and very large tables for compatibility.
  • Create or choose a SharePoint site where the intended users already have appropriate permissions.

Migration workflow

  1. Open the database in Access and confirm it is healthy by running Compact and Repair.
  2. Use Access export/move options for SharePoint to create lists from the selected tables. The wording varies by Access version, so use the SharePoint/Online Services export option available in your build.
  3. After the lists are created, link the SharePoint lists back into Access rather than keeping two independent data copies.
  4. Open forms, queries and reports and test create, update, delete and search operations with a non-administrator account.
  5. Check performance over the real internet connection. Queries that worked well against a local table can be slow when they pull large SharePoint lists across the network.

Verification

Create a clearly identifiable test record in Access and confirm it appears in SharePoint. Edit the same record in SharePoint and confirm Access sees the change after refresh. Only retire the old local tables after the business owner has validated the migrated data.

Operational note: SharePoint lists are not a drop-in replacement for a relational SQL database. If the application depends heavily on relational joins, transactions or high record volumes, consider Dataverse or SQL instead of forcing the workload into SharePoint.