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 :

Zone de liste déroulante conditionnelle [AC-2010]


Sujet :

IHM

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 20
    Par défaut Zone de liste déroulante conditionnelle
    Bonjour à tous,

    Je suis actuellement en stage (2ème année de BTS Informatique de Gestion Option développeur d'application) et j'ai pour but de développer un logiciel de traitement des réclamations clients dans une entreprise.

    Je développe sous Access 2010 et j'essaie d'utiliser au maximum le VBA.

    Voici mon "problème" :

    J'ai un formulaire avec trois listes déroulantes. La première est une liste contenant les numéros des départements français. La deuxième comporte la liste des commerciaux de l'entreprise. Et la dernière est la liste des clients.

    Voici les noms des contrôles dans mon programme :
    • cboDepartement => listes des départements

    • cboRepresentant => liste des commerciaux de la société

    • cboClient => liste des clients


    Ce que je voudrais, c'est que la liste des clients soit automatiquement mise à jour et restreinte en fonction du département sélectionné dans la première liste, et du représentant sélectionné dans la seconde liste (si rien n'est sélectionné dans les premières listes, la liste des clients affichera bien évidemment l'intégralité des clients de l'entreprise).

    Pour le moment j'ai écris ce bout de code, qui après mise à jour de la première liste, restreint bien la liste des clients au département :

    Private Sub cboDepartement_AfterUpdate()
    Dim SQLclient As String
    Dim strDepartement As String

    If Not IsNull(Me.cboDepartement) Then

    Me.cboClient.Undo

    strDepartement = Me.cboDepartement

    SQL = "SELECT Client_IDLP.CLMOT As Libellé, Client_IDLP.CLCLI As Numéro, " & _
    "Client_IDLP.CLNOM As Nom, Client_IDLP.CLADL3 As Ville, Client_IDLP.CLADLP As CP, " & _
    "Client_IDLP.CLREP As Rep" & vbCrLf & _
    "FROM Client_IDLP" & vbCrLf & _
    "WHERE (Mid(CP,1,2) = '" & strDepartement & "')" & vbCrLf & _
    "ORDER BY Libellé, Ville;"

    Me.cboClient.RowSource = SQL

    Me.cboClient.Requery
    End If
    End Sub
    Maintenant, j'aimerais pouvoir sélectionner un représentant, et restreindre encore plus la liste des clients. Je sais exactement sur quoi filtrer ma requête, mais je ne comprends pas comment conserver l'ancien filtrage de la première liste.

    Autrement dit, comment filtrer ma liste des clients déjà filtrée par la première liste/requête ???

    Dois-je stocker la première requête dans une variable temporaire, la transmettre à la deuxième liste, et la modifier an ajoutant le nouveau filtre ?

    Je ne comprends pas bien comment faire un double filtrage :s


    Merci d'avance pour le temps et la patience que vous prendrez à me répondre ^^

    Cordialement,
    Florian

  2. #2
    Membre Expert Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Par défaut
    Bonjour.
    Dans la méthode que tu utilises, je pense que le plus simple est, sur l'événement mise à jour de ta liste de représentants, de reprendre le même SQL et y ajouter dans la condition Where la condition supplémentaire, avec un simple And :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "WHERE (1° condition) And (2° condition)
    "ORDERBY ...............
    .
    Moi, généralement, j'utilise directement la propriété Contenu de mes listes déroulantes avec un simple Requery de la liste suivante sur changement de la précédente.
    Cordialement.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 20
    Par défaut
    Bonjour, merci à toi de prendre la peine de t'intéresser à mon problème.

    En effet maintenant que tu me le dis je me sent ridicule la réponse est évidente je ne comprends pas pourquoi j'ai bloqué là-dessus je devais être fatigué ^^

    Merci beaucoup bonne soirée !!!!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/06/2020, 12h44
  2. Réponses: 14
    Dernier message: 13/12/2005, 10h58
  3. Réponses: 4
    Dernier message: 29/10/2005, 18h03
  4. Zone de liste déroulante, valeur de requete et fixe
    Par Fritzoune dans le forum Access
    Réponses: 4
    Dernier message: 12/10/2005, 17h21
  5. Zone de liste déroulante
    Par noname_971 dans le forum Access
    Réponses: 9
    Dernier message: 10/09/2005, 21h16

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