IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Treeview Access 2007 [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut Treeview Access 2007
    Bonsoir,

    Je commence avec le control TreeView et j'ai quelques difficultés malgré tout ce que j'ai pu lire.

    j'ai donc décidé de mettre en application pour faire au moins apparaître un parent. Mais je n'arrive pas à le faire apparaître.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Option Compare Database
     
    Public Sub ActualiseTV()
     
    Dim db As Database, rs As Recordset
    Dim tv As MSComctlLib.TreeView
    Dim x As Node
     
    On Error Resume Next
        Set db = CurrentDb
     
        'Effacer tous les noeuds
        TreeView1.Nodes.Clear
     
        'Création de la liste des noeuds
        Set rs = db.OpenRecordset("SELECT DISTINCT Code Article FROM Nomenclature;")
        If rs.RecordCount <> 0 Then
            rs.MoveFirst
            While Not rs.EOF
                Set x = TreeView1.Nodes.Add(, , , "TDF150870") 'Ajouter un noeud de niveau "racine"
                rs.MoveNext
            Wend
        End If
        rs.Close
        Set rs = Nothing
     
     
    End Sub
    je devrais avoir sur chaque parent "TDF150870"

    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut,

    tu trouveras de la lecture sur la partie sources et un tuto parmi d'autres

    http://access.developpez.com/sources/?page=Treeview

    http://jacma.developpez.com/treeview/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    justement j'ai lu les deux et beaucoup d'autres

    mais je bloque !

  4. #4
    Membre actif

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 291
    Points : 270
    Points
    270
    Par défaut
    Bonjour,

    Il manque une clé sur chaque noeud:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Option Compare Database
     
    Public Sub ActualiseTV()
     
    Dim db As Database, rs As Recordset
    Dim tv As MSComctlLib.TreeView
    Dim x As Node
     
    On Error Resume Next
        Set db = CurrentDb
     
        'Effacer tous les noeuds
        TreeView1.Nodes.Clear
     
        'Création de la liste des noeuds
        Set rs = db.OpenRecordset("SELECT DISTINCT Code Article FROM Nomenclature;")
        If rs.RecordCount <> 0 Then
            rs.MoveFirst
            While Not rs.EOF
                Set x = TreeView1.Nodes.Add(, ,rs![Code Article] , "TDF150870") 'Ajouter un noeud de niveau "racine"
                rs.MoveNext
            Wend
        End If
        rs.Close
        Set rs = Nothing
     
     
    End Sub
    Il est conseillé de ne pas mettre d'espace dans les noms de table, de champs de table, ........

    Gddal

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    Bonsoir

    merci pour les infos
    Par contre, je ne vois rien s'afficher ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    comme je n'y arrive pas, j'ai mis la base de données en pièce jointe

    et dans le module 3, j'ai réduit au strict minimum le code pour faire apparaître le parent, mais toujours rien

    Pouvez vous m'aider ?
    Fichiers attachés Fichiers attachés

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonsoir,

    voici en piece jointe ton fichier qui fonctionne

    Test_Nomenclature.zip

    Cordialement
    "Always look at the bright side of life." Monty Python.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    super

    je vais étudier ton code

    merci

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TV1.Nodes.Add Key:="Nomen. fils: " & sKey, Text:=sLib
    le mot key je ne comprends pas !!

  10. #10
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TV1.Nodes.Add Key:="Nomen. fils: " & sKey, Text:=sLib
    Key = clé , en anglais

    sinon la syntaxe Key:= ... est une syntaxe qui permet de ne passer à une fonction que des arguments sélectionnés : ici la methode .Nodes.ADD() (souvent utilisée pour dans l'appel de fonction Excel). Ceci évite d'avoir à saisir tous les arguments (facultatifs)

    Ici pour le noeud à la racine, seuls la clé et le libellé affiché sont nécessaires.

    Crdt
    "Always look at the bright side of life." Monty Python.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    Merci

    Existe il la même fonction Treeview sous excel ?

  12. #12
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    La quasi totalité des fonctions et activeX qui fonctionnent en VBA sous ACCESS, fonctionnent aussi sous EXCEL.
    Pourquoi cette question ?
    Cdlt
    "Always look at the bright side of life." Monty Python.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    j'ai application sous excel et je me demandais si je ne pouvais pas utilisé cette fonction sous excel !

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    bonjour

    encore une question ?

    je n'ai pas encore trouvé l'explication du Nz

    Avez vous cette explication ?

    Merci d'avance

  15. #15
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut

    un peu de recherche reste dans les capacites de chacun, non ?
    Pour ceux qui ne connaissent pas la fonction Access Nz, son rôle est de remplacer la valeur Null par une expression de son choix.
    On peut ainsi, éviter l'erreur utilisation incorrecte de Null, et la propagation de la valeur Null dans une expression.
    La conséquence d'une propagation de Null dans une expression, est que le résultat de cette dernière est lui-même Null.
    http://ledzeppii.developpez.com/instrsqlvb/#LV-A
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 166
    Points : 94
    Points
    94
    Par défaut
    merci je ne connaissais pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Access 2007 - Nouveauté] Champ Pièces-Jointes
    Par Arkham46 dans le forum Sondages et Débats
    Réponses: 14
    Dernier message: 22/06/2011, 20h30
  2. access 2007 : treeview et menu contextuel
    Par Damran dans le forum VBA Access
    Réponses: 9
    Dernier message: 07/08/2008, 21h33
  3. [Access 2007 - Nouveauté] Collecter des données via Outlook
    Par Maxence HUBICHE dans le forum Sondages et Débats
    Réponses: 15
    Dernier message: 04/06/2007, 13h31
  4. Ruban Access 2007
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 04/07/2006, 23h00
  5. access 2007 multivalue?
    Par hocine dans le forum Access
    Réponses: 1
    Dernier message: 06/06/2006, 00h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo