Filtres personnalisés
Filtres personnalisés sur formulaire en affichage continu
L'exemple ci-dessous suppose 3 zones de listes modifiables :
- ListeTextes
- ListeNombres
- ListeDates
placées dans l'entête d'un formulaire avec affichage en mode continu.
Private Sub FiltrerEnrg() Dim strFiltre As String If (Not IsNull(ListeTextes)) Then strFiltre = "[ChampTexte]='" & ListeTextes & "' AND " End If If (Not IsNull(ListeNombres)) Then strFiltre = strFiltre & "[ChampNumerique]=" & ListeNombres & " AND " End If If (Not IsNull(ListeDates)) Then strFiltre = strFiltre & "[ChampDate]=#" & ListeDates & "# AND " End If If (strFiltre = "") Then Me.Filter = "" Me.FilterOn = False Else strFiltre = "(" & Left$(strFiltre, Len(strFiltre) - 5) & ")" Me.Filter = strFiltre Me.FilterOn = True End If End Sub
'Dans l'événement "sur après mise à jour" de chacune d'elles, on appellera tout simplement la routine FiltrerEnrg :
Private Sub ListeTextes_AfterUpdate() FiltrerEnrg End Sub
Private Sub ListeNombres_AfterUpdate() FiltrerEnrg End Sub
Private Sub ListeDates_AfterUpdate() FiltrerEnrg End Sub
'On adaptera ce code en fonction du nombre exact de zones de listes, des noms réels des champs et contrôles et du type des données etc...
Dernière modification : 08/02/2010 17:55
Catégorie : Les mémos - Formulaires
Page lue 10700 fois