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 une zone déroulante en fonction des éléments d'un formulaire [AC-2007]


Sujet :

IHM

  1. #1
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut Filtrer une zone déroulante en fonction des éléments d'un formulaire
    Bonjour à tous,

    J'ai un formulaire, en mode formulaire continu, qui affiche plusieurs informations concernant certains de mes clients. Ce formulaire est ouvert via le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "frm_Pers_Sup_Selection_Suppression", , , "[rqt_Pers_Sup_Nom_&_Etats].[Nom_personne_supplémentaire] = """ & Me.Nom_personne_supplémentaire & """ And [rqt_Pers_Sup_Nom_&_Etats].[Prénom_personne_supplémentaire] = """ & Me.Prénom_personne_supplémentaire & """"
    Dans le pied de ce formulaire j'ai une liste déroulante que je souhaiterais pouvoir filtrer comme mon formulaire pour obtenir les mêmes données (le formulaire et la liste déroulante étant alimentés par la même requête). Je ne sais pas comment filtrer cette zone.

    J'espère avoir été assez clair...

    Merci de votre aide

    Oliv'

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Bonjour,
    2 techniques :

    1) ta liste contient (ou peut contenir) l'id du client, dans ce cas il suffit de mettre une condition where dans sa source qui pointera sur l'Id du formulaire.

    2) ta liste ne peut définitivement pas contenir l'id client (comment s'opère le filtre alors?!) , dans ce cas il va falloir créer une source en fonction de ce que tu veux voir afficher. Tu définis cette source et l'affecte à la liste au moment du Sur Ouverture. Pour connaitre ce que tu as envoyé en paramètres tu consultes
    [Nom_personne_supplémentaire] et [Prénom_personne_supplémentaire] qui contiennent déjà les bonnes valeurs, puisque filtrés.

    Cordialement,

  3. #3
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut
    Bonjour Fabrice

    Merci de ton aide

    Citation Envoyé par loufab Voir le message
    ta liste contient (ou peut contenir) l'id du client, dans ce cas il suffit de mettre une condition where dans sa source qui pointera sur l'Id du formulaire.
    Oui ma liste contient l'ID du client (c'est même le champ que je souhaite sélectionner).
    Mais comme ce formulaire me sert à supprimer les doublons, un client avec le même Nom et le même Prénom peut avoir entre 2 et 6 ID différents (et oui mes opérateurs ne sont pas très futés...).

    Je ne vois donc pas comment faire pour ne sélectionner que ces ID là. Pour un seul OK mais pour 6 parmi plus de 41000 je ne sais pas faire. Où faut il mettre le where ? Et comment le "rédiger"?

    Oliv'

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Bonjour,

    Dans ce cas applique la même condition à ta liste de la même manière que je t'ai décrit la chose avec l'id.

    1ere solution :
    "Sur Ouverture" tu redéfinis la source de la liste en utilisant la clause where avec tes 2 arguments.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.maliste.rowsoure = "SELECT .... FROM ... WHERE [Nom]=""" & me.[Nom_personne_supplémentaire] & """ AND [Prenom]=""" & me.[Prénom_personne_supplémentaire] & """"
    Attention ! si le champ n'a pas le même nom utilises des ! comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.maliste.rowsoure = "SELECT .... FROM ... WHERE [Nom]=""" & me![Nom_personne_supplémentaire] & """ AND [Prenom]=""" & me![Prénom_personne_supplémentaire] & """"
    2ème solution :
    Ou encore sans passer par "Sur Ouverture" tu définis where de ta liste directement sur tes 2 champs (nom/prenom).

    Ta liste sera ainsi filtrée de la même manière que ton formulaire.

    Cordialement,

  5. #5
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut
    Bonjour Loufab,

    Merci j'ai réussi à faire ce que je voulais

    j'ai juste remplacé des " par des ' dans ta formule ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ModCompteAGarder.RowSource = "SELECT Code_Personne_supplémentaire FROM tbl_Personne_Supplémentaire WHERE [Nom_personne_supplémentaire]=" & "'" & Me.[Nom_personne_supplémentaire] & "'"
    Sinon cela ne fonctionnait pas.

    A bientôt.

    Oliv'

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Pourtant c'est la bonne syntaxe.

    Tout à fait déconseillé en France d'utiliser les ' pour des zones de texte.

    Cordialement,

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

Discussions similaires

  1. Filtrer une liste déroulante en fonction de la valeur d'un champ
    Par abdelkarim_1987 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/06/2013, 17h25
  2. Charger les éléments d'une liste déroulante en fonction d'une autre
    Par Pouknouki dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/05/2012, 18h43
  3. Zone de liste déroulante avec regroupement des éléments
    Par Lincoln911 dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/04/2010, 12h55
  4. Réponses: 12
    Dernier message: 17/08/2009, 06h27
  5. Réponses: 3
    Dernier message: 24/05/2007, 11h23

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