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 :

Petit probleme sur boucle FOR


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Petit probleme sur boucle FOR
    Bonjour à tous,

    Sur un onglet de mon formulaire :
    J’ai un contrôle liste déroulante qui me permet de sélectionné une personne (Nom). Lorsque une personne est sélectionnée un bouton (Niveau) permet de lancé mon code VBA. Celui-ci va récupérer la valeur du nom et lancé la requete SQL qui va afficher les niveau, le matériels, le fabricants dans un contrôle type liste.


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Dim SQL15 As String
    Dim lngrecherchenomnivo As Long
    Dim lngniv As String
    strrecherchenomnivo As String
    lngnombreligne As Long
    Intligne As Integer
     
    '' SELECTION PAR NOM
    Private Sub Commande317_Click()
     
    '' Vérifie que l'on a cliqué sur un NOM pour éviter le NULL
      If Not IsNumeric(Me!SelectNomnivo) Then Exit Sub
     
    '' Affecte la valeur IDemp à la variable lngrecherchenm
     
    strrecherchenomnivo = SelectNomnivo.Column(IndiceColonne + 1)
     
     
      SQL15 = "SELECT(SELECT IDniv FROM TBLnivmaitrise N WHERE N.IDniv=A.IDniv), (SELECT Api FROM TBLapi Z WHERE Z.IDapi=A.IDapi), (SELECT(select Fabricant from TBLfabricantapi WHERE CodeFabricant=Z.CodeFabricant) FROM TBLapi Z WHERE Z.IDapi=A.IDapi) FROM TBLcompetence AS A WHERE A.IDemp=(SELECT IDemp FROM TBLemploye WHERE Nom='" & strrecherchenomnivo & "');"
     
      '' Affecte la chaîne SQL à la liste recherche nom
      Liste351.RowSource = SQL15
     
      '' Déverrouille la liste des Api
      Liste351.Enabled = True
     
      '' Donne le focus la liste des Api
      Liste351.SetFocus
     
     
    Intligne = Liste351.ListCount
     
     
        For lngnombreligne = 0 To Intligne Step 1
     
            lngniveau = Me!Liste351.Column(IndiceColonne + 0, lngnombreligne )
            opgChoix.Value = (lngniveau)
            opgChoix.Value = (lngniveau)
            Print Intligne
            Print lngnombreligne
     
        Next
     
     
     
    End Sub
    Liste351 est une liste qui affiche Niveau, Api(materiel), Fabricant
    Intligne est calculer par : Intligne = Liste351.ListCount
    lngnombreligne va permettre d’incrémenter la ligne de sélection sur le tableau
    lngniveau est la valeur présente dans le tableau colonne 0, ligneX
    opgChoix et opgChoix2 sont des contrôles type Option de groupe (5 option = Débutant, Moyen, Maitrise, Expert) qui sont des niveau

    Donc le problème se situe sur opgChoix2 dans la boucle FOR :

    1) Pour l'instant dans je lance mon code, le nombre de ligne afficher sur mon tableau est calculer par Intligne et sert de fin à ma boucle.
    2) lngniveau va récupérer la valeur de la colonne 0, ligne 0 (Valeur = 1, 4, 5, 6, 7) et un groupe d'option (opgChoix) récupère la valeur de lngniveau (pour coché la case désiré)

    Mon souhait serait que ma boucle vérifie sur le tableau toutes les lignes de la colonne 0 et que le résultat (lngniveau) soit renvoyé sur des contrôles type option de groupe (opgChoix, opgChoix2, opgChoixX)

    Donc pour la valeur de la colonne 0 ligne 0 (lngniveau)
    EX : Valeur = 1
    Va activé la case Débutant de mon groupe d’option (opgChoix.Value = 1 )
    Mais opgChoix2 devrait prendre la valeur Colonne 0, ligne 1
    EX : Valeur =4
    Mais va activé la case débutant alors que sa devrait être la case Moyen



    Merci, bonne journée a tous.
      0  0

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Quel post est à prendre en considération ?
    Celui-ci ou l'autre :
    http://www.developpez.net/forums/d90...r/#post5109624

    Les double-posts sont interdits...

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***
      0  0

Discussions similaires

  1. [AC-2007] Petit probleme sur boucle FOR
    Par Spurius dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/04/2010, 14h59
  2. petite question rapide sur boucle for
    Par KateA dans le forum C
    Réponses: 15
    Dernier message: 08/03/2010, 23h59
  3. Réponses: 3
    Dernier message: 11/06/2006, 12h09
  4. [BATCH] Aide sur boucle for et test
    Par t_om84 dans le forum Windows
    Réponses: 3
    Dernier message: 07/06/2006, 10h12
  5. [C#] Probleme de boucle for et random
    Par Freeman166 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/01/2005, 14h34

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