Converting Access 2003 Databases
Information and guidance on the conversion of Access 2003 databases (.mdb file format) to Access 2013 and 2016 (.accdb file format).
Last updated on 2018-07-23 by David Wallis.
April 2014 marked Microsoft’s end to support for Access 2003 and its .mdb file format. Hence no more automatic upgrades and patches beyond that date. One consequence: an Access 2003 database presenting a potential security risk.
It follows that such a risk represents a failure to meet the requirements of certain auditing bodies — per the Data Protection Act, for example (with the possible consequence of withdrawal or suspension of certification).
In this article I offer a couple of pieces of guidance. If you don’t fancy attempting to convert if yourself, then I can attempt to convert your Access 2003 database for you and will be pleased to work with you if you want to make improvements as part of the process.
Converting Access 2003 Databases to Access 2010
You can use Access 2010 (or even Access 2007) to convert an Access 2003 .mdb database to the .accdb file format. In Access 2010 Simply open your old .mdb database file and Access will present you with the Database Enhancements options:
Businesses to which I've spoken, and who have attempted the steps themselves, told me that the process rarely completed without some errors. That’s my experience too:
Not all these errors get logged in the conversion error tables Access creates as part of the conversion process. So what needs to be done to eradicate the errors is not made obvious. In some instances errors came to light only when supposedly converted databases crashed during use.
There’s more on working around conversion errors on our converting access 97 databases page.
Please contact DMW if you need guidance on trapping errors during the conversion.
Converting 2003 Databases to Access 2013 or 2016
If the old database you want to convert is in the .mdb file format, then without giving it a try it’s impossible to know whether Access 2013 or 2016 is going to accept it. What I do is locate the .mdb in Windows Explorer and then right-click it to open the pop-up menu. Choose Open with and then Access 2016 from the side menu. If Access 2016 opens the .mdb file, all well and good, but if it doesn’t it tells you:
This is a sure sign that Access doesn’t like the old database and therefore will not provide a conversion process. In which case, to prepare an Access 2003 .mdb file for Access 2013 or 2016, you first need to complete the conversion using Access 2010 (or 2007) as described in Converting Access 2003 Databases to Access 2010, above.
On successful completion of that step you will have an accbd version of your database. DMW recommends that you compile its VBA code, attend to any reported conversion errors, and then perform a compact and repair.
You then have the database as ready as you can get it for use with Access 2013 and 2016. On opening it for the first time in either 2013 or 2016, I recommend compiling any VBA and running a Compact and Repair:
Slow-Running Converted Access Databases
Some DMW clients have been disappointed with the speed of their databases following their attempts at conversions. Identifying what’s the cause of the slow running is not always easy. Please make contact if you want DMW's experience in tracking down problem areas.
Give DMW’s Tips Your Support
ContributionIf you intend making use of Tips in any of your professional or commercial work and would like to make a donation in recognition of the time I spend publishing them, then please click Contribution and tell me how much you wish to donate. In response I’ll email you an invoice for payment by PayPal.
Thanks, in anticipation.
An Opportunity to Improve Usability
If now you are upgrading to Access 2010, 2013 or 2016, then your database may have been in use for some years. So you will have had time to identify improvements you would like to make; and time to assess the relevance of some bits that nobody uses any longer and are causing clutter.
Also, users will have views on what would make their database more relevant to their work than it is in its current form.
Perhaps, therefore, this is the best time to review the database with an upgrade in mind.
An Opportunity to Gain Business Advantage
A long-standing Access 2003 database — in which a lot of time and effort has been invested collecting and inputting data — may not be yielding nearly enough information to make you feel you have achieved an acceptable level of advantage from all that investment.
As part of your conversion process you might consider adding beefed up analysis and reporting in order to increase returns from your investment.
Please contact DMW if you want someone with ideas from the outside to join in brainstorming the possibilities.
Help Converting Access VBA
There are changes in the Access VBA as you move up through the versions. Some of these changes are quite major ones. Some offer increased functionality that you may wish to exploit as part of a conversion upgrade.
Access's convert-database feature takes a stab at converting your VBA code. In my experience, conversions are very far from perfect. In many instances conversion errors result from poor quality code in the original database, something with which a push-button conversion is not going to cope.
You might want to talk to me before you press the button or if you want Access VBA help in general.
Converting Access MDE Files
If your database is in the form of an MDE file, there are utilities advertised that claim to unlock MDEs. Once unlocked, so the claim goes, you can make changes to your MDE.
I’ve tried one unlocker program that gets mentioned a lot on the Web. In those Access 2003 MDEs that I’ve “unlocked” using it, the majority of forms and reports would either not go into design view or would not allow changes to all control objects.
Furthermore, none of the VBA modules, or of the modules behind forms and reports, were rendered accessible.
So now may be the best time to review the functionality of your database prior to offering to tender for the rewrite. Please contact me if you want to discuss.