I have been going nuts for some weeks now, though some would argue that I’ve been nuts for multiple decades. Not long after I started this job I asked for the 64-bit versions of Windows 7 and Office so that I could use the full 16 gig of RAM on my desktop for SQL Server.
And it was good.
We finally got everything done to get us a VM, which was also 64-bit. So I installed Access Runtime x64.
And it was not good.
When I got my SQL Server installed and configured on the VM and ran my Access app, with LOTS of VBA code behind the scene, I got the following error:
The database cannot be opened because the VBA project contained in it cannot be read. The database can be opened only if the VBA project is first deleted. Deleting the VBA project removes all code from modules, forms and reports.
Delete all my code. RIGHT. That’s a total non-starter. After MUCH digging I came to the conclusion that it was the x64 Office that was the root of my problems. So I ripped out my x64 Office from my desktop and laptop, installed x32, tore out the x64 Access runtime from the server, installed the x32, and all was well.
Except it wasn’t.
The 32-bit ACCDE of my project still got the same error message using the runtime. But the full version did not. So it looks like users will be running the full ACCDB version when it goes in to testing.
I cannot count how many reboots that I’ve done today between the three systems. I hate rebooting systems as a matter of principle.
Apparently there’s an issue with the 64-bit, and sometimes with 32-bit, that trips the error message. The best thing to do is run 32-bit and apparently don’t apply any service packs to office, which I definitely do not like. But at least everything looks like it is running now. For licensing purposes I want to have users running the ACCDB through the runtime so I don’t have to have a hundred Microsoft Access licenses, we’ll see how I pull that off. Hopefully it should be easy enough.
BTW, here’s a link to the Google search results on the specific error message and some more detailed explanations as to exactly what the heck was going on.