Access -filtrer liste déroulante avec 1 autre

Marie_2116 Messages postés 4 Statut Membre -  
Marie_2116 Messages postés 4 Statut Membre -
Bonjour,

Je réalise actuellement une base de données clients sous Access (pour un stage) et je souhaiterai pouvoir faire apparaitre une liste d'entreprises dans le détail d'un formulaire.

Pour faire la sélection qui amènera à la liste, j'ai monté dans l'en-tête de formulaire, 4 listes déroulantes (oui je sais c'est beaucoup...).

Je souhaiterai que la sélection d'un critère, serve de filtre sur les 3 autres listes déroulantes. Qu'un deuxième critère séctionné, affine le filtre sur les 2 restants etc.

Je m'explique, j'ai les listes suivantes :
- commercial
- région
- N°_Dpt
- Secteur d'Activité

Ce n'est peut être pas très clair, alors un petit exemple :
Je choisis un commercial, je veux que les choix de région disponibles ne soient que ceux dans lequel le commercial a des clients qui lui sont rattachés, de même pour les départements, et les secteur d'activité.
De même que la sélection d'une région, ne laissera en choix de département possible, que les départements qui la composent effectivement.


Je ne suis vraiment pas une experte en code, alors j'ai repris en l'adaptant et en la modifiant une séquence que j'ai trouvé qui était pour le même genre d'action.... Seulement cela ne fonctionne pas.
J'ai essayé de plusieurs manières, mais je ne vois pas comment le débloquer

Les infos sont toutes regroupées dans une table, mais j'ai du relier 2 de mes 4 listes à des requêtes car je souhaitais virer les doublons et faire un tri croissant. Les 2 autres listes sont reliées à des tables.

Est ce que le fait de relier à une requête peut poser problème ?

voilà le code que j'ai :

Private Sub NOM_REPR_AfterUpdate()

SQL = "SELECT DISTINCT [Région] FROM Recap1 " & _
"WHERE Lib_Secteur_Activite = '" & Lib_Secteur_Activite & "' ORDER BY Région ASC ;"
Région.RowSource = SQL
Région.Requery

SQL = "SELECT DISTINCT [N°_Dpt] FROM Recap1 " & _
"WHERE Région = '" & Région & "' ORDER BY N°_Dpt ASC ;"
N°_dpt.RowSource = SQL
N°_dpt.Requery

If IsNull(Lib_Secteur_Activite) Then
SQL = "SELECT DISTINCT [NOM_REPR] FROM Recap1 ORDER BY NOM_REPR ASC ;"
Else
SQL = "SELECT DISTINCT [NOM_REPR] FROM Recap1 " & _
"WHERE N°_Dpt = '" & N°_dpt & "' ORDER BY NOM_REPR ASC ;"
End If

NOM_REPR.RowSource = SQL
NOM_REPR.Requery

End Sub


Voili voilou, si vous pouviez m'aider, ça vraiment super cool !!

Merci d'avance
A voir également:

1 réponse

Marie_2116 Messages postés 4 Statut Membre
 
Il n'y a vraiment personne qui peut m'aider ??
0