Two customers contacted me in the past few days about the following Microsoft updates.
- KB4041676 for Windows 10
- KB4041681 for Windows 7/8
These updates broke reports that use the ‘classic’ Microsoft JET drivers to read ‘classic’ xls spreadsheets. ‘Classic’ here is a euphemism for ‘ancient but still working’, like my workhorse Office XP from 2002.
Today I got a similar error when I tried to help a customer import a spreadsheet(xls) into an MS Access database (mdb). MS Access failed with the following error:
“The wizard is unable to access information in the file….”
So I tried to read the same spreadsheet from Crystal Reports using the DAO connection method, and got this error:
“Unexpected error from external database driver (1)”
I checked and found that KB4041681 had been installed on that workstation.
The official Microsoft temporary solution is for us to use a different “OLEDB provider” in place of JET, but that only works if you can use OLEDB and/or choose your provider.
So I did some research and found a post from 2008 where someone was getting this error message. They asked why they could only read xls files when those files were already open in Excel. If the file wasn’t open in Excel he would get the same errors I mentioned above. I figured it couldn’t hurt to do a quick test so I opened the file in Excel and then tried to read it from MS Access. It worked for MS Access imports and also worked for Crystal Report connections. Both would work as long as the xls file was open in Excel. Both would fail with the errors above when the file wasn’t already open in Excel.
This isn’t a great solution, and hopefully Microsoft will fix the issue in the near future. But in the meantime this workaround might just help someone meet a deadline. If you try this, let me know if it works in your environment.
One of my readers pointed me to the dll that causes this error and how to roll back just that one dll. I now see that this is one of several solutions found in the MSDN discussions. See the links below for more information: