Daniele non per essere, ma il codice sopra ti dice già tutto, ti posto due tipologie, una per caricarla normalmente, ed una per generarla in array, ma !! solo il primo nodo, poi ci devi ragionare su da solo!
codice:
Dichiari i nodi
Dim nInd As Long
Dim n As Node
Generi la query che carica i dati dal Database
newRS.Open "SELECT * FROM GRUPPO WHERE Annullamento = False", newCN, adOpenForwardOnly, adLockReadOnly, adCmdText
'**************PRIMO NODO**********************************
Do While Not newRS.EOF
'relative = vuoto se principale //
Set n = trvAlbero.Nodes.Add()
n.ForeColor = vbRed
n.Image = 1
n.ExpandedImage = 2
n.Text = newRS!Gruppo & " - " & newRS!DESCRIZIONE
n.Tag = newRS!Gruppo
n.Key = "NN" & newRS!ID
' N.Tag
nInd = n.Index
nsub = n.Child
codice:
Dichiari i nodi
Dim nInd() As Long
Dim n() As Node
Set nInd() = 'indice
Lavori sugli array
For x = 0 to ubound(nind())
e vai avanti
Generi la query che carica i dati dal Database
newRS.Open "SELECT * FROM GRUPPO WHERE Annullamento = False", newCN, adOpenForwardOnly, adLockReadOnly, adCmdText
'**************PRIMO NODO**********************************
Do While Not newRS.EOF
'relative = vuoto se principale //
Set n(0) = trvAlbero.Nodes.Add()
n(0).ForeColor = vbRed
n(0).Image = 1
n(0).ExpandedImage = 2
n(0).Text = newRS!Gruppo & " - " & newRS!DESCRIZIONE
n(0).Tag = newRS!Gruppo
n(0).Key = "NN" & newRS!ID
' N.Tag
nInd(0) = n(0).Index
nsub = n.Child