HOWTO: Populate a ListView With an ADOCE Recordset in VBCE6

ID: Q221594


The information in this article applies to:
  • Microsoft Windows CE Toolkit for Visual Basic 6.0, version 1.0
  • Microsoft Windows CE version 2.11 for the Handheld PC


SUMMARY

The Handheld PC Pro (H/PC Pro) class of devices ship with Windows CE 2.11, which includes a built-in Windows CE version of ActiveX Data Object (ADOCE) and Pocket Access. Pocket Access databases (.cdb files) can be programmed through the ADOCERecordset Object from the Windows CE Toolkit for Visual Basic 6.0 (VBCE6).

This article demonstrates how to use ADOCE to open the Northwind.cdb Customers table and populate a ListView control from within a VBCE application.


MORE INFORMATION

Step by Step Example

  1. Start a new Windows CE HPC Pro Project in Visual Basic 6.0. Form1 is created by default.


  2. Select References from the Project menu and add a reference to Microsoft CE ADO Control (ADOCE) 2.0.


  3. Select Components from the Project menu and add a reference to Microsoft CE ListView Control 6.0.


  4. Place a CommandButton and a ListView control on Form1.


  5. Paste the following code into the code module of Form1:


  6. 
    Option Explicit
    
    Private Sub Command1_Click()
       Open_RS
    End Sub
    
    Private Sub Open_RS()
        
        'This code should create a message box with the CompanyName of
        'the first record of your RecordSst displayed as the message text.
        
        'Define Constants
        Const adOpenKeyset = 1
        Const adLockOptimistic = 3
        Const adCmdText = 1
        Const adCmdTable = 2
        Const adCmdStoredProc = 4
        Const adCmdUnknown = 8
        
        'Dimension and open a Recordset Object
        Dim rs As ADOCERecordset
        Set rs = CreateObject("adoce.recordset")
        
        'Open the RS Object and point the ActiveConnection
        'Property to your Northwind Database
        rs.Open "Customers", "\My Documents\Northwind.cdb", _
            adOpenKeyset, adLockOptimistic, adCmdTable
    
        'fill listview
        Dim clmX As ColumnHeader
        Dim itmX As ListItem
    
        ListViewCtrl1.View = lvwReport 'use reportview no icons
        Set clmX = ListViewCtrl1.ColumnHeaders.Add(, , "CustomerID", _
                   ListViewCtrl1.Width / 3)
        Set clmX = ListViewCtrl1.ColumnHeaders.Add(, , "CompanyName", _
                   ListViewCtrl1.Width / 3)
        Set clmX = ListViewCtrl1.ColumnHeaders.Add(, , "ContactName", _
                   ListViewCtrl1.Width / 3)
    
        While Not rs.EOF
            Set itmX = ListViewCtrl1.ListItems.Add(, , rs.Fields("CustomerID"))
            itmX.SubItems(1) = rs.Fields("CompanyName")
            itmX.SubItems(2) = rs.Fields("ContactName")
            rs.MoveNext
        Wend
    End Sub 
  7. Run the project.


Additional Information



Open a Recordset Object using the ADOCE Open method. This method takes the following five arguments:

  1. Source - String containing either the table name, a SQL statement, or the name of a stored procedure.


  2. Active Connection - String specifying the path to your Pocket Access (.cdb) database.

    NOTE: It is important to specify this path because it defaults to the Object Store of the H/PC Pro device if omitted.


  3. Cursor Type - Optional. An integer specifying the type of cursor that will be provided.


  4. Lock Type - Optional. An integer specifying the concurrency the provider will use.


  5. Options - Optional. An integer that indicates how the provider evaluates the Source Parameter.



REFERENCES

More information on the ADOCE Open method can be found in the Windows CE Toolkit Online Help from the ADO Reference page.

Additional query words: wince ado vb vbce vbce6 wce

Keywords : kbToolkit kbVBp600 kbWinCE kbGrpVB
Version : WINDOWS:1.0,2.11
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: April 6, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.