473,224 Members | 1,307 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes and contribute your articles to a community of 473,224 developers and data experts.

Adding Items to TreeView & ListView from Database.

debasisdas
8,127 Expert 4TB
This sample code displays employee name in the treeview control from the emp table of Scott schema in oracle database.

To start with

Select Microsoft windows common controls 6.0 (SP6) from components
Add a TreeView and a ListView control to the form.

Add this sample code to the form
==========================
Expand|Select|Wrap|Line Numbers
  1. Dim con As New ADODB.Connection
  2. Dim rs As New ADODB.Recordset
  3. Dim rs1 As New ADODB.Recordset
  4.  
  5. Private Sub Form_Load()
  6. con.Open "Provider=OraOLEDB.Oracle.1;Password=tiger;Persist Security Info=True;User ID=scott;Data Source=das"
  7.  
  8. call TREE
  9. End Sub
  10.  
  11. Public Sub TREE()
  12. tv1.Visible = False
  13. tv1.Nodes.Clear
  14. tv1.Visible = True
  15.  Dim scontactname As String
  16.  Dim currentalpha As String
  17.  
  18.     rs1.Open "select * from emp  order by ename", con, adOpenDynamic, adLockOptimistic
  19.     If (rs1.RecordCount > 0) Then
  20.         rs1.MoveFirst
  21.     End If
  22.     For indx = Asc("A") To Asc("Z")
  23.         currentalpha = Chr(indx)
  24.         Set contactnode = tv1.Nodes.Add(, , currentalpha, currentalpha)
  25.     If (Not rs1.EOF) Then
  26.         Do While UCase(Left(rs1!ename, 1)) = currentalpha
  27.            With rs1
  28.                 If (Not IsNull(!ename)) Then
  29.                     scontactname = !ename
  30.                 End If
  31.             End With
  32.             DoEvents
  33.                 Set contactnode = tv1.Nodes.Add(currentalpha, tvwChild, rs1!ename, scontactname)
  34.                 rs1.MoveNext
  35.                 If (rs1.EOF) Then
  36.                     Exit Do
  37.                 End If
  38.                 Loop
  39.                 End If
  40.                 Next
  41.  
  42.                 rs1.Close
  43.                 DoEvents
  44. End Sub
  45.  
To display the details of the record as selected from the Treeview control.

Add the column headers in the listview from property pallet as the field name from the table if desired.

Add the following sample code
========================
Expand|Select|Wrap|Line Numbers
  1. Private Sub tv1_NodeClick(ByVal Node As MSComctlLib.Node)
  2. LV1.ListItems.Clear
  3. rs.Open "select * from EMP where ENAME = '" & tv1.SelectedItem.Key & "'", con, adOpenDynamic, adLockOptimistic
  4.  
  5. Dim li1 As ListItem
  6. Set li1 = LV1.ListItems.Add()
  7. If Not rs.EOF Then
  8.  
  9. If IsNull(rs(0)) Then
  10. li1.Text = ""
  11. Else
  12. li1.Text = rs(0)
  13. End If
  14.  
  15. If IsNull(rs(1)) Then
  16. LV1.ListItems(1).ListSubItems.Add , , ""
  17. Else
  18. LV1.ListItems(1).ListSubItems.Add , , rs(1)
  19. End If
  20.  
  21. If IsNull(rs(2)) Then
  22. LV1.ListItems(1).ListSubItems.Add , , ""
  23. Else
  24. LV1.ListItems(1).ListSubItems.Add , , rs(2)
  25. End If
  26.  
  27. If IsNull(rs(3)) Then
  28. LV1.ListItems(1).ListSubItems.Add , , ""
  29. Else
  30. LV1.ListItems(1).ListSubItems.Add , , rs(3)
  31. End If
  32. If IsNull(rs(4)) Then
  33. LV1.ListItems(1).ListSubItems.Add , , ""
  34. Else
  35. LV1.ListItems(1).ListSubItems.Add , , rs(4)
  36. End If
  37. If IsNull(rs(5)) Then
  38. LV1.ListItems(1).ListSubItems.Add , , ""
  39. Else
  40. LV1.ListItems(1).ListSubItems.Add , , rs(5)
  41. End If
  42. If IsNull(rs(6)) Then
  43. LV1.ListItems(1).ListSubItems.Add , , ""
  44. Else
  45. LV1.ListItems(1).ListSubItems.Add , , rs(6)
  46. End If
  47. If IsNull(rs(7)) Then
  48. LV1.ListItems(1).ListSubItems.Add , , ""
  49. Else
  50. LV1.ListItems(1).ListSubItems.Add , , rs(7)
  51. End If
  52.  
  53. End If
  54. rs.Close
  55. End Sub
  56.  
Oct 21 '07 #1
0 16190

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: Angelina | last post by:
Hi, I wanted to add a few items to my listview control. The values of these will be obtained from other controls on my interface. When the user clicks the select button, they will need to be...
9
by: Eva | last post by:
Hi, I wanted to know how i can enter values into a specific column of a listview. I have tried the following code but this seems to enter all my values into the first column!!! Can anyone...
1
by: Daisy | last post by:
I'm writing a NewsReader (seemed like a decent project to start learning with), and want threading like in OE. I've got a treeview and a listview. On Expand/Contract on the listview, I spin...
2
by: cybertof | last post by:
Hello, Is there a solution to the following problem : When filling a listview (30 columns) with around 5000 items, it can take easily 10 sec for the listview to be filled. I have used...
3
by: Holmes | last post by:
Hello Ran into a bit of a problem here and have now exhausted my resources to getting this working What I am trying to do is load and show a simple vb form with a listbox in it Dim...
20
by: Ash Phillips | last post by:
Hi Everyone, I have this program I wrote in VB6 for family use. It's a DVD Database just for me to keep track of them cause I have so many lol. In VB6, I could add items to the ListView in...
0
by: James L | last post by:
I have 2 different forms that contain treeviews and listviews. The former is used to populate the latter. For some reason the control randomly lose the images. So you cannot tell in the...
6
by: Beginner | last post by:
Hi, I'm trying to populate a TreeView from an existing and filled in ListView (lvwBuild). lvwBuild is a basic two column listview which can have any number of rows. I would like the first...
3
by: ChinChin | last post by:
Hi, How to make the nodes (Tree View control) referring to the files stored in my local directory (e.g.: drive C) and display the file details in List View control? Thanks.
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 3 Jan 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). For other local times, please check World Time Buddy In...
0
by: jianzs | last post by:
Introduction Cloud-native applications are conventionally identified as those designed and nurtured on cloud infrastructure. Such applications, rooted in cloud technologies, skillfully benefit from...
0
by: mar23 | last post by:
Here's the situation. I have a form called frmDiceInventory with subform called subfrmDice. The subform's control source is linked to a query called qryDiceInventory. I've been trying to pick up the...
0
by: abbasky | last post by:
### Vandf component communication method one: data sharing ​ Vandf components can achieve data exchange through data sharing, state sharing, events, and other methods. Vandf's data exchange method...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: fareedcanada | last post by:
Hello I am trying to split number on their count. suppose i have 121314151617 (12cnt) then number should be split like 12,13,14,15,16,17 and if 11314151617 (11cnt) then should be split like...
0
by: stefan129 | last post by:
Hey forum members, I'm exploring options for SSL certificates for multiple domains. Has anyone had experience with multi-domain SSL certificates? Any recommendations on reliable providers or specific...
0
Git
by: egorbl4 | last post by:
Скачал я git, хотел начать настройку, а там вылезло вот это Что это? Что мне с этим делать? ...
0
by: MeoLessi9 | last post by:
I have VirtualBox installed on Windows 11 and now I would like to install Kali on a virtual machine. However, on the official website, I see two options: "Installer images" and "Virtual machines"....

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.