Now: Tutorial for Web and Software Design > Database > MS Access > Database Content
> Access 2000 How Tos: Access Tree View and List Box Row Source [Bookmark it]
Access 2000 How Tos: Access Tree View and List Box Row Source

How to Load a Category Tree and Listbox RowSource Type "Field Value" Property

Overview

In this Access 2000 article, I will show you how to create a category tree and load it into a listbox. I will demonstrate the steps to create a static value list and associate it with a listbox. The algorithm can be easily ported to a treeview control or to HTML for an active server page.


Creating the Category Table

  1. Create a table called "category"
  2. Include the following fields:
    categoryid: autonumber
    parentid: number
    title: text
  3. Add the following data values to the category table:
Parent ID Category ID (autonumber) Title
0 1 Hardware
0 2 Computers
2 3 DeskTop
2 4 Server

Add a Listbox

  1. Add a listbox to your form called "lbxCategory"
  2. Insert the following VB code to the form

  1. Static values can be added to a listbox
  2. Each field value is separated with a ";" delimiter
  3. Rows are determined by the listboxes columncount
  4. When the ColumnHeads property is set to true, the first row becomes the column headings
  5. The RowSourceType settings tell the listbox control whether the data is dynamically bound to a data table or static text. In this case, the listbox control is bound to static text

Option Explicit

Option Compare Database

Dim sFieldValues As String



Private Sub Form_Load()

  

    'Heading Column titles

    sFieldValues = "Parent Id;Category Id, Title;"

    Call LoadCategory(0)

    lbxCategory.RowSourceType = "Value List"

    lbxCategory.RowSource = sFieldValues

    lbxCategory.ColumnCount = 3

    lbxCategory.ColumnHeads = True

    

    

End Sub

  1. The Load Category procedure starts with the root parent id being "0"
  2. Each category is recursively checked to see if it has children.
    Children are concatenated to the sFieldValues string
  3. Each value list entry is concatenated to the sFieldValue string embedding the parentid, categoryid, and title information.

Private Sub LoadCategory(sId)

    Dim rs As Object

    Dim sql

    Dim sNewId

    

    'Check for the bottom of the tree

    If IsNull(sId) Then

        Exit Sub

    End If

    

    sql = "select * from category where parentid=" & sId

    Set rs = CurrentDb().OpenRecordset(sql)

    

    Do While Not rs.EOF

        sFieldValues = sFieldValues & sId & ";" & rs("categoryid") & ";" & rs("title") & ";"

        'Recursive call to check for children

        Call LoadCategory(rs("categoryid"))

        rs.MoveNext

    Loop

    

    If Not rs Is Nothing Then

        rs.Close

    End If

    Set rs = Nothing

    

End Sub


Active Server Page (Tree View)

  1. Generate a Category tree in HTML.


Back to Access 2000 How To's Series Home

[Bookmark][Print] [Close][To Top]
  • Prev Article-Database:

  • Next Article-Database:
  • Related Materias
    MS Access for the Business
    MS Access for the Business
    MS Access for the Business
    MS Access for the Business
    MS Access for the Business
    MS Access for the Business
    MS Access for the Business
    MS Access for the Business
    Microsoft Access 2000 How 
    Access 2000 How Tos: Addin
    Topics
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Graphic Design Tutorial
     

    Coreldraw Tutorial

      Illustrator Tutorial
      3D Graphics Articles
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial&Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial&Articles
     

    XML Style Tutorial

      AJAX Tutorial
      XML Mobile
    Flash Tutorial&Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial&Articles
     

    Linux Tutorial

      Symbian Tutorial
      MacOS Tutorial