Many SMEs, associations and local councils have an .accdb or .mdb file holding up part of their daily work: the member register, grants, case files, stock or billing for a specific service. Someone built it ten or fifteen years ago, it works, and nobody wants to touch it. The trouble starts when that person retires, when the file gets corrupted or when people need to reach it from outside the office. This guide explains when it makes sense to migrate Access to a web app, which options exist, how to do it without losing data and what cost ranges are realistic.
Why are so many Access databases still running?
Because Access solved one problem very well: it gave someone without programming training a database with forms, reports and a bit of automation, all inside the Office suite the organisation already had. Member management, loan tracking, inventories, intake registers and dashboards have been built this way and have run for years without extra licence costs.
Access is not a bad product and Microsoft has not announced its retirement: it is still part of Microsoft 365 and of Access LTSC 2024. What fails is not the tool but the context it is used in today. It was designed for one or a few users on the same local network, and now it is expected to handle remote access, several departments working at once, change tracking and backups that do not depend on someone remembering to copy a file.
What signs tell you it is time to migrate?
None of these signs forces a migration on its own, but when three or more show up together the decision is usually made. 1. The file has been corrupted at least once and you had to run "Compact and Repair" or restore an old copy. 2. Only one person understands the macros and VBA code, and every change waits until they have time. 3. Several people need to work at once and you get record locks or messages saying another user has the file open.
4. People need access from home, from another site or from a phone, and the current workaround is a VPN, remote desktop or emailing the file around. 5. The file is close to the size limit or has already been split into several to get around it. 6. The machine hosting the database still runs an unsupported version of Office. 7. Someone asked who can see the personal data inside and nobody could answer with confidence.
What are the risks of staying on Access in 2026?
The first is support. Access 2016 and Access 2019 stopped receiving security updates on 14 October 2025. Access 2021 and Access LTSC 2021 lose them on 13 October 2026, according to Microsoft's lifecycle calendar. They will keep opening, but without patches. The Microsoft 365 version and Access LTSC 2024 are still supported, so upgrading Office fixes this specific point, but not the others.
The second is the format itself. An Access database is a single file with a 2 GB limit, minus the space needed for system objects. Microsoft documents a theoretical maximum of 255 concurrent users, but in practice, with the file sitting in a shared network folder, locking and corruption problems show up much earlier. A network drop or a laptop going to sleep with the file open can leave it damaged.
The third is human. Knowledge of the VBA, the chained queries and the macros usually lives in one person's head, with no documentation and no version control. The fourth is security: current versions of Access do not offer per-user permissions, and protection is limited to a password that encrypts the file. Anyone who can open the folder can copy the whole file, including every piece of personal data in it. And backups, if they exist, are usually a manual copy of the file that nobody has tried to restore.
What options are there to migrate an Access database?
Option 1: move only the data to SQL Server or PostgreSQL and keep Access as the front end. The tables move to a database server, and Access keeps the forms, queries and reports, connected through ODBC linked tables. Microsoft provides a free tool for this, SQL Server Migration Assistant (SSMA) for Access. It is the fastest and cheapest way to migrate Access to SQL Server: you gain stability, real backups and more concurrent users, and people keep seeing the same screens. It does not solve remote access or the VBA dependency, but it is a very reasonable intermediate step.
Option 2: rebuild as a web app. The data goes to a server database and the screens are rebuilt to run in a browser, with user accounts, role-based permissions, change logs and access from anywhere. It is the most complete Access alternative and the one that gets rid of the single file. It forces a review of the business logic currently hidden in macros and VBA, which is work, but also a chance to drop what nobody uses any more.
Option 3: a low-code platform such as Power Apps or similar. It can work for simple forms if the organisation already lives in that ecosystem, but look at the per-user licence cost over several years and at how tightly the data and logic end up tied to the platform. In all three cases the target database is usually relational. In SQL versus NoSQL databases for business we explain why that is almost always the right choice for the kind of management data found in an Access file.
What does the migration process look like step by step?
Step 1: inventory. List tables, relationships, queries, forms, reports, macros and VBA modules, and note which ones are actually used. It is common to find duplicated queries, reports nobody opens and temporary tables that became permanent. Step 2: data cleaning. Dates stored as text, fields mixing several values, duplicate records, keys that do not match between tables. Migrating dirty data to a new system only moves the problem somewhere else.
Step 3: design the target schema. This is the moment to normalise, add constraints and proper data types, and decide which logic lives in the database and which in the application. Step 4: migrate the data with repeatable scripts, so the run can be rehearsed several times and row counts and totals checked before the final cutover. Step 5: build the screens in blocks, starting with what is used most. With biweekly sprints, the team has something to test every two weeks.
Step 6: parallel run. For a few weeks both systems run side by side and results are compared: same lists, same totals, same reports. Step 7: short training focused on each person's real tasks, then the final cutover, with the Access file kept read-only for reference. It is the same approach we follow in legacy enterprise application modernisation: go piece by piece and switch nothing off until the new system has proven it works.
How much does it cost to migrate Access to a web app?
It depends less on the number of tables than on four things: how much logic sits in VBA and macros, how many forms and reports are actually used, the state of the data, and which other systems the application has to talk to. A database with 40 tables and little logic can be simpler than one with 12 tables and thousands of lines of VBA calculating settlements.
As a guide, excluding VAT: moving the data to SQL Server or PostgreSQL while keeping Access as the front end usually runs between €1,500 and €5,000 for a small or medium database. Rebuilding a medium-sized database as a web app, with users and permissions, a few dozen screens and the main reports, usually falls between €6,000 and €20,000. With heavy VBA logic, integrations with other software or several departments with different workflows, the project goes to €20,000 or more and is best split into phases.
A typical case: an association with around 2,000 members, fees, activities and board reports, currently running on an Access file shared over the network. A first phase moves the data to PostgreSQL and rebuilds the member record, fees and the most used lists on the web. A second phase adds the remaining reports and access for other volunteers. The budget is spread out and every phase delivers something useful. If the database is critical and nobody fully understands it, the first step often looks more like a legacy software rescue than a new project.
What should a public body in Spain keep in mind?
Town councils, municipal associations and small public bodies use Access for service registers, internal records or grant management. Migrating raises three points specific to the Spanish public sector. The first is procurement: under article 118 of Law 9/2017 on Public Sector Contracts, service and supply contracts with an estimated value below €15,000 can be handled as a minor contract (contrato menor). A phased migration can fit, but each phase needs its own justified scope: the law forbids splitting a contract to avoid the thresholds.
The second is accessibility. Royal Decree 1112/2018 requires public sector websites and mobile apps to be accessible. If citizens will use the new application, accessibility has to be in the requirements from day one. If it is for internal use, it is still worth demanding the same level, because staff include people with disabilities too and retrofitting costs more.
The third is security and data protection. The National Security Framework (Esquema Nacional de Seguridad, Royal Decree 311/2022) also applies to private companies providing services to public bodies, and tender documents may require the system and the supplier to comply with it. On top of that, GDPR requires knowing who accesses which personal data, something an Access file in a shared folder can hardly demonstrate. Our database service starts from those requirements: role-based permissions, access logs and tested backups.
Where do you start without putting the data at risk?
With a copy of the file and a diagnosis, not with a blind quote. Before choosing between keeping Access with a data server, rebuilding on the web or leaving things as they are, you need to know how much logic is inside, what state the data is in and which parts are used. Our technical audit costs €190, gives a diagnosis in 72 hours and a full report in 5 business days with the options, the recommended order and the cost of each. If you then hire the project, it is deducted. If you would rather talk first, the initial 30-minute call is free.
Frequently asked questions about migrating Access
Can I keep using Access after October 2025?
Yes. Access 2016 and 2019 still open, but since 14 October 2025 they receive no security updates, and Access 2021 loses them on 13 October 2026. The Microsoft 365 version and Access LTSC 2024 are still supported. Upgrading Office fixes support, but not the 2 GB limit, file corruption or remote access.
Which is better: migrating Access to SQL Server or rebuilding it as a web app?
Moving only the data to SQL Server or PostgreSQL and keeping Access as the front end is faster and cheaper, and it improves stability and backups. Rebuilding as a web app costs more, but gives access from anywhere, per-user permissions and removes the VBA dependency. Many organisations do the first now and the second later.
How much does it cost to migrate an Access database?
As a guide, excluding VAT: €1,500 to €5,000 to move the data to a server while keeping Access as the front end, €6,000 to €20,000 to rebuild a medium-sized database as a web app, and more than €20,000 with heavy VBA logic or integrations. The biggest cost drivers are the VBA code, the state of the data and the number of screens actually in use.
Will we lose data when migrating from Access?
Nothing should be lost if the migration uses repeatable scripts, row counts and totals are compared before cutover and both systems run in parallel for a few weeks. The original Access file is kept read-only for reference. What always turns up is inconsistent data that has to be cleaned before migrating.
What is the best Access alternative for an SME or a local council?
For management data, a relational server database (SQL Server or PostgreSQL) with a web application on top. Low-code platforms can work for simple forms, but calculate the per-user licence cost over several years. In the public sector, add accessibility, the National Security Framework (ENS) and GDPR to the requirements from the start.