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

IHM Discussion :

Filtrer le contenu de listes déroulantes dans une zone de liste [AC-2003]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Filtrer le contenu de listes déroulantes dans une zone de liste
    Bonjour,

    Je travaille sur un formulaire, sur lequel sont placés plusieurs listes déroulantes 7, j'aimerais que le contenu de ces listes soit filtré dans une zone de liste, malheureusement je ne trouve pas de méthodes, j'imagine que le code permettant cette fonction doit être implémenté à la fin du code de la liste déroulantes.

    Je vous poste ici le code des listes :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
    Option Compare Database
     
    Private Sub cmbLigne_AfterUpdate()
    Dim lngIDlin   As Long
    Dim SQL        As String
     
    'Liste déroulante Ligne
     
    If Not IsNumeric(Me!cmbLigne) Then Exit Sub
    lngIDlin = Me!cmbLigne
    SQL = "SELECT IdMachine, Machine, IdLigne FROM TBL_Machine WHERE IdLigne =" & lngIDlin & " ORDER BY Machine"
    cmbMachine.RowSource = SQL
    cmbMachine.Enabled = True
    cmbMachine.SetFocus
    cmbMachine.Dropdown
    End Sub
     
    Private Sub cmbMachine_AfterUpdate()
    Dim lngIDmach  As Long
    Dim SQL        As String
     
    'Liste déroulante Machine
     
    If Not IsNumeric(Me!cmbMachine) Then Exit Sub
    lngIDmach = Me!cmbMachine
    SQL = " SELECT IdEnsembleArticle, Nom, IdMachine FROM TBL_EnsembleArticle WHERE IdMachine =" & lngIDmach & " ORDER BY Nom"
    cmbSEnsemble1.RowSource = SQL
    cmbSEnsemble1.Enabled = True
    cmbSEnsemble1.SetFocus
    cmbSEnsemble1.Dropdown
     
     
    End Sub
     
    Private Sub cmbSEnsemble1_AfterUpdate()
    Dim lngIDSE1  As Long
    Dim SQL        As String
     
    'Liste déroulante Sous Ensemble 1
     
    If Not IsNumeric(Me!cmbSEnsemble1) Then Exit Sub
    lngIDSE1 = Me!cmbSEnsemble1
    SQL = " SELECT IdEnsembleArticle, Nom, IdPere FROM TBL_EnsembleArticle WHERE IdPere =" & lngIDSE1 & " ORDER BY Nom"
    cmbSEnsemble2.RowSource = SQL
    cmbSEnsemble2.Enabled = True
    cmbSEnsemble2.SetFocus
    cmbSEnsemble2.Dropdown
     
    End Sub
     
     
    Private Sub cmbSEnsemble2_AfterUpdate()
    Dim lngIDSE2  As Long
    Dim SQL        As String
     
    'Liste déroulante Sous Ensemble 2
     
    If Not IsNumeric(Me!cmbSEnsemble2) Then Exit Sub
    lngIDSE2 = Me!cmbSEnsemble2
    SQL = " SELECT IdEnsembleArticle, Nom, IdPere FROM TBL_EnsembleArticle WHERE IdPere =" & lngIDSE2 & " ORDER BY Nom"
    cmbSEnsemble3.RowSource = SQL
    cmbSEnsemble3.Enabled = True
    cmbSEnsemble3.SetFocus
    cmbSEnsemble3.Dropdown
     
    End Sub
     
     
    Private Sub cmbSEnsemble3_AfterUpdate()
    Dim lngIDSE3  As Long
    Dim SQL        As String
     
    'Liste déroulante Sous Ensemble 3
     
    If Not IsNumeric(Me!cmbSEnsemble3) Then Exit Sub
    lngIDSE3 = Me!cmbSEnsemble3
    SQL = " SELECT IdEnsembleArticle, Nom, IdPere FROM TBL_EnsembleArticle WHERE IdPere =" & lngIDSE3 & " ORDER BY Nom"
    cmbSEnsemble4.RowSource = SQL
    cmbSEnsemble4.Enabled = True
    cmbSEnsemble4.SetFocus
    cmbSEnsemble4.Dropdown
     
    End Sub
     
     
    Private Sub cmbSEnsemble4_AfterUpdate()
    Dim lngIDSE4  As Long
    Dim SQL        As String
     
    'Liste déroulante Sous Ensemble 4
     
    If Not IsNumeric(Me!cmbSEnsemble4) Then Exit Sub
    lngIDSE4 = Me!cmbSEnsemble4
    SQL = " SELECT IdEnsembleArticle, Nom, IdPere FROM TBL_EnsembleArticle WHERE IdPere =" & lngIDSE4 & " ORDER BY Nom"
    cmbSEnsemble5.RowSource = SQL
    cmbSEnsemble5.Enabled = True
    cmbSEnsemble5.SetFocus
    cmbSEnsemble5.Dropdown
     
    End Sub
    Le contenu des listes devant être affichées dans la zone de liste est celle des listes de sous-ensembles, la ligne et la machine ne doivent pas être affichées.

    Je ne pense pas ma problématique trop épineuse, mais je suis un débutant en Access, je me tourne donc encore une fois vers vous, si ma problématique a déjà été traitée je m'en excuse.

    Merci d'avance !

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Regadre ici

    http://access.developpez.com/faq/?page=zdl#DepZdl

    Comment faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste ?

    Je pense que cela répondra à ton besoin.

    A+

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Heu, je n'ai pas du bien faire comprendre le problème, je voudrais en fait que le contenu de ma liste déroulante, active (par exemple Sous Ensemble 1), mais aussi le contenu des listes suivantes (pour avoir tous les sous-ensembles d'un système) s'affiche dans une zone de liste.

    Un récapitulatif des sous-ensembles d'une machine sous forme de zone de liste en gros.

    Ensuite selon l'objet choisi dans la liste déroulante, les résultats de la zone de liste s'affinent.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    En appliquant le truc de la FAQ, tout ce qu'il reste à faire c'est de mettre dans l'événement "Après MAJ" de la liste principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.TaListeSecondaire.requery
    où TaListeSecondaire est le nom de la liste dépendante que tu veux actualiser.

    Une autre possibilité serait d'utiliser des sous-formulaires liés en lieux et place de tes listes. Access s'occupera alors de faire les mises à jour pour toi, sans aucune ligne de code et sans doute un peu plus vite car la liste n'est pas le contrôle le plus rapide pour d'afficher des données.

    A+

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Impeccable sa fonctionne, merci de ta réponse marot_r !

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

Discussions similaires

  1. [AC-2013] Créer liste déroulante dans une zone de liste
    Par walooze dans le forum IHM
    Réponses: 5
    Dernier message: 12/06/2013, 13h15
  2. Réponses: 13
    Dernier message: 26/11/2009, 16h28
  3. Réponses: 2
    Dernier message: 26/10/2006, 09h47
  4. Enregistrement dans une Zone de liste déroulante
    Par w3sk3r dans le forum Access
    Réponses: 23
    Dernier message: 20/08/2006, 19h10
  5. Réponses: 8
    Dernier message: 24/02/2006, 09h59

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