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 :

Problème liste déroulante dans un formulaire de recherche multi critères


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut Problème liste déroulante dans un formulaire de recherche multi critères
    Bonjour, je suis plus que débutante en access et je dois faire un base qui gère du personnel.
    J'ai fait mes Tables, mes Relations, beaucoup de formulaires, tout fonctionne.
    Cependant j'ai un problème au niveau du formulaire de recherche multi critères, qui contient 3 listes déroulantes , pour une pas de problème elle fonctionne impeccable, mais les deux autres sont liées, et je voudrais que lorsque je fais un choix dans une cela filtre la deuxième pour n'afficher que les choix correspondants à la sélection de la première liste.
    Mon formulaire de recherche est basé sur une requête, j'ai essayé par la propriété contenu mais rien n'y fait.
    J'ai déjà fait beaucoup de recherches sur les forums mais je n'arrive pas à adapter tout ce que j'ai pu trouver à mon cas, je dois être trop débutante pour arriver à ça.
    Pour essayer d'être complète sur mon problème , les résultats de tous les filtres s'affichent dans une liste qui se rafraîchit selon les choix.

    Voila pour résumer je voudrai arriver à filtrer l'affichage d'une liste sur le choix d'une précédente parce que cette liste sans filtre c'est 150 entrées donc ça le fait pas trop pour une recherche

    Merci de toute l'aide que vous pourrez m'apporter parce que là je patauge, pourtant je suis persuadée que ça représente pas grand chose mais je sais plus par où aborder le problème.

    Je mets en pièce jointe le code de mon formulaire parce que j'ai dû oublier de vous parler d'un tas de choses et les connaisseurs s'y retrouveront mieux que moi.
    Images attachées Images attachées

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Le principe est le suivant :
    Après avoir choisi une région, je ne veux que la liste des départements de cette région.
    Je choisis ma région, dans une liste Région (basée sur une table Région).

    Au click ou à la mise à jour de ma liste Région, je construis la source de la liste département par une chaine SQL contenant une clause WHERE basée sur la région choisi.

    ON peut le faire en VBA,ou sans VBA.

    Je te conseille de voir la FAQ suivante : http://access.developpez.com/faq/?page=zdl#DepZdl (Comment faire en sorte que le contenu d'une zone de liste deroulante depende de la valeur d'une autre liste ? )

    Pierre

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut
    Merci de vous intéresser à mon problème qui bloque toute mon avancée
    Je suis allée voir le lien donné, le problème c'est que mon formulaire est construit sur un requête et j'arrive pas à construire la chaine SQL source de ma 2ème liste
    En suivant les indications du lien j'ai fait la chaine SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select RQTFORMMULTI.IDPoste, RQTFORMMULTI.Poste From RQTFORMMULTI Where RQTFORMMULTI.IDType = Forms!FORM-RECHERCHEMULTI.cmbRechIDType
    J'ai 2 tables Poste et Type (pour un Type plusieurs Postes)
    RQTFORMMULTI c'est ma requête basée sur plusieurs tables
    FORM-RECHERCHEMULTI c'est mon formulaire de recherche
    cmbRechIDType c'est ma liste de Type

    J'ai mis la chaine SQL dans la propriété contenu de ma 2ème liste
    Mais quand je clique sur la case à cocher pour ouvrir la 2ème liste il me demande de rentrer une valeur de cmbRechIDType

    J'ai fait plusieurs tentatives pour changer le contrôle mais ya toujours la demande, donc je pense que c'est ma chaîne qui n'est pas bien construite.
    Il faudrait que j'arrive à récupérer la valeur cliquée dans cmbRechIDType mais je sais pas faire

    Ou alors peut-être qu'il faut que je passe par le code, mais je vois pas où mettre , sur le click de cmbRechIDPoste?

  4. #4
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Rebonjour

    Je prèfère passer par du code.

    Ainsi, sur l'évènement "Click" ou "Mise à jour" de la combobox "cmbRechIDType", il faut créer une chaîne sql et l'affecter comme source à la liste "Poste".

    ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim sql as string
     
    sql = "Select RQTFORMMULTI.IDPoste, RQTFORMMULTI.Poste " _
    & " From RQTFORMMULTI" _
    & " Where RQTFORMMULTI.Poste =" & chr(34) & me.cmbRechIdType & chr(34) & ";"
     
    me.cmbRechIDPoste.rowsource = sql
    me.cmbRechIDPoste.setfocus
    Si cela peut vous aider.

    Pierre

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut
    Bonjour,
    J'ai essayé votre solution, apparemment au niveau du SQL ça pourrait passer (en tout cas je n'ai pas d'erreur dessus) mais je peux pas voir le résultat parce qu'il me fait une erreur sur le cmbRechIDPoste, sur:
    Me.cmbRechIDPoste.SetFocus

    En fait c'est normal puisque le cmbRechIDPoste n'est actif et visible que sur le click du chkIDPoste.
    Donc j'ai essayé en faisant ma recherche en cliquant les deux dès le début comme ça les 2 cmb (cmbRechIDType et cmbRechIDPoste) sont actifs et visibles , mais là j'ai rien dans cmbRechIDPoste, ma liste est vide.
    En plus c'est pas terrible comme solution parce que l'application est destinée à être utilisée par beaucoup de personnes et si la personne ne clique pas avant sur Poste ya erreur et donc ya panique.

    Les contenus de mes cmb sont basés sur une requête avec plusieurs tables, il faut peut être que je cherche de ce côté.
    Quand j'exécute le SQL du contenu de ma cmbRechIDPoste ça m'affiche tous les postes que j'ai saisi dans mes enregistrements avec les IDType correspondants donc c'est nickel.
    Donc soit avec le code que vous m'avez donné j'arrive à lui faire faire le tri et afficher que les postes dont je sélectionne IDType dans cmbRechIDType (là actuellement hormis le bug du chk j'ai liste vide)
    Soit j'essaie de lui faire faire le tri côté contenu du cmbRechIDPoste.

    Je vous avoue que c'est hard pour moi, j'ai attaqué ce projet ya 15 jours et sans connaitre access, c'est vraiment pas évident même si il ya des infos sur les forums qui permettent d'avancer je suis paumée parfois.
    Qu'est ce que vous pensez de mon analyse et de ce que je dois approfondir?

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut
    Je viens d'essayer en modifiant le SQL du code que vous m'avez donné avec :

    "Select RQTFORMMULTI.IDPoste, RQTFORMMULTI.Poste, RQTFORMMULTI.IDType From RQTFORMMULTI Where RQTFORMMULTI.Poste In (RQTFORMMULTI.IDType);"

    Ca me dit "Type de données incompatible dans l'expression du critère"

    Et deuxième problème, si j'utilise seulement la recherche par Poste (sans passer par le Type) le choix ne rafraîchit plus ma liste de résultats.

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Si tu es débutante, tu peux aussi essayer comme décrit dans cette discussion sur le même sujet souvent traité.

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut
    Je viens de jeter un coup d'oeil à votre lien ClaudeLELOUP est je le trouve très instructif, ce qui m'épate c'est que j'en ai parcouru des liens pour me lancer dans mon formulaire de recherche mais celui-là je suis sure de ne pas l'avoir vu!!
    C'est pas tout à fait la même conception, il faut que je vois de prêt s'il peut s'adapter à tous mes besoins , impression et atteindre une fiche personne dans le détail me parait possible, mais je doit ajouter des boutons option qui sont des cases cochées sur mon formulaire de saisie, en tout cas je suis confiante.

    Je m'attaquerai à cette nouvelle conception cet aprem.
    Je vous tiens au courant de mon avancée et du résultat.
    Et encore MERCI à tous ceux qui essaient de m'aider.

  9. #9
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    ce qui m'épate c'est que j'en ai parcouru des liens pour me lancer dans mon formulaire de recherche mais celui-là je suis sure de ne pas l'avoir vu!!

    Si tu regardes bien, j'ai posté ce matin à 06:11... je me doutais que tu allais venir...

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut
    Alors en suivant le lien et les explications de ClaudeLELOUP j'ai bien réussi à refaire un formulaire de recherche multi critères, mais je n'arrive toujours pas à faire concorder certaines listes déroulantes qui sont des tables liées.

    Ca doit venir de moi c'est pas possible.
    Ya quelque chose que je dois pas comprendre, beaucoup de choses même je pense, parce que je n'y arrive pas.
    Finalement j'en suis exactement au même point qu'avec l'autre formulaire.

    Ce qui est bizarre c'est que j'ai un autre formulaire, celui où on saisit les enregistrements des personnes, où j'ai fait un système de listes déroulantes et je suis arrivée à les faire afficher le résultat des unes par rapport aux autres.
    Mais dans ce formulaire de recherche je n'y arrive pas.

    La base du problème c'est que ces listes sont longues d'où mon entêtement, mais là je crois que je vais laisser tomber parce que je viens d'y passer des heures et je tourne en rond.

    En tout cas merci pour votre aide.

  11. #11
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Eh là bas : Haut, les cœurs !

    Peux-tu poster une db format Access2000 avec ce que tu as déjà fait ?

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut
    Bonjour,
    C'est sympa de voir que des gens vous encourage à continuer.
    Je vous mets en pj une copie de ma base

    Mon formulaire initial de recherche multi s'appelle FORM-RECHERCHEMULTI avec requete RQTFORMMULTI.
    L'idéal pour moi serait de conserver celui là, j'ai dèjà fait tous les liens avec les autres formulaires et toute la mise en forme et ça représente beaucoup de temps.

    Si c'est pas possible, le formulaire que j'ai refait hier pour tenter de résoudre le problème des listes c'est FORM-RM avec requête RQTFRM

    Les tables (et donc les listes déroulantes) qui posent soucis ce sont: TBLType et TBLPostes

    Le but initial c'était d'avoir dans ce formulaire, entre autres, les 3 tables liées (la troisième étant TBLServices,) mais tant que je n'arrive pas à faire fonctionner avec 2 c'est pas la peine de mettre la 3ème qui représente encore une 100aine d'enregistrements.

    Voilà, le reste des infos utiles je pense que vous les trouverez mieux que moi avec la copie de la base.

  13. #13
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je ne suis pas parvenu à compiler avec le fichier que tu as fourni. J’ai importé les éléments utiles dans une nouvelle DB qui est en annexe.
    Comme tu le demandais, j’ai essayé d’adapter ton formulaire original (méthode cafeine).
    Vois la propriété « Contenu » des listes et les modifications apportées au code. J’ai mis des marques là où j’ai modifié.
    J’ai aussi modifié la valeur par défaut de certaines cases à cocher.
    Maintenant quand tu fais un choix, les choix suivants sont limités aux seuls cas qui restent possibles.
    N.B. Si tu as fait un choix et que tu veux le modifier, repasse par la case à cocher.

    Fais quelques tests avec mon fichier pour vérifier que cela te convient et si oui :
    1° prends une copie de ta db ;
    2° supprime ton formulaire FORM-RECHERCHEMULTI ;
    3° importe le mien dans ta db ;
    4° compile et cela devrait marcher.

    Reviens si quelque chose t’échappe.

  14. #14
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut
    J'essaye tout ça et je reviens vous dire le résultat
    Mais de toute façon MERCI !!

  15. #15
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 69
    Points : 37
    Points
    37
    Par défaut
    Ca Marche !!
    Je sais pas quoi dire, à part que j'y serai jamais arrivée seule et que votre aide m'a été d'un grand secours et que je vous remercie encore.

    Il me reste beaucoup de choses à apprendre!! la route est longue ...
    Juste une chose, serait-il possible de ne pas laisser ce fichier en ligne? après je vous embête plus....au moins jusqu'à une prochaine fois .

    Milles Merci!!

  16. #16
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonne route et à la prochaine.

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

Discussions similaires

  1. [AC-2010] Problème liste déroulante dans un formulaire
    Par benoaa dans le forum IHM
    Réponses: 5
    Dernier message: 20/06/2014, 11h10
  2. Réponses: 3
    Dernier message: 31/05/2011, 18h25
  3. Réponses: 2
    Dernier message: 08/09/2008, 15h14
  4. recherche par liste déroulante dans un formulaire
    Par toto10 dans le forum Access
    Réponses: 13
    Dernier message: 07/07/2006, 16h49
  5. Réponses: 6
    Dernier message: 28/06/2006, 15h01

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