OVH Cloud OVH Cloud

Pour Pierre Treeview dur, dur!!!

8 réponses
Avatar
codial
Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour essayer de
l'adapter à mon besoin mais je n'arrive pas à initialiser mon treview.
Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le premier
enregistrement trouvé alors qu'elle devrait continuer sa recherche avec
rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la même
réponse et évidemment le message d'erreur:"Key is not unique in collection"
strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial

8 réponses

Avatar
Pierre CFI [mvp]
.../...
tu restes sur le méme
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
***
c'est Findnext

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"codial" a écrit dans le message de news:
Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour essayer de
l'adapter à mon besoin mais je n'arrive pas à initialiser mon treview.
Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le premier
enregistrement trouvé alors qu'elle devrait continuer sa recherche avec
rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la même
réponse et évidemment le message d'erreur:"Key is not unique in collection"
strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial




Avatar
codial
Mais c'est bien sur !!!! Je ne comprends pas pourquoi j'ai changer ton code
!!!!!
Cependant maintenant j'ai le même message d'erreur dans la sub
AddChildren(nodBoss As Node, rst As DAO.Recordset) et là j'ai bien le bon
code!

Je vais continuer à chercher

Encore merci

Codial


"Pierre CFI [mvp]" a écrit dans le message de
news:uB9%
.../...
tu restes sur le méme
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
***
c'est Findnext

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"codial" a écrit dans le message de
news:

Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour
essayer de


l'adapter à mon besoin mais je n'arrive pas à initialiser mon treview.
Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le premier
enregistrement trouvé alors qu'elle devrait continuer sa recherche avec
rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la même
réponse et évidemment le message d'erreur:"Key is not unique in
collection"


strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial








Avatar
codial
Ok, j'ai trouvé!!

Dans ma table quand section_abrégé=section_maitre ça veut dire que c'est un
premier père, le plus haut! j'ai donc chinté, dans la sub AddChildren la
ligne Set nodCurrent = objTree.Nodes.Add(nodBoss, tvwChild, "a" &
rst("section_abrégé"), strText) en ajoutant

If rst!section_abrégé = rst!section_maitre Then Exit Sub

Et voilà ça semble être bon maintenant!

Encore merci

Codial



"codial" a écrit dans le message de
news:OywA7$
Mais c'est bien sur !!!! Je ne comprends pas pourquoi j'ai changer ton
code

!!!!!
Cependant maintenant j'ai le même message d'erreur dans la sub
AddChildren(nodBoss As Node, rst As DAO.Recordset) et là j'ai bien le bon
code!

Je vais continuer à chercher

Encore merci

Codial


"Pierre CFI [mvp]" a écrit dans le message de
news:uB9%
.../...
tu restes sur le méme
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
***
c'est Findnext

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"codial" a écrit dans le message de
news:

Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour
essayer de


l'adapter à mon besoin mais je n'arrive pas à initialiser mon treview.
Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le
premier



enregistrement trouvé alors qu'elle devrait continuer sa recherche
avec



rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la même
réponse et évidemment le message d'erreur:"Key is not unique in
collection"


strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial












Avatar
codial
On peut agrémenter le treeview avec des icones?

Codial

"codial" a écrit dans le message de
news:
Ok, j'ai trouvé!!

Dans ma table quand section_abrégé=section_maitre ça veut dire que c'est
un

premier père, le plus haut! j'ai donc chinté, dans la sub AddChildren la
ligne Set nodCurrent = objTree.Nodes.Add(nodBoss, tvwChild, "a" &
rst("section_abrégé"), strText) en ajoutant

If rst!section_abrégé = rst!section_maitre Then Exit Sub

Et voilà ça semble être bon maintenant!

Encore merci

Codial



"codial" a écrit dans le message de
news:OywA7$
Mais c'est bien sur !!!! Je ne comprends pas pourquoi j'ai changer ton
code

!!!!!
Cependant maintenant j'ai le même message d'erreur dans la sub
AddChildren(nodBoss As Node, rst As DAO.Recordset) et là j'ai bien le
bon


code!

Je vais continuer à chercher

Encore merci

Codial


"Pierre CFI [mvp]" a écrit dans le message de
news:uB9%
.../...
tu restes sur le méme
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
***
c'est Findnext

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"codial" a écrit dans le message de
news:

Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour
essayer de


l'adapter à mon besoin mais je n'arrive pas à initialiser mon
treview.




Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le
premier



enregistrement trouvé alors qu'elle devrait continuer sa recherche
avec



rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la
même




réponse et évidemment le message d'erreur:"Key is not unique in
collection"


strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial
















Avatar
codial
En testant le treeview j'ai remarqué qu'il était possible d'entrer dans le
champ et d'en modifier le texte. Bien que le nouveau texte ne soit pas
modifié dans la table, est il possible d'annuler cette possibilité?

Cordialement

Codial


"codial" a écrit dans le message de
news:
On peut agrémenter le treeview avec des icones?

Codial

"codial" a écrit dans le message de
news:
Ok, j'ai trouvé!!

Dans ma table quand section_abrégé=section_maitre ça veut dire que c'est
un

premier père, le plus haut! j'ai donc chinté, dans la sub AddChildren la
ligne Set nodCurrent = objTree.Nodes.Add(nodBoss, tvwChild, "a" &
rst("section_abrégé"), strText) en ajoutant

If rst!section_abrégé = rst!section_maitre Then Exit Sub

Et voilà ça semble être bon maintenant!

Encore merci

Codial



"codial" a écrit dans le message de
news:OywA7$
Mais c'est bien sur !!!! Je ne comprends pas pourquoi j'ai changer ton
code

!!!!!
Cependant maintenant j'ai le même message d'erreur dans la sub
AddChildren(nodBoss As Node, rst As DAO.Recordset) et là j'ai bien le
bon


code!

Je vais continuer à chercher

Encore merci

Codial


"Pierre CFI [mvp]" a écrit dans le message
de



news:uB9%
.../...
tu restes sur le méme
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
***
c'est Findnext

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"codial" a écrit dans le message de
news:

Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour
essayer de


l'adapter à mon besoin mais je n'arrive pas à initialiser mon
treview.




Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le
premier



enregistrement trouvé alors qu'elle devrait continuer sa recherche
avec



rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la
même




réponse et évidemment le message d'erreur:"Key is not unique in
collection"


strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial




















Avatar
codial
Re salut Pierre,

Bon voilà j'ai créé mon treeview maintenant j'aimerai savoir comment faire,
lorsque j'installe mon appli sur un autre poste équipé d'access 97, de ne
pas avoir le message " Pas de controle dans...", ? Ce qui c'est d'ailleurs
passé quand j'ai installé ta base clasement.mdb sur un autre poste pour
l'étudier.

Cordialement

Codial




"codial" a écrit dans le message de
news:
Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour essayer
de

l'adapter à mon besoin mais je n'arrive pas à initialiser mon treview.
Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le premier
enregistrement trouvé alors qu'elle devrait continuer sa recherche avec
rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la même
réponse et évidemment le message d'erreur:"Key is not unique in
collection"

strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial




Avatar
Buddy
Bon j'vais changer de prénom en Pierre pour pouvoir répondre :-)

Quand tu installes une applic avec des contrôles exotiques (genre Treeview, RichTextBox) if faut les
installer au préalable sur le poste et ensuite les déclarer dans les référence d'Access.

L'installation se fait dans C:WindowsSystem32 (Sous XP)
Le TreeView est contenu dans le fichier MsComCtl.ocx

Une fois le fichier copié dans le répertoire, tu lances ton appli, tu fais ALT+F11 pour basculer
dans l'éditeur de code et tu vas dans Outils/Références. Là tu cliques sur Parcourir, tu choisis le
type de fichier .ocx et tu vas chercher C:WindowsSystem32MsComCtl.ocx

Ouala
Bye
Buddy, euh non Pierre ;-)


"codial" a écrit dans le message de
news:
Re salut Pierre,

Bon voilà j'ai créé mon treeview maintenant j'aimerai savoir comment faire,
lorsque j'installe mon appli sur un autre poste équipé d'access 97, de ne
pas avoir le message " Pas de controle dans...", ? Ce qui c'est d'ailleurs
passé quand j'ai installé ta base clasement.mdb sur un autre poste pour
l'étudier.

Cordialement

Codial




"codial" a écrit dans le message de
news:
Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour essayer
de

l'adapter à mon besoin mais je n'arrive pas à initialiser mon treview.
Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le premier
enregistrement trouvé alors qu'elle devrait continuer sa recherche avec
rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la même
réponse et évidemment le message d'erreur:"Key is not unique in
collection"

strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial








Avatar
codial
Ok merci Buddy, euh ..... :-)

Mais on peut pas le faire au lancement de l'appli?

Codialement

Codial

"Buddy" a écrit dans le message de
news:Okh3$
Bon j'vais changer de prénom en Pierre pour pouvoir répondre :-)

Quand tu installes une applic avec des contrôles exotiques (genre
Treeview, RichTextBox) if faut les

installer au préalable sur le poste et ensuite les déclarer dans les
référence d'Access.


L'installation se fait dans C:WindowsSystem32 (Sous XP)
Le TreeView est contenu dans le fichier MsComCtl.ocx

Une fois le fichier copié dans le répertoire, tu lances ton appli, tu fais
ALT+F11 pour basculer

dans l'éditeur de code et tu vas dans Outils/Références. Là tu cliques sur
Parcourir, tu choisis le

type de fichier .ocx et tu vas chercher C:WindowsSystem32MsComCtl.ocx

Ouala
Bye
Buddy, euh non Pierre ;-)


"codial" a écrit dans le message de
news:
Re salut Pierre,

Bon voilà j'ai créé mon treeview maintenant j'aimerai savoir comment
faire,


lorsque j'installe mon appli sur un autre poste équipé d'access 97, de
ne


pas avoir le message " Pas de controle dans...", ? Ce qui c'est
d'ailleurs


passé quand j'ai installé ta base clasement.mdb sur un autre poste pour
l'étudier.

Cordialement

Codial




"codial" a écrit dans le message de
news:
Salut Pierre

En ce moment je décortique ta base classement sous access 97 pour
essayer



de
l'adapter à mon besoin mais je n'arrive pas à initialiser mon treview.
Si tu veux bien une quextion:

je ne comprends pas pourquoi cette boucle reste toujours sur le
premier



enregistrement trouvé alors qu'elle devrait continuer sa recherche
avec



rst.Bookmark = bk


rst.FindFirst "[section_abrégé] = [section_maitre]"
Do Until rst.NoMatch
MsgBox rst!section_abrégé----------> là j'ai 2 fois la même
réponse et évidemment le message d'erreur:"Key is not unique in
collection"

strText = rst("section_complet")
Set nodCurrent = objTree.Nodes.Add(, , "a" &
rst("section_abrégé"), strText)
' mémorise la place
bk = rst.Bookmark
' Lance une proc recursive pour trouver les fils
AddChildren nodCurrent, rst
' Retourne à sa place
rst.Bookmark = bk
'Suite de la recherche
rst.FindFirst "[section_abrégé] = [section_maitre]"
Loop
objTree.Sorted = True


Cordialement

Codial