Treeview ...

11/05/2008 - 10:15 von Jimmy Starzacher | Report spam
Hallo!

Ich verliere bald meine Nerven. Seit 3 Tagen probiere ich bereits mein
Problem mit den Treeview in den Griff zu bekommen.

Die hauptnodes werden problemlos angezeigt. Ich habe einen Gedankenfehler,
das heisst ich krieg es einfach nicht hin, die childs anzufügen.

Vieleicht sieht jemand den Fehler auf Anhieb:

Option Compare Database
Option Explicit

Private mTreeView As MSComctlLib.TreeView
-
Property Get objTreeView() As MSComctlLib.TreeView
If mTreeView Is Nothing Then
Set mTreeView = Me.tv1.Object
End If
Set objTreeView = mTreeView
End Property

-

Private Sub btn_clear_Click()
Me.tv1.Nodes.Clear
End Sub
-
Private Sub btn_schliessen_Click()
On Error GoTo Err_btn_schliessen_Click


DoCmd.Close

Exit_btn_schliessen_Click:
Exit Sub

Err_btn_schliessen_Click:
MsgBox Err.Description
Resume Exit_btn_schliessen_Click

End Sub
-
Private Sub btn_tree_Click()

Dim db As Database
Dim a, b, c, d, e, f
Dim rsHM As Recordset
Dim rsUM As Recordset
Dim objNode As MSComctlLib.Node
objTreeView.Nodes.Clear
Set db = CurrentDb

Set rsHM = db.OpenRecordset("Select * from tbl_hauptmenu")
Do While Not rsHM.EOF
a = rsHM.Fields("hauptmenu")
b = rsHM.Fields("hauptmenu_key")
c = rsHM.Fields("lfd_hauptmenu")
Set objNode = objTreeView.Nodes.Add(, , b, a)

Set rsUM = db.OpenRecordset("Select * from tbl_untermenu _
where tbl_untermenu.untermenu_key=tbl_hauptmenu.hauptmenu_key")
Do While Not rsUM.EOF
e = rsUM.Fields("untermenu_key")
f = rsUM.Fields("untermenu")
objTreeView.Nodes.Add a, tvwChild, e, f
rsUM.MoveNext
Loop

rsHM.MoveNext
Loop

Set objNode = Nothing
rsHM.Close
rsUM.Close
Set rsHM = Nothing
Set rsUM = Nothing
Set db = Nothing

End Sub

Besten Dank im Voraus.

LG
 

Lesen sie die antworten

#1 André Minhorst
11/05/2008 - 11:22 | Warnen spam
Hallo Jimmy,

Jimmy Starzacher schrieb:
Ich verliere bald meine Nerven. Seit 3 Tagen probiere ich bereits mein
Problem mit den Treeview in den Griff zu bekommen.



wenn ich wegen eines Problems bald wahnsinnig werde, versuche ich dieses
einzukreisen. In Deinem Fall: Fülle ein TreeView manuell mit einem
Element und ordne diesem Element ein weiteres unter. Ohne Recordset,
ohne jeden weiteren Schnickschnack.

Die hauptnodes werden problemlos angezeigt. Ich habe einen Gedankenfehler,
das heisst ich krieg es einfach nicht hin, die childs anzufügen.



Du schreibst leider nicht, was genau schieflàuft. Aus meiner Sicht gibt
es einen Fehler, wenn eine Zeile ein Unterelement anfügen soll, dies
aber aus irgendwelchen Gründen nicht klappt - weil zum Beispiel das
referenzierte Parent-Objekt gar nicht da ist oder weil es schon ein
Element mit gleichen Namen gibt.

Das tritt aber bei Dir nicht auf, zumindest berichtest Du nicht davon.

Also würde ich tippen, dass die Anweisung zum Anlegen der Unterelemente
gar nicht erreicht wird. Hast Du mal debugged? Mach das mal und berichte
dann, und denk auch an die oben erwàhnte Herangehensweise an Probleme
die einen wahnsinnig machen.

Ciao
André


http://www.access-entwicklerbuch.de
http://www.access-im-unternehmen.de

Ähnliche fragen