PRB: Unrecognized Database Format Error with Access 2000 DatabaseID: Q216152
|
When opening an Access 2000-created database through MFC DAO classes in Visual C++, you get the following error message:
You also get this message when trying to create a new MFC DAO database SDI or MDI project using MFC AppWizard.Unrecognized database format.
This error message occurs because the MFC DAO classes that ship with VC++ 6.0 load DAO 3.5 (Dao350.dll) by default. DAO 3.5 uses Jet 3.5, which can only open Jet 3.5 format (or earlier) databases. Access 2000 creates Jet 4.0-format database files, which are unrecognizable to Jet 3.5. To successfully open an Access 2000 database using the MFC DAO classes, you need to use DAO 3.6 (Dao360.dll). DAO 3.6 uses Jet 4.0, which can open any available format Access database.
For MFC 6.0 to load version 3.6 of DAO, you must update the version of MFC at run time to MFC version 6.01. This can be achieved by inserting the following line of code before you open an Access 2000 database:
AfxGetModuleState()->m_dwVersion = 0x0601;
Insert this line in the CYourApp::Initinstance() function of your program. Currently, there is no workaround to use AppWizard with Access 2000 data sources.This behavior is by design.
For additional information about, click the article number below to view the article in the Microsoft Knowledge Base:
Q232337 BUG: MFC Wizards Fail with "Unrecognized Database Format"
Additional query words:
Keywords : kbDatabase kbJET kbMFC kbVC kbVS600
Version : winnt:6.0
Platform : winnt
Issue type : kbprb
Last Reviewed: August 9, 1999