OVH Cloud OVH Cloud

treeview nodeclick

14 réponses
Avatar
aida
bonjour,
j ai inserer un treeview se rapportant a une table de donnée et je veux qu
en cliquant sur un des noeuds j ai les info concernant cet enregistrement qui
apparaissent sur le meme formulaire
quelqu un pourrait il m expliquer comment cela fonctionnenerait
je sais que cela tourne autour d un treeview-nodeclick
mais je n ai aucune idée sur comment avoir l information puis l afficher

Merci pour votre aide
cela plus qu une semaine que je galére la dessus

10 réponses

1 2
Avatar
Eric
Bonjour,

En supposant qu'il s'agit d'un treeview simple et que la clé du noeud
(Node.Key) contienne l'identifiant de la table. En supposant toujours
que tu as créé des controles de type Texte nommés Texte1, Texte2, ...
TexteN en nombre suffisant pour récupérer tous les champs car ça
facilitera le remplissage :

Ajouter la référence à la bibliothèque Microsoft DAO 3.x Object Library
Sur l'évènement NodeClick() du Treeview nommé Arbre

Private Sub Arbre_NodeClick(ByVal Node As Object)
Dim rst As DAO.Recordset, i as Integer
' en suposant l'identifiant de type texte, sinon virer les quotes
Set rst = CurrentDb.OpenRecordset("select * from LaTable where
IdTable='" & Node.Key & "'")
For i = 0 To rst.Fields.Count - 1 ' à adapter, ici tous les champs
Me("Texte" & i + 1) = rst(i)
Next i
rst.Close
Set rst = Nothing
End Sub

bonjour,
j ai inserer un treeview se rapportant a une table de donnée et je veux qu
en cliquant sur un des noeuds j ai les info concernant cet enregistrement qui
apparaissent sur le meme formulaire
quelqu un pourrait il m expliquer comment cela fonctionnenerait
je sais que cela tourne autour d un treeview-nodeclick
mais je n ai aucune idée sur comment avoir l information puis l afficher

Merci pour votre aide
cela plus qu une semaine que je galére la dessus




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...
Si ton arbre a 2 niveaux par exemple les fournisseurs (niveau1), les
produits de chaque fournisseur (niveau2)

tu rajoutes sous le Private Sub Arbre_NodeClick(ByVal Node As Object)
If Node.children = 0 Then
et avant le End Sub
End If
ce qui te permettra d'afficher le détail du produit et rien quand tu
cliques sur le noeud Fournisseur

Bonjour,

En supposant qu'il s'agit d'un treeview simple et que la clé du noeud
(Node.Key) contienne l'identifiant de la table. En supposant toujours
que tu as créé des controles de type Texte nommés Texte1, Texte2, ...
TexteN en nombre suffisant pour récupérer tous les champs car ça
facilitera le remplissage :

Ajouter la référence à la bibliothèque Microsoft DAO 3.x Object Library
Sur l'évènement NodeClick() du Treeview nommé Arbre

Private Sub Arbre_NodeClick(ByVal Node As Object)
Dim rst As DAO.Recordset, i as Integer
' en suposant l'identifiant de type texte, sinon virer les quotes
Set rst = CurrentDb.OpenRecordset("select * from LaTable where
IdTable='" & Node.Key & "'")
For i = 0 To rst.Fields.Count - 1 ' à adapter, ici tous les champs
Me("Texte" & i + 1) = rst(i)
Next i
rst.Close
Set rst = Nothing
End Sub


bonjour,
j ai inserer un treeview se rapportant a une table de donnée et je
veux qu en cliquant sur un des noeuds j ai les info concernant cet
enregistrement qui apparaissent sur le meme formulaire
quelqu un pourrait il m expliquer comment cela fonctionnenerait
je sais que cela tourne autour d un treeview-nodeclick
mais je n ai aucune idée sur comment avoir l information puis l afficher

Merci pour votre aide
cela plus qu une semaine que je galére la dessus






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
aida
Merci beaucoup Eric cela a fonctionné
seulement j ai deux questions a poser
parmis les données du texte 6 a afficher l information provient d une liste
deroulante et qd il m affiche le texte c est un numero que j ai au lieu d
avoir le nom du fournisseur , comment faire pour palier a ce probléme?
2- Commemt faire si on veut effectivement rajouter un nouvel enregistrement
cad un nouveau noeud, et comment faire si on veut modifier les données une
fois affichées??

merci beaucoup


..../...
Si ton arbre a 2 niveaux par exemple les fournisseurs (niveau1), les
produits de chaque fournisseur (niveau2)

tu rajoutes sous le Private Sub Arbre_NodeClick(ByVal Node As Object)
If Node.children = 0 Then
et avant le End Sub
End If
ce qui te permettra d'afficher le détail du produit et rien quand tu
cliques sur le noeud Fournisseur

Bonjour,

En supposant qu'il s'agit d'un treeview simple et que la clé du noeud
(Node.Key) contienne l'identifiant de la table. En supposant toujours
que tu as créé des controles de type Texte nommés Texte1, Texte2, ...
TexteN en nombre suffisant pour récupérer tous les champs car ça
facilitera le remplissage :

Ajouter la référence à la bibliothèque Microsoft DAO 3.x Object Library
Sur l'évènement NodeClick() du Treeview nommé Arbre

Private Sub Arbre_NodeClick(ByVal Node As Object)
Dim rst As DAO.Recordset, i as Integer
' en suposant l'identifiant de type texte, sinon virer les quotes
Set rst = CurrentDb.OpenRecordset("select * from LaTable where
IdTable='" & Node.Key & "'")
For i = 0 To rst.Fields.Count - 1 ' à adapter, ici tous les champs
Me("Texte" & i + 1) = rst(i)
Next i
rst.Close
Set rst = Nothing
End Sub


bonjour,
j ai inserer un treeview se rapportant a une table de donnée et je
veux qu en cliquant sur un des noeuds j ai les info concernant cet
enregistrement qui apparaissent sur le meme formulaire
quelqu un pourrait il m expliquer comment cela fonctionnenerait
je sais que cela tourne autour d un treeview-nodeclick
mais je n ai aucune idée sur comment avoir l information puis l afficher

Merci pour votre aide
cela plus qu une semaine que je galére la dessus






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





Avatar
Eric
Bonjour,

Pour la question 1 :
J'ajouterai un controle indépendant qui afficherait en clair le nom du
fournisseur, celui-ci étant obtenu par un
DLookup("NomFournisseur","TableFournisseur", "NumFournisseur=" &
Val(Texte6)) en supposant que le n° est un entier

Bien que je ne sois pas un spécialiste des Treeview,
je te propose:
Pour la question 2b : Modification des données. Prévoir un bouton de
commande qui lance une requête SQL de MAJ pour le n° d'article et
reprenant les infos affichées et modifiées. La clé primaire n'étant pas
modifiée, le rafraichissement de l'arbre n'est pas nécessaire.
Pour le 2a: Ajout de données et MAJ de l'arbre
je ferai un formulaire optionnel de saisie de données, voire récuperer
le n° du fournisseur dans l'arbre pour éviter de le saisir, puis je
reconstruirai l'arbre.

Des exemples de ton problème doivent se trouver sur les sites conseillés
sur MPFA, entre autres Raymond ou PierreCFI (pardon pour ceux que
j'aurais oublié)


Merci beaucoup Eric cela a fonctionné
seulement j ai deux questions a poser
parmis les données du texte 6 a afficher l information provient d une liste
deroulante et qd il m affiche le texte c est un numero que j ai au lieu d
avoir le nom du fournisseur , comment faire pour palier a ce probléme?
2- Commemt faire si on veut effectivement rajouter un nouvel enregistrement
cad un nouveau noeud, et comment faire si on veut modifier les données une
fois affichées??

merci beaucoup



..../...
Si ton arbre a 2 niveaux par exemple les fournisseurs (niveau1), les
produits de chaque fournisseur (niveau2)

tu rajoutes sous le Private Sub Arbre_NodeClick(ByVal Node As Object)
If Node.children = 0 Then
et avant le End Sub
End If
ce qui te permettra d'afficher le détail du produit et rien quand tu
cliques sur le noeud Fournisseur


Bonjour,

En supposant qu'il s'agit d'un treeview simple et que la clé du noeud
(Node.Key) contienne l'identifiant de la table. En supposant toujours
que tu as créé des controles de type Texte nommés Texte1, Texte2, ...
TexteN en nombre suffisant pour récupérer tous les champs car ça
facilitera le remplissage :

Ajouter la référence à la bibliothèque Microsoft DAO 3.x Object Library
Sur l'évènement NodeClick() du Treeview nommé Arbre

Private Sub Arbre_NodeClick(ByVal Node As Object)
Dim rst As DAO.Recordset, i as Integer
' en suposant l'identifiant de type texte, sinon virer les quotes
Set rst = CurrentDb.OpenRecordset("select * from LaTable where
IdTable='" & Node.Key & "'")
For i = 0 To rst.Fields.Count - 1 ' à adapter, ici tous les champs
Me("Texte" & i + 1) = rst(i)
Next i
rst.Close
Set rst = Nothing
End Sub



bonjour,
j ai inserer un treeview se rapportant a une table de donnée et je
veux qu en cliquant sur un des noeuds j ai les info concernant cet
enregistrement qui apparaissent sur le meme formulaire
quelqu un pourrait il m expliquer comment cela fonctionnenerait
je sais que cela tourne autour d un treeview-nodeclick
mais je n ai aucune idée sur comment avoir l information puis l afficher

Merci pour votre aide
cela plus qu une semaine que je galére la dessus




--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
aida
bonjour Eric
Pour la premiere question je n ai pas pu excecuter le dlookup..........
donne erreur dans l expression

j ai cherché pour des exemples similaires a ce que je recherche sur MPFA
mais je n ai rien trouvé
merci de me specifier un lien si tu en connais
merci encore


Bonjour,

Pour la question 1 :
J'ajouterai un controle indépendant qui afficherait en clair le nom du
fournisseur, celui-ci étant obtenu par un
DLookup("NomFournisseur","TableFournisseur", "NumFournisseur=" &
Val(Texte6)) en supposant que le n° est un entier

Bien que je ne sois pas un spécialiste des Treeview,
je te propose:
Pour la question 2b : Modification des données. Prévoir un bouton de
commande qui lance une requête SQL de MAJ pour le n° d'article et
reprenant les infos affichées et modifiées. La clé primaire n'étant pas
modifiée, le rafraichissement de l'arbre n'est pas nécessaire.
Pour le 2a: Ajout de données et MAJ de l'arbre
je ferai un formulaire optionnel de saisie de données, voire récuperer
le n° du fournisseur dans l'arbre pour éviter de le saisir, puis je
reconstruirai l'arbre.

Des exemples de ton problème doivent se trouver sur les sites conseillés
sur MPFA, entre autres Raymond ou PierreCFI (pardon pour ceux que
j'aurais oublié)


Merci beaucoup Eric cela a fonctionné
seulement j ai deux questions a poser
parmis les données du texte 6 a afficher l information provient d une liste
deroulante et qd il m affiche le texte c est un numero que j ai au lieu d
avoir le nom du fournisseur , comment faire pour palier a ce probléme?
2- Commemt faire si on veut effectivement rajouter un nouvel enregistrement
cad un nouveau noeud, et comment faire si on veut modifier les données une
fois affichées??

merci beaucoup



..../...
Si ton arbre a 2 niveaux par exemple les fournisseurs (niveau1), les
produits de chaque fournisseur (niveau2)

tu rajoutes sous le Private Sub Arbre_NodeClick(ByVal Node As Object)
If Node.children = 0 Then
et avant le End Sub
End If
ce qui te permettra d'afficher le détail du produit et rien quand tu
cliques sur le noeud Fournisseur


Bonjour,

En supposant qu'il s'agit d'un treeview simple et que la clé du noeud
(Node.Key) contienne l'identifiant de la table. En supposant toujours
que tu as créé des controles de type Texte nommés Texte1, Texte2, ...
TexteN en nombre suffisant pour récupérer tous les champs car ça
facilitera le remplissage :

Ajouter la référence à la bibliothèque Microsoft DAO 3.x Object Library
Sur l'évènement NodeClick() du Treeview nommé Arbre

Private Sub Arbre_NodeClick(ByVal Node As Object)
Dim rst As DAO.Recordset, i as Integer
' en suposant l'identifiant de type texte, sinon virer les quotes
Set rst = CurrentDb.OpenRecordset("select * from LaTable where
IdTable='" & Node.Key & "'")
For i = 0 To rst.Fields.Count - 1 ' à adapter, ici tous les champs
Me("Texte" & i + 1) = rst(i)
Next i
rst.Close
Set rst = Nothing
End Sub



bonjour,
j ai inserer un treeview se rapportant a une table de donnée et je
veux qu en cliquant sur un des noeuds j ai les info concernant cet
enregistrement qui apparaissent sur le meme formulaire
quelqu un pourrait il m expliquer comment cela fonctionnenerait
je sais que cela tourne autour d un treeview-nodeclick
mais je n ai aucune idée sur comment avoir l information puis l afficher

Merci pour votre aide
cela plus qu une semaine que je galére la dessus




--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr







Avatar
Raymond [mvp]
Bonsoir.

peut-être une piste ici:
http://officesystem.access.free.fr/telechargement.htm#Formulaires

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"aida" a écrit dans le message de news:

bonjour Eric
Pour la premiere question je n ai pas pu excecuter le dlookup..........
donne erreur dans l expression

j ai cherché pour des exemples similaires a ce que je recherche sur MPFA
mais je n ai rien trouvé
merci de me specifier un lien si tu en connais
merci encore


Avatar
Eric
Bonsoir,

Le nom du fournisseur se trouve bien dans une table, non ?
Donc si tu récupères son numéro sur la fiche du produit et que tu
l'affiches dans Texte6, avec DLookup tu dois pouvoir récupérér son nom.
Quelle erreur as-tu ?

bonjour Eric
Pour la premiere question je n ai pas pu excecuter le dlookup..........
donne erreur dans l expression

j ai cherché pour des exemples similaires a ce que je recherche sur MPFA
mais je n ai rien trouvé
merci de me specifier un lien si tu en connais
merci encore



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
aida
bonjour,
j ai des problemes pour ouvrir le menusimple.mdb dans treeviewsimple
l erreur ou les erreurs sont que des fichiers contiennent une reference
incompléte comme mscomct2.ocx et RS-DLL

je pense que c est sur cette base que je trouverais mes solutions



Bonsoir.

peut-être une piste ici:
http://officesystem.access.free.fr/telechargement.htm#Formulaires

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"aida" a écrit dans le message de news:

bonjour Eric
Pour la premiere question je n ai pas pu excecuter le dlookup..........
donne erreur dans l expression

j ai cherché pour des exemples similaires a ce que je recherche sur MPFA
mais je n ai rien trouvé
merci de me specifier un lien si tu en connais
merci encore







Avatar
aida
bonjour Eric

Dlookup("fournisseur","fournisseurs","catfournisseurs:=" &Val(Texte6))

le message est erreur de compilation


Bonsoir,

Le nom du fournisseur se trouve bien dans une table, non ?
Donc si tu récupères son numéro sur la fiche du produit et que tu
l'affiches dans Texte6, avec DLookup tu dois pouvoir récupérér son nom.
Quelle erreur as-tu ?

bonjour Eric
Pour la premiere question je n ai pas pu excecuter le dlookup..........
donne erreur dans l expression

j ai cherché pour des exemples similaires a ce que je recherche sur MPFA
mais je n ai rien trouvé
merci de me specifier un lien si tu en connais
merci encore



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
Re,

Normal le ':' après catfournisseurs ? Si oui, alors essaies
Dlookup("fournisseur","fournisseurs","[catfournisseurs:]=" &
Val(Texte6)) en supposant toujours que le catfournisseurs est numérique

bonjour Eric

Dlookup("fournisseur","fournisseurs","catfournisseurs:=" &Val(Texte6))

le message est erreur de compilation

--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

1 2