Besoin d'aide: Liste déroulante en cascade dans ACCESS

Résolu
karabalic13 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
karabalic13 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Comme l'indique le titre j'ai besoin d'aide sur cette fonction permettant que le contenu d'une liste 2 soit conditionné au choix d'une liste 1.

Concrètement pour ma BDD, je cherche à faire une base de contact de personnes travaillant dans des syndicats:

2 tables:
- table syndicat: nom-syndicat / type syndicat (employeurs ou salariés) / adresse ...
- table contact: Nom, prénom ... type syndicat (reprend les valeurs du même champs de la table syndicat) / nom syndicat

l'idée est donc pour le formulaire contact, lorsque je sélectionne "salariés" dans le champs "type syndicat", seuls les syndicats de salariés apparaissent dans la liste "nom syndicat".

Je suis sûre que pour des personnes chevronnées cela doit se faire en 2 minutes mais moi je bloque totalement.


merci de l'aide

6 réponses

castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
 
Bonjour
https://www.cjoint.com/c/DKDwyB4Yvop
Dans ce lien une base avec recherche multi criteres avec liste deroulantes
0
karabalic Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour castours et merci de votre réponse.

Malgré votre aide je n'y arrive pas car je n'ai jamais codé et donc je ne comprends vraiment rien au code que vous avez utilisé.

Je met ma BDD en PJ (pas de données sensibles) au cas où vous puissiez me guider plus facilement,
https://www.cjoint.com/?0LbjPtAk8dm

l'idée est de remplir des formulaire contact, reprenant des infos de la table organisation. Dans le formulaire contact, en sélectionnant le type d'organisation (salarié ou employeurs), la liste déroulante "organisation" se met automatiquement à jour en recherchant les organisations salariées ou employeurs.

Même topo pour les "sous-organisations" vis à vis des "organisations".

Merci d'avance
0
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
 
bonjour
un lien
https://www.cjoint.com/c/DLboKxCpCpn
j'ai modifié les tables et lis id pour pouvoir avoir des relation correctes.
De la la j'ai fait un un formulaire et sous formulaire.
Ton analyse est de quelle nature?
Un contact peut il faire parti de plusieurs organisations?
Maintenant regarde les relations.
Sans de bonnes relations la base fonctionnent mal
0
karabalic Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Encore une fois merci de votre appui.

Pour répondre à tes questions:
- une organisation peut être liée à plusieurs CCN
- une organisation peut avoir 1 ou plusieurs contact
- un contact n'a qu'une seule organisation

Ce n'est pas une analyse que je construis mais une base de données de contacts. Pour le moment j'ai seulement mis une quarantaine de d'organisation mais il y en aura quelques centaines au final.

C'est pourquoi pour éviter lors du remplissage des formulaires de devoir défiler une si longue liste pour trouver la bonne structure du contact, je voudrais en quelques sorte filtrer la recherche par :
1- le type de l'organisation (syndicat employeur, Syndicat salarié, fédération, mouvement...)
2- le nom de l'organisation "mère" (ex CFDT, CGT pour les syndicats)
3- sélectionner enfin la sous-organisation (ex: CFDT Métallurgie, CFDT transport...)

Je ne sais pas si je suis très clair, dîtes-moi sinon.

(PS: A quoi servent les sous-formulaires ? juste à visualiser le remplissage de la table ?)
0
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
 
Bonjour
Justement pour faire une bonne de données , il te faut une bonne analyse de ce que tu veux et obtenir. L'analyse est primordiale avant de construire la base.
0
Tessel75
 
Bonjour,
Tu avais de toi-même posé les limites de ta question, il suffisait que tu sélectionnes les réponses aux questions sur les requêtes en "cascade".
La question a été posée à de multiples occasions. Ici des réponses qui ont déjà été données mais tu peux en trouver beaucoup d'autres.

: http://www.commentcamarche.net/forum/affich-27398079-liste-deroulante
ou
http://www.commentcamarche.net/forum/affich-27255265-requete-parametree

Je pense que tu trouveras là ce que tu cherches.
Bonne suite
Au passage, Salut à Castour
0
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
 
Bonjour
Tessel 75
Merci pour ton salut
A toi de meme prochaine occase
0
karabalic Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour à vous 2.

Tessel 75 merci pour tes liens que je n'avais effectivement pas vu. Grâce à ça j'ai réussi à faire mon 1er filtre (choix du type d'organisation en liste 1 sélectionne les organisations correspondantes en liste 2). j'ai même trouvé le code VBA pour que l'actualisation du c hamps se fasse.

Pour le second filtre (choix de l'organisation en liste 2 sélectionne les sous-organisations correspondantes en liste 3), j'ai essayé de suivre la logique que tu avais indiquée dans les autres sujets (3ème contrôle "Zone de liste déroulante" dont le "contenu" sera une 3ème requête de la forme : " Select C ... Where A' = Forms!NomDuFormulaire!ControleA and B' = Forms!NomDuFormulaire!ControleB " ) mais là cela ne fonctionne pas, la liste reste blanche.

Faut-il ajouter un code VBA spécifique sur la commande "nom_organisation" pour que cela fonctionne ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tessel75
 
Bonjour, Je ne comprends pas ton explication à propos de ce qui ne marche pas.
Pour reprendre ta demande tu dois avoir des requêtes, dans l'ordre:

1) "Select distinct TableNomenclature.TypeOrganisation from TableNomenclature"

2) "Select distinct TableNomenclature.NomOrganisationPrincipale from TableNomenclature where TypeOrganisation = Forms!ChoixOrganisation!TypeOrga "

3) "Select distinct TableNomenclature.NomOrganisationBase from TableNomenclature where TypeOrganisation = Forms!ChoixOrganisation!TypeOrga and NomOrganisationPrincipale = Forms!ChoixOrganisation!NomOrgaPrincip"

3bis) "Select distinct TableNomOrganisation.NomOrganisationBase from TableNomenclature where NomOrganisationPrincipale = Forms!ChoixOrganisation!NomOrgaPrincip"
Dans cette derrière variante il faut voir que comme les organisations de base sont rattachées à une organisation principale il n'est pas indispensable de préciser les filtres de rang supérieur.

Quant au petit morceau de code VBA, il ne sert qu'à ordonner l'actualisation de la requête; sans cela les filtres successifs ne serait pas activés et tu te retrouverais avec des listes complètes, càd que le travail n'aurait servi à rien.
En espérant avoir été clair.
Bonne suite
0
karabalic13 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour à tous,

Merci Tessel 75 pour ta réponse.

C'est bon cette fois j'ai tout bien réussi.

merci à tous les contributeurs de l'aide apportée.
0