Bonjour à tous?
Faut-il supprimer de façon récursive tous les branches filles rattachées à un nœud avant de supprimer un nœud ou sa suppression détruit-elle toutes les branches filles?
Merci par avance pour toute aide!
Version imprimable
Bonjour à tous?
Faut-il supprimer de façon récursive tous les branches filles rattachées à un nœud avant de supprimer un nœud ou sa suppression détruit-elle toutes les branches filles?
Merci par avance pour toute aide!
Dans le livre Microsoft Access 2010 VBA Programming Inside Out on lit :
Citation:
When you delete a node, all the child nodes below that node should also be deleted, as
follows:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Public Sub DeleteNode(Key As String) ' delete a node in the tree Dim lngDataKey As Long ' get numerical part of the key lngDataKey = ExtractKey(Key) ' delete any child nodes this is a bit more complex ' because each child node can also have child nodes rst.FindFirst "Parentkey = " & lngDataKey Do While Not rst.NoMatch ' has child nodes ' NOTE THIS CODE IS RECURSIVE DeleteNode NodePrefix & rst!TreeNodeId rst.FindNext "Parentkey = " & lngDataKey Loop rst.FindFirst "TreeNodeId = " & lngDataKey If Not rst.NoMatch Then rst.Delete End If On Error Resume Next tv.Nodes.Remove Key End Sub
Citation:
This code routine is an example of recursive code, which means that the procedure keeps
calling itself from within itself, nesting to the required number of levels, and then as execution
at any particular level ends, it backs itself out to resume execution at the previous level.
Je complète pour revenir sur le précédent post,
Supprime également tous les noueux fils !Code:treeView.Nodes.Remove (monNode.Key)