Search code examples
ms-accessms-access-2007

Convert old Access 2000 32-bit db to Access 365 64-bit


I have an old Access 2000 32-bit application that contains forms and code that I'm attempting to convert to an Access 365 64-bit app. The old db is password protected but I have the original System.mdw file that was used to create it. I can open it on my still running Windows XP PC with Access 2007 just fine. I can see forms design and the VBA code. I can save it as a ACCDB file but I can't open that on either a Win 10 or 11 PC using Office 365 or Access 2010.

A lot of valuable design and logic went into this old app that I don't want to lose. Any help would be greatly appreciated!


Solution

  • First up, if the database needs the mdw security file to open, that database is NOT password protected, but is secured with what we call Access security, or better said what we called Access workgroup security (or it been so long, perhaps user level security). That's not password protection, that user level security.

    This security can only be used with a mdb file - does no work with accDB file. However, to change into a non secured file, you have to be attached to the mdw file.

    So, assuming that you are able to open the secured database with Access 2007?

    Then what one needs to do is REMOVE the user security that exists on the database.

    The most easy way?

    Open the mdb file (along with the mdw file) in access 2007. No doubt you are either using a shortcut that specifies the mdw file, or you are going to the security setup and choosing that file.

    So, how to "remove" the security?

    Well, you have the mdb file open in 2007. So, now close the database but DO NOT exit a2007. (the reason is you are STILL attached to the mdw file).

    Now, create a blank new accDB file (and you still attached to the mdw file).

    Now, import all of the forms, and "everything" into that new accDB file.

    You can now exit a2007, and re-launch (without using that mdw file). Or you can move the accDB file to your newer computers - a2010, or even 2019, or the new 365 version should then be able to open the accDB.

    You can also launch a2007, create a new accDB. Then as noted, exit, and now re-launch a2007 with that correct mdw file to allow open/use of the mdb file. At that point, you close the mdb file (but not exit access), open the new accdb file, and once again simple import all forms, code etc. into that new accDB file.

    So, either way, you simple need in a2007 need to be attached to the mdw file, and that will THEN allow you to open the accDB file, and import everything from the mdb - do this will de-secure the mdb file, and you wind up with a new accDB file with everything having been imported.

    Once done, then that accDB file can (should) then work and able to be used with any recent version of access.

    Now it is "possible" that you can also try a save-as in a2007 and create a accDB file, but my memory seems to suggest that you have/had to create and then import everything.

    however, if you are able to save as accDB, then that file should work in newer versions. If it does not, then try the above suggested import idea.

    I should also point out that the file format for x32, and x64 ARE the same.

    In most cases, the VBA code should run and work (do a debug->compile in the VBA editor to see if any code will not compile). Even that VBA code for the most part in x64 bit versions of office/access 365 should work fine. However, if that older program uses what we call windows API code, then such code can be fixed - but will require some efforts on your part.

    Also, while not all that common in Access, if they used any ActiveX controls, then those have to be changed for x64 bits. But, one step at a time, you want to get a accDB that you can open - from then you can check/see and test if any VBA code requires changes (it should not).