Database cannot be opened; VBA project cannot be read Access 2007

I'm getting the following error message.
Database cannot be opened because the VBA project contained in it cannot be read.  Database can only be opened if the VBA project is first deleted.  bla bla bla...

The interesting thing is that this DB works fine on a Vista 32 box, an XP box but not on a Vista 64 box or a Win7 64 box.

I'd really rather NOT have to wipe out all  the code and reinstall it.
I think I've had this problem in the past and fixed it but I can't remember how.

Any ideas?

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Bill PrewIT / Software Engineering ConsultantCommented:
Do you have any API calls in the embeded VBA code, as I recall those can cause issues due to the 32 bit versus 64 bit pointer situation.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Simon BallChief information OfficerCommented:
access sometimes has weird harmless anomalous effects....  I'd make a copy of the mdb copy the vba code out as text into notepad, delete the module....   then open the new copy in one of the other not working systems and then add a new module and paste the code in from the text file....  then debug and see if ti says which bit of the code it has a problem with.
use the decompile command line variable.  This should retain your code in source form without having to delete the code.
It looks like your current version of MS Office needs to be upgraded to the 64 bit version.  As stated in the references below, there is currently an unfortunate limitation of the 64-bit ACE driver (replaces the Jet DB engine) – it cannot co-exist with 32-bit versions of Microsoft Office.

Using 64-bit Applications with Microsoft Access Database Files
The Microsoft Jet database engine dates back to Windows 95 or earlier and was the original underlying database engine for *.mdb files created with Microsoft Access. Versions of Jet are contained in all editions of Microsoft Windows through Windows 7 and are used by 32-bit applications to connect to Access databases contained in *.mdb files.

Beginning in Office 2007, Microsoft Access gained a new file format with file extension *.accdb and additional functionality. Access 2007 (and later) database files are supported by the new Microsoft ACE (Access Database Engine) driver.

The Microsoft Jet database engine is considered a deprecated product. Although it is still contained in Windows 7, no plans have been announced for it to be ported to a 64-bit version. The Microsoft ACE database engine is available in a beta version for 64-bit systems and can be downloaded directly (driver only) at:

The Microsoft ACE database engine can also be downloaded as part of a beta x64 version of Microsoft Office 2010 at:

There is currently an unfortunate limitation of the 64-bit ACE driver – it cannot co-exist with 32-bit versions of Microsoft Office.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.