Microsoft KB Archive/257780

= FIX: Unrecognized Database Format Error with Data Control or Data Form Wizard =

Article ID: 257780

Article Last Modified on 8/7/2007

-

APPLIES TO


 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition

-



This article was previously published under Q257780



SYMPTOMS
When you attempt to connect to a Microsoft Access 2000 database by using either the standard Data control or the Data Form Wizard, you see the following error message where '...\databasename.mdb' is the absolute filename of the Access 2000 database:

Unrecognized database format '...\databasename.mdb'"



CAUSE
The standard Data control uses Data Access Object (DAO) 3.51 to connect to Access databases by using the Jet 3.51 engine.

The Data Form Wizard uses the Jet 3.51 OLE DB Provider to connect to Access databases by using the Jet 3.51 engine.

The Jet 3.51 engine can connect to Access database versions prior to Access 2000, but cannot connect to Access 2000 databases.



RESOLUTION
These problems are not seen with the Data control and Data Form Wizard that ship with Microsoft Visual Studio 6.0 Service Pack 4 and later. (If you are using the Data Control, you must take the additional step of changing its Connect property to Access 2000.)

Prior to service pack 4 for Visual Studio 6.0, the workaround for the standard Data control problem was to open a Recordset using DAO code, and then assign it to the Data control's Recordset. This workaround is described in Microsoft Knowledge Base article Q238401 in the "References" section.

Prior to service pack 4 for Visual Studio 6.0, the workarounds for the Data Form Wizard problem were:
 * Open the Access database through an ODBC DSN that uses the Access ODBC driver version 4.0.
 * Build the form manually using Jet 4.0 to connect to the database.

See these workarounds in the Microsoft Knowledge Base article Q242010 in the "References" section.

NOTE: There are known issues when connecting to Access 2000 on certain localized versions of Visual Basic 6.0 Service Pack 4. This is scheduled to be fixed in Visual Basic 6.0 Service Pack 5. However, this bug is fixed for the English version (North America) of Visual Basic 6.0 Service Pack 4.



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article. This bug was corrected in the latest service pack for Visual Studio 6.0.

For additional information about Visual Studio service packs, click the following article numbers to view the articles in the Microsoft Knowledge Base:

194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why

194295 HOWTO: Tell That a Visual Studio Service Pack Is Installed

To download the latest Visual Studio service pack, visit the following Microsoft Web site:

http://msdn2.microsoft.com/en-us/vstudio/Aa718353.aspx



Steps to Reproduce Using the Standard Data Control

 * 1) In Visual Basic, create a new Standard EXE project. Project1 is created by default. Form1 is added by default.
 * 2) Place a Data control onto Form1. Data1 is created by default.
 * 3) Set the DatabaseName property of the Data control to an Access 2000 database.
 * 4) Attempt to set the RecordSource property of the Data control by clicking the drop-down list, and note that the error message in the "Symptoms" section appears.

Steps to Reproduce Using the Data Form Wizard
 In Visual Basic, create a new Standard EXE project. Project1 is created by default. Form1 is added by default. If the Data Form Wizard is not listed in Add-Ins menu, do the following:  From the Add-Ins menu, select Add-In Manager. In the list of Available Add-Ins, select Data Form Wizard. Click to check the Loaded/Unloaded checkbox.</li> Click OK, and note that the Data Form Wizard is now on the Add-Ins menu.</li></ol> </li> From the Add-Ins menu, select Data Form Wizard. <ol style="list-style-type: lower-alpha;"> At the Introduction screen, click Next.</li> At the Database Type screen, select Access, and then click Next.</li> On the Database screen, click Browse, navigate to your Access database, and then click Open. When you click Next, the error message in the "Symptoms" section is displayed.</li></ol> </li></ol>

<div class="references_section">