Treeview permettant de hierarchiser une base de donnée et d'afficher des données corespondantes a un noeud pere
Source / Exemple :
Option Explicit
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim i As Integer
Dim j As Integer
Dim nom As String
Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.Open "provider = microsoft.jet.oledb.4.0;data source = c:\bd\vb6.mdb", "", ""
Set rs = New ADODB.Recordset
trvbd.Nodes.Add , , "racine", "Base de données VB6"
rs.Open " select * from relation ", cn, adOpenStatic, adLockReadOnly, adCmdText
Do While Not rs.EOF
nom = rs.Fields(0).Value
On Error Resume Next
'on extrait les valeurs contenu ds les colonnes (rs.fields(0).values)
trvbd.Nodes.Add "racine", tvwChild, nom, nom
trvbd.Nodes.Add nom, tvwChild, nom & rs.Fields(1).Value, rs.Fields(1).Value
rs.MoveNext
Loop
End Sub
Private Sub trvbd_NodeClick(ByVal Node As MSComctlLib.Node)
rs.MoveFirst
On Error Resume Next
Do While Not rs.EOF 'scan la bd jusqu'a la fin
'si le noeud parent = une donnée de la colonne nomcontrole et le noeudfils = une donnée de la colonne nompropriete alors
If Node.Parent.Text = rs.Fields("nomcont").Value And Node.Text = rs.Fields("nomprop").Value Then
lbprprt.Caption = rs.Fields("exemple").Value 'on renvoit la donnée de la colonne exemple correspondante dans le caption
Exit Do 'sortie de la boucle
End If
rs.MoveNext 'on avance le curseur de 1
Loop
'si si le noeud parent = une donnée de la colonne nomcontrole et le noeudfils = rien alors
If Node.Parent.Text = rs.Fields("nomcont").Value And Node.Text = "" Then
lbprprt.Caption = "" 'on ecris rien ds le caption
End If
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.