Access databases do not fail all at once. They degrade gradually, and the people using them adapt without realizing it. The slow form that takes six seconds to open? Users just wait. The monthly report that crashes? Someone reruns it after lunch. The “write conflict” error? Users have learned to click through it.

Here are five signs that your Access database has passed the point where adaptation is reasonable and migration is overdue.

Sign 1: You Are Running Compact and Repair More Than Monthly

Compact and Repair is maintenance, not a fix. It is the database equivalent of defragmenting a hard drive — it cleans up internal fragmentation and reclaims space from deleted records.

If you are running it weekly or more, that means the database is accumulating damage faster than normal use should cause. The usual reasons:

The test: How often did you run Compact and Repair last quarter? If the answer is “every week” or “whenever things slow down,” your database is signaling that its architecture cannot handle your workload.

Why this matters: Each Compact and Repair requires exclusive access — every user must close the database. That is downtime. And if you skip it because getting everyone out of the database is too disruptive, the problems compound.

Sign 2: Users Have Invented Workarounds

Ask your users how they handle specific scenarios. Listen for phrases like:

Each workaround represents a failure of the database system that users have learned to route around. They are no longer using Access as designed — they are using it despite its limitations.

The test: Interview three heavy users of the database. Ask them to walk you through their daily workflow. Count the workarounds. If you find more than two, the database is not meeting their needs.

Why this matters: Workarounds waste time, introduce data inconsistencies (shadow spreadsheets), and create tribal knowledge that becomes a problem when people leave.

Sign 3: You Have Had a Data Loss Event

Not corruption — data loss. A record that was entered but is no longer there. A financial total that changed without anyone editing it. A report that showed different numbers when run twice on the same data.

Data loss in Access usually happens from:

The test: Has anyone in the past year said “I know I entered that record” or “these numbers were different yesterday”? If yes, you have a data integrity problem.

Why this matters: A database’s primary job is to store data reliably. If it is losing data, it is failing at its core purpose. No amount of form redesign or VBA coding fixes a reliability problem in the storage engine.

Sign 4: Performance Is Affecting Business Decisions

Slow is annoying. Slow that changes how people work is a business problem:

The test: Is the database’s speed affecting how people do their jobs, what reports they run, or what features they request? If yes, the database is constraining the business.

Why this matters: When people stop asking for improvements because they know the database cannot handle them, you are leaving value on the table. The database should enable the business, not constrain it.

Sign 5: You Are Afraid to Change Anything

This is the most telling sign. When the people who manage the Access database are afraid to modify it — afraid to add a table, change a relationship, modify a form, update a query — the system has become fragile.

Common symptoms: - Nobody will touch the VBA code because the person who wrote it is gone - Adding a new form is avoided because it might “break something” - There is no test environment — changes go directly into production - The database has not been structurally modified in years because nobody wants to risk it - Backup verification is done by crossing fingers rather than testing restores

The test: Ask the person responsible for the database: “If I asked you to add a new table and three new forms by next Friday, how would you feel about that?” If the answer involves dread, anxiety, or “we’d need to be very careful,” the system is too fragile.

Why this matters: A database that cannot be modified is a database that cannot adapt to changing business needs. You are frozen in the past, and every business change that requires a database change is blocked.

What These Signs Mean Together

Any one of these signs suggests a problem. Three or more together mean you have outgrown Access. Not “might outgrow it soon” — have outgrown it already.

The common response is to postpone migration because the database “still works.” But “still works” is a low bar. The question is not whether it works — it is whether it works well enough to support your business effectively.

What to Do Next

If you recognize three or more of these signs:

  1. Acknowledge the problem. Stop treating each symptom as a separate issue. They are all consequences of the same architectural limitation.
  2. Assess the scope. How many forms, reports, queries, and lines of VBA code does the database contain? This determines whether migration is a week-long project or a month-long project.
  3. Choose your path. For most organizations, the fastest fix is moving the data to SQL Server (or MySQL/PostgreSQL) while keeping the Access front-end. This eliminates signs 1, 2, 3, and 4 without rewriting the application.
  4. Set a timeline. Migration does not happen by itself. Set a date, assign responsibility, and allocate budget. A planned migration is always cheaper than an emergency one.

The longer you wait, the more workarounds accumulate, the more tribal knowledge you depend on, and the harder the eventual migration becomes. The best time to migrate was a year ago. The second best time is now.