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 :

Structure de boucle


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Points : 91
    Points
    91
    Par défaut Structure de boucle
    Salut a tous,

    j'ai pratiquement terminé mon treeview maintenant...
    J'ai donc un treeview avec un 4 "étages" (un root et 3 descendants)

    La mécanique marche mais je voudrais envoyer un paramètre dans le formulaire dans un textbox tout bête. (pour synchroniser mes sous-formulaires qui s'affiche suivant l'élément du treeview qu'on sélectionne).

    J'avais récupéré un exemple avec une structure If then, else if, else, end if.
    Mais !!! j'ai plus de 3 sorties pour mon arbre puisqu'avec 4 "étages" je voudrais donc pouvoir afficher 4 sous-formulaires différents. (+ la sortie si on sélectionne rien, ...)

    Voici le code :
    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
    Dim nodSelected As MSComctlLib.Node
        Set nodSelected = Me.xUniversTreeView.SelectedItem
     
        If nodSelected.Key Like "LDAF=*" Then
            Me.txt_id_LDAF = Mid(nodSelected.Key, 6)
            Me.sF_LDAF_treeview.Visible = True
            Me.txt_id_SLDAF = Null
            Me.sF_SLDAF_treeview.Visible = False
            Me.txt_id_mandat = Null
            Me.sF_mandat_treeview.Visible = False
     
        ElseIf nodSelected.Key Like "SLDAF=*" Then
            Me.txt_id_SLDAF = Mid(nodSelected.Key, 7)
            Me.sF_SLDAF_treeview.Visible = True
            Me.txt_id_LDAF = Null
            Me.sF_LDAF_treeview.Visible = False
            Me.txt_id_mandat = Null
            Me.sF_mandat_treeview.Visible = False
     
        Else Me.txt_id_SLDAF = Null
            Me.sF_SLDAF_treeview.Visible = False
            Me.txt_id_LDAF = Null
            Me.sF_LDAF_treeview.Visible = False
            Me.txt_id_mandat = Null
            Me.sF_mandat_treeview.Visible = False
     
        End If
    Comment faire pour rajouter des sorties ?
    Si j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select Case nodSelected.key
    Case is = "LDAF=*"
    je suis pas du tout un pro mais moi je ne veux pas un = je veux un like. (comme dans mon if)

    comment faire ?

    sinon imbriquer des if mais je suis pas chaud, et je ne vois même pas comment faire

    merci beaucoup

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonsoir,

    D'après ton code, tu peux te contenter de tester le premier caractère de la clé de l'élément sélectionné.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub xUniversTreeView_NodeClick(Nobe as object)
            Me.sF_LDAF_treeview.Visible = (Left(Node.Key,1)="L")
            Me.txt_id_LDAF = iif(Left(Node.Key,1)="L",Mid(Node.Key,6),Null)
     
            Me.sF_SLDAF_treeview.Visible = (Left(Node.Key,1)="S")
            Me.txt_id_SLDAF = iif(Lef(Node.Key,1)="S",Mid(Node.Key,7),Null)
     
            Me.txt_id_mandat = Null
            Me.sF_mandat_treeview.Visible = False
     
    End sub

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Points : 91
    Points
    91
    Par défaut
    Ma procédure est sur l'évènement click du treeview,
    du coup je ne pense pas que ca marche pas ton truc

    merci

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    le contrôle TreeView a deux événements Click, le NodeClick et le Click simple. Le NodeClick se produit uniquement quand un élément est 'cliqué', l'événement Click est levé dès qu'un Click a lieu dans le contrôle.
    Cliquer sur le fond de fenêtre du treeview provoque l'événement Click mais ne change pas l'élément sélectionné.
    Maintenant, ton exemple montre deux clés différentes "LDAF" et "SLDAF"; en testant le premier caractère de la clé de l'item sélectionné, tu sais quel sous-formulaire est à manipuler.

Discussions similaires

  1. Structure en boucle des fichiers plats.
    Par Domingo60 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 15/10/2010, 14h29
  2. Callback, structures et boucle
    Par cb450 dans le forum GTK+ avec C & C++
    Réponses: 20
    Dernier message: 23/10/2009, 14h09
  3. Commande Structure et boucle FOR
    Par angelevil dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/08/2009, 01h10
  4. [Débutant] Structure et boucles
    Par rob408231 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/04/2009, 20h30
  5. Structure while avec une boucle for en test
    Par le_voisin dans le forum C++
    Réponses: 9
    Dernier message: 09/09/2006, 19h16

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