Microsoft released service pack 1 (SP1) of Office 2010 late June 2011. Information on the update and download instructions are in their Knowledgebase article 2460049. The KB article was last updated yesterday.
Unfortunately, we and some of our customers have encountered problems after installing the update. While we haven’t had exhaustive testing with SP1 and tentatively believe everything is okay with the 32 bit version, there are definitely compatibility problems with the 64 bit version of Access 2010. In particular, ACCDE files created in the original release of Access 2010 64 bit no longer run under SP1. This error message appears:
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. You should back up your database before attempting to open the database and delete the VBA project.
Obviously, with an ACCDE file, unlike an ACCDB file, you can’t modify the VBA project. It requires rebuilding the ACCDE from SP1.
So far, we have not experienced problems with our 32-bit ACCDE files between the original and SP1 Access 2010 versions. Some of these issues have been noted in these articles:
-
Microsoft Access Development Team Blog: Using 64-bit Access 2010? You may want to wait on SP1
-
TechNet report: Access 2010 – Wizards not working after installing SP1
This is a Microsoft KB article discussing the problem which impacts ACCDE, MDE, and ADE files created with Access 2010, 64-bit. For us, when we create MDE and ADE files for use across multiple versions of Access, we’ve used Access 2003 so that still works fine. The only time we use Access 2010 64-bit version is when we’re creating an ACCDE specifically for Access 2010 64-bit users.
This issue impacts two of our products’ Access 2010 64 bit versions:
-
Total Access Emailer 2010
We have created new builds of these products and are undergoing internal testing and QA to verify they work with SP1. When ready, we’ll release free updates of these products to existing customers. If you need it earlier, please contact our support team. Note that this does not impact the Access 2010 32 bit version.
Regardless of whether you are using our products or not, please be aware of the compatibility issues if you’re using the 64-bit version of Access and deploying ACCDE files. You will need to make sure your Access version is in sync with your users’ version. Unfortunately, this bug occurs before any of your code can run to provide instructions to your users or offer a graceful exit.
Not sure what version you have installed? Run Access, select the File menu, and click on Help. The version informing is shown on the right side and will show (SP1).
Thank you for your patience. Updates for the Access 2010 64-bit versions of these products was released:
– Total Access Emailer 2010
– Total Access Statistics 2010
Existing customers should receive emails with download instructions.
Our free-trial versions are also updated:
– Total Access Emailer 2010: http://www.fmsinc.com/MicrosoftAccess/Email/free-trial.html
– Total Access Statistics 2010: http://www.fmsinc.com/MicrosoftAccess/statistics/free-trial.html
These problems apply to 32-bit Access as well.
Hi Ellen,
Please elaborate. We haven’t seen the problem with Access 32-bit. The 64-bit problem is happening because of a change to VBA7.DLL which is not part of the 32-bit version. That said, we are aware of a problem with ADO related to creating ACCDE and MDEs on machines with Windows 7 SP1 installed. That can be bypassed by creating the file on the original Windows 7 or XP or Vista.
In February 2011, I created an accdb in Access 2010. I had windows XP at the time. I was upgraded to Windows 7 in March. Database ran fine all this time until I received the Office SP1 update in June. I started getting random database crashes. I got the error message described above many times ("The database cannot be opened because the VBA project contained in it cannot be read….."). Sometimes I could use the database so far then I would get the message that Access has stopped working, etc. Sometimes just trying to open the database would produce that message. After researching the problem, I found that SP1 might be the problem. Our IT department uninstalled SP1 and now the database works fine. It’s been a week now since SP1 has been uninstalled….still no problems with the database.
Weird thing is that other databases seem to work just fine. It’s just this one for some reason. It was an adp that I converted to an accdb. I copied the forms and reports from the adp into the accdb.
I don’t think that would cause this problem.
I found other 32-bit users with this problem: http://blogs.office.com/b/microsoft-access/archive/2011/07/08/sp1-vbe7-update-impacts-64_2d00_bit-installations-of-access.aspx. You stated that even though you haven’t experienced problems with 32-bit Access, you want to hear from others who have.
Thanks, Luke.
No, I don’t. I do have the list for the database that runs good without SP1. If you think it would help, I’ll ask IT to reinstall SP1 and attempt to get you that list.
Here’s the list of references for the database currently, in this order:
Visual Basic for Applications
Microsoft Access 14.0 Object Library
OLE Automation
Microsoft Office 14.0 Access database engine Object Library
I don’t use ADO (except in adp’s)
I checked two other databases that worked OK with SP1. In addition to the 4 references mentioned above, they also use:
Database 1:
Microsoft DAO 3.6 Object Library
Microsoft Activex Data Objects 2.5 Library
Database 2:
Microsoft Visual Basic for Applications Extensibility 5.3
Microsoft Activex Data Objects 2.1 Library
No clue. The crashes were random and happened at different points in the database. All I know is that it doesn’t work with SP1. It works fine without sp1. I have 25 active databases being used by staff and faculty and only this one gives me problems with sp1.
I forgot to mention another weird thing. When sp1 was installed, I could use this database just fine on my virtual machine running windows XP and Access 2007.
The user is supposed to start beta-testing this accdb tomorrow. She does have sp1 and is currently using an adp I developed for her back in 2001. It’s ran just fine thru the years and various upgrades. I think I’ll go ahead and let her try to test this accdb but am concerned that she may have the same issues. She is aware of the problems I’m having so she knows that testing may have to stop until a fix is done.
Maybe it’s a setting on my pc???
Hi Ellen,
Thanks for sharing your experiences. I’m wondering if this is tied to the libraries referenced by your ACCDB and whether they changed in the migration to SP1. That could also explain why some databases work but others don’t.
Do you have the list of library references in your database that failed?
Luke
You don’t need to reinstall SP1 to get the list. We would just like to know the list in the database that failed. Since you have the list of references that seem to work, see if your other database has any extra library references.
I’m wondering if it’s a problem with ADO. The references you list for this database is DAO only.
So if those references seem to work, what was in the database(s) that didn’t work?
I updated Win 7 32-bit to SP1 and MS Access 2010 to SP1 and now when I make a .accde file it runs fine on my PC but will not run on an XP SP3 machine with Access 2010 runtime. It stops on load with the error below. Again, this is all on 32-bit versions. I have tried /decompile and compile prior to making the .accde file. It only started after applying SP1 updates.
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. You should back up your database before attempting to open the database and delete the VBA project.
Mike,
Sorry to hear about that. Unfortunately, the Windows 7 SP1 causes this break. We mentioned this in our email newsletter and this blog in March:
http://www.fmsinc.com/blog/post/Microsoft-ActiveX-Data-Objects-(ADO)-Breaks-Backward-Compatibility-with-Windows-7-Service-Pack-1.aspx
According to the latest MS thread (http://social.msdn.microsoft.com/Forums/en-NZ/windowsgeneraldevelopmentissues/thread/280de88a-77dd-455e-9797-b28928206e38) , the current solution is to compile on the pre-alpha Windows 8 preview. The most recent response as at the time I am writing this says they are looking to have a Win7 resolution "early next year" (ie 2012)
Hi Michael,
That link isn’t working for us.
Needless to say, compiling on a pre-release operating system and distributing it to people who aren’t on that O/S may solve this problem, but could introduce many other problems. Let us know if it works for you.
I have also experienced these problems on 32-bit Access, and maybe my experiences help other users.
My configuration is:
– Development PC: 32-bit, Win7-SP1, Access 2010 SP1
– User PC: 32-bit, Vista, Access 2007, Access 2010 Runtime (version 10may10, downloaded early September 2011).
Usually I build an ACCDE file on the Development PC, and it is used on a client PC like the User PC. This worked OK until a few weeks ago. Then the ACCDE consistently failed on the User PC at start-up, with the above error message “The database cannot be opened because the VBA project …”. The ACCDB is OK on the User PC, but unfortunately the A2010 Runtime on this PC cannot generate an ACCDE.
Based on entries in other blogs, I have been able to track this down to the file VBE7.dll located in C:\Program Files\Common Files\Microsoft Shared\VBA\VBA7 . On the Development PC this file is version 7.0.16.19, and on the User PC it is version 7.0.15.90 . That is consistent with other reports on this problem: Access 2010 SP1 seems to update VBE7.dll to version 7.0.16.19, and the Access 2010 Runtime (still) contains version 7.0.15.90.
My, hopefully temporarily, solution is to deploy two different ACCDE files: one for Access SP0, and one for Access SP1. I have implemented this on the Development PC with a Virtual PC that has Access 2010 installed without SP1 (my so-called SP0 configuration). Further tests confirmed that the ACCDE SP0 version works OK on a PC with the Access 2010 Runtime installed, and that the ACCDE SP1 version works OK on a PC with Access 2010 SP1 installed. The behaviour is consistent with the VBE7.dll version present: SP0 is 7.0.15.90, and SP1 is 7.0.16.19.
Here’s a recent Microsoft article about this issue related to entitled Microsoft Access 2010 crashes in VBE7.DLL after installing Office 2010 SP1: http://support.microsoft.com/default.aspx?scid=kb;EN-US;2625046
While we’ve already documented the issues around the 64 bit version, we have not experienced significant issues using the 32-bit version. We’ll keep a closer eye on it and report any findings.
I’m not sure if anyone can help me, but I’m having a similar problem. My company has a database developed in Access 2003. There are users that have Access 2010 Version:14.0.6106.5005 (32-bit) with SP1 on their machines. When they open the database they get the same error as mentioned at the top. I have no idea on how to fix it.
Are you deploying your Access 2003 database as an MDB or mde? If it’s an mde, are you building it on windows 7? If so, there’s an ADO compatibility problem if SP1 of Windows 7 is installed.