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 :
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.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
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
Partager