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 :

Rafraichissement de deux listbox (l'une en fonction de l'autre) [AC-2013]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2017
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Rafraichissement de deux listbox (l'une en fonction de l'autre)
    Bonjour a tous,

    Je cherche a developper une application simpliste mais je me bute a un probleme dont je n'arrive pas a determiner la cause.

    Mon objectif est de mettre a jour deux listbox, chacune en fonction de l'autre.

    Une listbox correspondant a une taille, l'autre a un diametre, je peux selectionner la taille et ca va m'indiquer le diametre, ou inversement, selectionner le diametre pour que me soit indiquee la taille.

    Seulement, quand je choisis une taille, le diametre renvoye est constamment le meme et inversement, quand je choisis un diametre, la taille renvoyee est systematiquement la meme.
    En passant par des txtbox en plus des lstbox ca fonctionne, mais ce n'est pas le resultat que j'attends... En mode debug, le probleme se produit sur le set du recordset, il renvoie une valeur fausse, qu'elle que soit la valeur de Me.listboxAWG.value, il renvoie toujours la meme chose (a savoir une valeur en milieu de plage, pourquoi celle la...).

    Mon code est le suivant, et est duplique pour la seconde listbox :

    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
    Private Sub lstboxAWG_Click()
     
    Dim strSQL As String
    Dim rstAWG As Recordset
     
        Set rstAWG = CurrentDb.OpenRecordset("SELECT CoreOD FROM Conductors WHERE AWG=" & Me.lstboxAWG.Value & "", dbReadOnly)
        With rstAWG
            If Not .RecordCount = 0 Then
                Me.lstboxCOD.Value = CoreOD
            End If
            .Close
        End With
        Me.Refresh
     
    End Sub
    Pourriez-vous je vous prie m'apporter un peu d'aide ? Je pense que le manque de recul m'empeche de voir quelque chose d'evident.

    Merci d'avance!
    Adrien

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    c'est la propriété RowSource de la listbox qu'il faut mettre à jour par rapport à la sélection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub lstboxAWG_Click()
     
    Me.lstboxCOD.RowSource ="SELECT CoreOD FROM Conductors WHERE AWG='" & Me.lstboxAWG.Value & "'"
     
    End Sub
    et inversement
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2017
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Bonjour et merci pour votre reponse.

    Le probleme venait en fait de l'absence de "rstAWG!" lors de l'utilisation des variables du recordset. Ca fonctionne sans changer le reste du code.

    Probleme resolu donc!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2015, 12h03
  2. "Coller" deux tables l'une à la suite de l'autre
    Par ludo35 dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 09/05/2011, 13h24
  3. [AC-2003] Comparer deux champs dans une table et remplir un autre champ
    Par frexville dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/09/2009, 12h52
  4. Réponses: 2
    Dernier message: 16/10/2008, 08h52
  5. Afficher deux colonnes dans une ListBox
    Par deubal dans le forum Composants VCL
    Réponses: 4
    Dernier message: 25/10/2005, 19h53

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