ich habe folgendes UserForm mit TreeView:

In diesem TreeView möchte ich ein Tree mit 3 Ebenen haben.
Man gibt den Namen ins TextBox ein, klick auf entsprechendes Button und in TreeView erscheint entsprechendes Node.
Hier ist der Quell-Code fürs Button "+ Gruppe" (quasi Root-Nodes):
Private Sub btn_PI_Gruppe_Click()
Dim tempNode1 As Node
With uf_ProduktInput
If .tb_PI_name.Value = "" Then
MsgBox "Bitte geben Sie die Bezeichnung ein", vbOKOnly, "Fehler"
.tb_PI_name.SetFocus
Else
Set tempNode1 = .uf_PI_tree.Nodes.Add(, , , uf_ProduktInput.tb_PI_name.Value)
.tb_PI_name.Value = ""
.tb_PI_name.SetFocus
tempNode1.Expanded = True
End If
End With
End Sub
Um ein Node für Modell oder Generation einzufügen, muss man nur ein Node auswählen und auf ensprechendes Button klicken. Hier benutze ich den gleichen Quell-Code mit einer Ausnahme:
Set tempNode2 = .Nodes.Add(.SelectedItem.Index, tvwChild, , uf_ProduktInput.tb_PI_name.Value)
Allerdings kriege ich folgendes nicht hin (hab schon vieles versucht, aber ohne Erfolg):
1. Ich möchte, dass die Namen eindeutig sind, sprich keine Nodes den gleichen Namen haben.
2. Wie kann ich die Anzahl der Children-Nodes begrenzen? Ich möchte z.B. dass Root-Node ("Gruppe") nur ein Child-Node ("Modell") haben darf.
3. Wie kann man die Anzahl von Ebenen festlegen bzw. rausfinden auf welcher Ebene man ist? In meinem Fall wären es nur 3 Ebenen: Gruppe, Modell, Generation.
Wenn jemand mir ein paar Tipps geben könnte, wäre ich sehr dankbar!
Gruß
shaka