Halllo,
Ik ben bezig om in Access een Treeview te maken. Nu heb ik gebruikt gemaakt van een recursive Tree. Het vullen van de tree enzo is allemaal goed enzo (zie code hier onder) maar nu moet ik natuurlijk iets met deze tree kunnen.
Het is mijn bedoeling dat ik wanneer een Node aanklik in de tree dat ik in me beeld de desbetreffende informatie over dit systeem krijg ( me tree is hierachisch opgebouwd van systemen en subsystemen). Liefst nog in dezelfde form ook. Ik wil dan de informatie zoals: kosten, bouwjaar, details etc etc in het beeld krijgen van het systeem wat ik in de tree heb aangeklikt.
Ik weet dat ik hier de nodeclick event voor moet gebruiken, maar deze vat ik nou niet helemaal. Ook heb ik iets vaags meegekregen van het gebruiken van een Listview control.
Kan iemand mij wat hint etc geven?
me dank is groot,
Peter
Option Compare Database
Option Explicit
'===========================================================================
=
'===========================================================================
=
Private Sub Form_Load()
On Error GoTo ErrForm_Load
Dim DB As Database
Dim rst As Recordset
Dim nodCurrent As Node, nodRoot As Node
Dim objTree As TreeView
Dim strText As String, bk As String
Set DB = CurrentDb
Set rst = DB.OpenRecordset("Systems", dbOpenDynaset, dbReadOnly)
Set objTree = Me!xTree.Object
rst.FindFirst "[Depends] is Null"
Do Until rst.NoMatch
strText = rst![Systemname] & (", " + rst![Shortcut])
Set nodCurrent = objTree.Nodes.Add(, , "a" & rst!SystemID, strText)
bk = rst.Bookmark
Addchildren nodCurrent, rst
rst.Bookmark = bk
rst.FindNext "[Depends] is null"
Loop
ExitForm_Load:
Exit Sub
ErrForm_Load:
MsgBox Err.Description, vbCritical, "Form_Load"
Resume ExitForm_Load
End Sub
'===========================================================================
=======
'===========================================================================
=======
Sub Addchildren(nodBoss As Node, rst As Recordset)
On Error GoTo ErrAddChildren
Dim nodCurrent As Node
Dim objTree As TreeView
Dim strText As String, bk As String
Set objTree = Me!xTree.Object
rst.FindFirst "[Depends]=" & Mid(nodBoss.Key, 2)
Do Until rst.NoMatch
strText = rst![Systemname] & (", " + rst![Shortcut])
Set nodCurrent = objTree.Nodes.Add(nodBoss, tvwChild, "a" &
rst!SystemID, strText)
bk = rst.Bookmark
Addchildren nodCurrent, rst
rst.Bookmark = bk
rst.FindNext "[Depends]=" & Mid(nodBoss.Key, 2)
Loop
ExitAddChildren:
Exit Sub
ErrAddChildren:
MsgBox "Cant add child: " & Err.Description, vbCritical,
"AddChildren(nodBoss As Node) Error: "
Resume ExitAddChildren
End Sub
Ik ben bezig om in Access een Treeview te maken. Nu heb ik gebruikt gemaakt van een recursive Tree. Het vullen van de tree enzo is allemaal goed enzo (zie code hier onder) maar nu moet ik natuurlijk iets met deze tree kunnen.
Het is mijn bedoeling dat ik wanneer een Node aanklik in de tree dat ik in me beeld de desbetreffende informatie over dit systeem krijg ( me tree is hierachisch opgebouwd van systemen en subsystemen). Liefst nog in dezelfde form ook. Ik wil dan de informatie zoals: kosten, bouwjaar, details etc etc in het beeld krijgen van het systeem wat ik in de tree heb aangeklikt.
Ik weet dat ik hier de nodeclick event voor moet gebruiken, maar deze vat ik nou niet helemaal. Ook heb ik iets vaags meegekregen van het gebruiken van een Listview control.
Kan iemand mij wat hint etc geven?
me dank is groot,
Peter
Option Compare Database
Option Explicit
'===========================================================================
=
'===========================================================================
=
Private Sub Form_Load()
On Error GoTo ErrForm_Load
Dim DB As Database
Dim rst As Recordset
Dim nodCurrent As Node, nodRoot As Node
Dim objTree As TreeView
Dim strText As String, bk As String
Set DB = CurrentDb
Set rst = DB.OpenRecordset("Systems", dbOpenDynaset, dbReadOnly)
Set objTree = Me!xTree.Object
rst.FindFirst "[Depends] is Null"
Do Until rst.NoMatch
strText = rst![Systemname] & (", " + rst![Shortcut])
Set nodCurrent = objTree.Nodes.Add(, , "a" & rst!SystemID, strText)
bk = rst.Bookmark
Addchildren nodCurrent, rst
rst.Bookmark = bk
rst.FindNext "[Depends] is null"
Loop
ExitForm_Load:
Exit Sub
ErrForm_Load:
MsgBox Err.Description, vbCritical, "Form_Load"
Resume ExitForm_Load
End Sub
'===========================================================================
=======
'===========================================================================
=======
Sub Addchildren(nodBoss As Node, rst As Recordset)
On Error GoTo ErrAddChildren
Dim nodCurrent As Node
Dim objTree As TreeView
Dim strText As String, bk As String
Set objTree = Me!xTree.Object
rst.FindFirst "[Depends]=" & Mid(nodBoss.Key, 2)
Do Until rst.NoMatch
strText = rst![Systemname] & (", " + rst![Shortcut])
Set nodCurrent = objTree.Nodes.Add(nodBoss, tvwChild, "a" &
rst!SystemID, strText)
bk = rst.Bookmark
Addchildren nodCurrent, rst
rst.Bookmark = bk
rst.FindNext "[Depends]=" & Mid(nodBoss.Key, 2)
Loop
ExitAddChildren:
Exit Sub
ErrAddChildren:
MsgBox "Cant add child: " & Err.Description, vbCritical,
"AddChildren(nodBoss As Node) Error: "
Resume ExitAddChildren
End Sub