Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/171952

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 10:05, 21 July 2020 by X010 (talk | contribs) (Text replacement - """ to """)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Article ID: 171952

Article Last Modified on 3/2/2005


  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition

This article was previously published under Q171952


The MSFlexGrid control does not return all rows when bound to a Data control whose DefaultType is UseODBC.


All of the following are possible workarounds:

  • Change the DefaultType property of the Data control to UseJet.
  • Replace the Data control with the Remote Data Control.
  • Replace the MSFlexGrid control with the DBGrid control.


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


The DefaultType property of the Data control is new to Visual Basic 5.0. It determines what type of data source (Jet or ODBCDirect) to use when creating a Recordset.

Steps to Reproduce Behavior

  1. Start Visual Basic and create a Standard EXE. Form1 is added by default.
  2. Bring up the Components dialog window by selecting the menu item Project/Components. Select "Microsoft FlexGrid Control 5.0" and click OK.
  3. Add a MSFlexGrid control (MSFlexGrid1) and a Data control (Data1) to Form1.
  4. Set the DefaultType property of Data1 to UseODBC.
  5. Set the DataSource property of MSFlexGrid1 to Data1.
  6. Add the following lines of code to the Load event of Form1:

    Note You must change Username=<username> and PWD= to the correct values before you run this code. Make sure that Username has the appropriate permissions to perform this operation on the database.

          'Replace MY_SERVER with an appropriate SQL pubs database DSN.
          Data1.Connect = "ODBC;DSN=MY_SERVER;Username=<username>;PWD=<strong password>;"
          Data1.RecordSource = "SELECT * FROM TITLES"
          'Number of rows in the Recordset.
          MsgBox Data1.Recordset.RecordCount
          'Number of rows in MSFlexGrid1 excluding the title row.
          MsgBox MSFlexGrid1.Rows - 1
  7. Press the F5 key to run the project and note the discrepancy in the numbers displayed.

Additional query words: kbVBp500 kbVBp kbWinOS98 kbDSupport kbdse kbNoKeyWord

Keywords: kbprb KB171952