PRB: Refresh Method of the Intrinsic Data Control Bound to DAO 3.6 Recordset Generates Error Message 3343 (272622)
The information in this article applies to:
- Microsoft Visual Basic Professional Edition for Windows 5.0
- Microsoft Visual Basic Enterprise Edition for Windows 5.0
- Microsoft Access 2000 Service Release 1 (SR-1)
- The DAO SDK 3.5
- The DAO SDK 3.51
- The DAO SDK 3.6
This article was previously published under Q272622 SYMPTOMS
The intrinsic DAO data control in Visual Basic 5.0 cannot be bound directly to a Microsoft Access 2000 table. The known workaround to address this limitation is to assign a DAO 3.6 recordset object to its Recordset property at run time with Visual Basic code. The Refresh method of the intrinsic DAO data control is commonly used to refresh the bound recordset to reflect the current data in the database. In Visual Basic 5.0, if you attempt to run the Refresh method of the DAO Data control when it is bound to a DAO 3.6 Recordset, the following error message is generated:
Run-time error '3343': Unrecognized Database format.
CAUSE
The intrinsic DAO data control in Visual Basic 5.0 was written to use Microsoft Jet 3.51. The use of a Refresh causes the control to close the bound recordset and reopen it to reflect the current data. Even though it is bound to a DAO 3.6 recordset at run time, the intrinsic data control attempts to reopen the recordset with the version of Jet for which it was designed (Jet 3.51) by virtue of its design, which results in the specified error being generated.
RESOLUTION
Requery the bound DAO 3.6 Recordset and rebind it to the intrinsic DAO data control.
STATUS
This behavior is by design and is only applicable to Visual Basic 5.0 and all of
its service packs up to SP3. SP3 was the last service pack released for Visual
Basic 5.0. This behavior does not occur in Microsoft Visual Basic 6.0
Modification Type: | Major | Last Reviewed: | 12/3/2003 |
---|
Keywords: | kbfix kbprb kbQFE KB272622 |
---|
|