Microsoft KB Archive/169445

From BetaArchive Wiki

Article ID: 169445

Article Last Modified on 4/18/2003


  • Microsoft Visual Basic 5.0 Enterprise Edition

This article was previously published under Q169445


When entering SQL statements in Visual Basic 5.0 Visual Data Manager (VisData), the record count may be incorrect. The same SQL statement entered in Visual Basic 4.0 Data Manager will return the correct number of records.


All records do appear in some circumstances, such as with the DBGrid control, Data Manager, etc., because in these circumstances all records need to be retrieved to be displayed to the user, in which case there is no need to explicitly call MoveLast.


Always go the last record in VisData or issue a MoveLast of a recordset variable in order to get the correct record count using the DBGrid.


This behavior is by design.


Steps to Reproduce Behavior

Within VisData:

  1. Open Nwind.mdb.
  2. Enter the following SQL statement:

         select * from customers where customers.customerid like "*"
  3. Execute the statement and note that VisData will report two records being returned.

In Visual Basic 4.0 Data Manager:

  1. Open Nwind.mdb.
  2. Enter the same SQL Statement and note that Data Manager returns 91 records.


For additional information, please see the following article in the Microsoft Knowledge Base:

109053 PRB: Using RecordCount with VB Dynasets, Snapshots, and Tables

Keywords: kbprb KB169445