Microsoft KB Archive/190663

= PRB: Opening an ODBC Database Inside a Jet Workspace Hangs VB =

Article ID: 190663

Article Last Modified on 5/13/2003

-

APPLIES TO


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

-



This article was previously published under Q190663



SYMPTOMS
Attempting to use a Jet workspace to open an ODBC datasource based on a Jet database can cause Visual Basic to hang. This is essentially causing Jet to talk to itself. This is not a supported way of accessing an Access/Jet database.



RESOLUTION
You can use an ODBC workspace to open an ODBC datasource based on a Jet database. You can also open a Jet database directly, without an using an ODBC datasource.



STATUS
Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.



Steps to Reproduce Behavior
 In 32-bit ODBC Administrator, create a new File DSN based on the Access ODBC driver. For the database, select the NWind.mdb file that is in the Visual Basic program folder. Name the new File DSN NWind. In Visual Basic, create a new Standard EXE Project. Form1 is created by default. Select the Project menu, and choose Remove Form1. Select Project, References and add a reference to the Microsoft DAO 3.51 Object Library.  Select Project, Add Module to add a new code module. In the new module's code window, add the following code: Sub main

Dim ws as DAO.Workspace Dim db as DAO.Database Set ws = CreateWorkspace("ws", "admin", "", dbUseJet) Set db = ws.OpenDatabase("",, False, "odbc;")

End Sub

 Save the module as TestHang.BAS and the project as TestHang.VBP.</li> Test the project:

<ol style="list-style-type: lower-alpha;"> Press F5 to run the code.

From the Select Data Source dialog box, select the NWind.dsn

File Data Source.

Visual Basic will hang.

Press CTRL+ALT+DEL to end the TestHang application and Visual Basic.</li> Restart Visual Basic.

Open the TestHang project.

In the code module, change the workspace from dbUseJet to dbUseODBC:

Set ws = CreateWorkspace("ws", "admin", "", dbUseODBC)

Press the F5 key to run the code.

From the Select Data Source dialog box, select the NWind.dsn

File Data Source.

Visual Basic will not hang.</li></ol> </li></ol>

<div class="references_section">