If you've been researching Access database migration tools, you've probably found SysTools. They rank well, they've been around for years, and their product pages make migration sound simple. Upload your .mdb, download your .accdb, done.
But there's a question their marketing copy doesn't answer: what happens to your VBA code?
The answer — buried in forum posts and user reviews — is that SysTools migrates your tables and queries. Your VBA code, your forms, your reports, your ActiveX controls, your Jet SQL procedures: they may be dropped or converted in ways that require manual fixes to restore functionality.
For a simple database with a few tables and no automation, that might be fine. But if your Access database has been running your business for ten years, there's a good chance "the tables" represent maybe 30% of what makes it work.
SysTools' Access migration products — Access Recovery, MDB to ACCDB Converter, and similar utilities — are designed as data recovery and extraction tools, not full migration tools. That's an important distinction.
What they handle well:
What they don't migrate:
If your database is purely data — lookup tables, records, basic reports — VBA may be a small part of it. But most business databases that have been in production for more than a year have accumulated significant VBA logic.
Here's what VBA typically powers in a mature Access database:
Every button click on every form likely calls a VBA procedure. The "Save Record" button, the "Generate Report" button, the "Send Email" button, the navigation buttons — all of these are event handlers written in VBA. Without them, you have a read-only data viewer, not a functional application.
Field-level validation that goes beyond Access's built-in validation rules lives in VBA. "This date can't be earlier than the hire date." "This quantity can't exceed the inventory level." "This customer code must match an existing record in the lookup table." All gone.
Calculated fields that reference other tables, complex pricing formulas, payroll calculations, inventory adjustment logic — anything that requires reading from multiple tables or applying business rules lives in VBA procedures. These don't survive a data-only migration.
Reports with dynamic headers, custom page breaks, conditional formatting based on calculated values, and footer summaries use VBA for the parts that Access's built-in report engine can't handle. Lose the VBA, lose the logic.
Code that sends emails via Outlook, writes to Excel, reads from SQL Server, calls a REST API, or talks to an FTP server — all VBA, all dropped.
Legacy Access databases often call Windows API functions directly — for file operations, process control, window manipulation. These Declare statements need to be present (and updated with PtrSafe for 64-bit) for the database to compile at all on modern Office.
Jet SQL (the query language of .mdb databases) supports stored procedures — parameterized queries that function like mini-programs. These include:
SysTools extracts simple Select queries reliably. Complex queries — especially action queries and pass-through queries — are often not transferred correctly. If your business processes run on Update queries that cascade through several tables, or Delete queries with complex WHERE conditions, you need to verify every single one runs correctly after migration.
Many Access databases built in the 2000s and early 2010s use ActiveX controls to add functionality that Access's native controls couldn't provide: calendar pickers, progress bars, rich text editors, tabbed interfaces, tree views, and list views.
SysTools doesn't transfer ActiveX controls. It can't — the controls are 32-bit COM components embedded in form designs, and extracting them requires replicating the entire form design, not just the data.
After a SysTools migration, every form that contained an ActiveX control will be missing it. Depending on how central those controls are to your workflow, you may have an application that looks complete but breaks the moment users try to use it.
A real .mdb to .accdb migration — one where your database actually works the same way after as before — covers everything SysTools covers, plus:
| Component | SysTools | LegacyLeaps |
|---|---|---|
| Tables (structure + data) | ✓ | ✓ |
| Relationships | Partial | ✓ |
| Select queries | ✓ | ✓ |
| Action queries (Append, Update, Delete) | Partial | ✓ |
| Pass-through queries | ✗ | ✓ |
| Forms (design + controls) | ✗ | ✓ |
| Reports | ✗ | ✓ |
| VBA code modules | ✗ | ✓ |
| VBA PtrSafe compatibility fixes | ✗ | ✓ |
| ActiveX control assessment | ✗ | ✓ |
| Library reference updates | ✗ | ✓ |
| Linked table refresh | ✗ | ✓ |
| Data integrity verification | ✗ | ✓ |
| Money-back guarantee | ✗ | ✓ |
To be fair: SysTools is useful in specific situations.
If your .mdb file is actually corrupted — not just incompatible with Windows 11, but genuinely damaged — SysTools' recovery mode can extract data that Access itself can no longer open. That's a legitimate use case. Data recovery from a corrupted file is different from format migration.
If you have a simple lookup table database with no forms, no VBA, no reports — just data that you query — SysTools will do the job faster and cheaper.
But if your Access database is a business application — with forms users interact with, buttons that trigger automation, reports that get emailed, and logic that's been refined over years — SysTools will give you a shell that looks like a database but doesn't function like one.
LegacyLeaps's free scan shows you exactly what your database contains: how many VBA modules, which queries, which forms, which ActiveX controls — before you pay anything.
Run Free ScanHere's the scenario that plays out for a lot of businesses:
The cost isn't just the $49 tool license. It's the hours spent discovering that the migration was incomplete, the IT time diagnosing what's missing, and — worst case — if the original .mdb was overwritten or lost in the process — the cost of trying to reconstruct that business logic from scratch.
A migration tool that doesn't tell you what it's leaving behind isn't saving you money. It's deferring a larger problem.
Before you commit to any Access migration tool — SysTools, Stellar, a consultant, or LegacyLeaps — ask these questions:
LegacyLeaps addresses all of those. Our free scan identifies VBA modules, forms, ActiveX controls, and compatibility issues in your database before you spend a dollar. Our done-for-you migration preserves your formulas, macros, and formatting. And we back it with a 100% money-back guarantee — if LegacyLeaps doesn't preserve your VBA code and forms, we'll refund every penny.
See exactly what's in your database before you convert anything. LegacyLeaps's free scan takes minutes and shows every component that needs migrating.
Start Free ScanOr talk to us about done-for-you migration — we handle everything.
Practical fixes for legacy Excel and Access problems. No spam.