Événement Form.ApplyFilter (Access)
Se produit lorsqu'un filtre est appliqué à un formulaire.
Syntaxe
expression. ApplyFilter (Cancel, ApplyType)
expressionVariable qui représente un objetForm.
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Cancel | Obligatoire | Integer | Le paramètre détermine si l'événement ApplyFilter se produit. Le fait de définir l'argument Cancel sur True annule l'événement ApplyFilter et l'application du filtre sur le formulaire. |
ApplyType | Obligatoire | Integer | Renvoie le type de filtre appliqué. |
Remarques
Pour exécuter une macro ou une procédure événementielle lorsque cet événement se produit, définissez la propriété OnApplyFilter sur le nom de la macro ou [Procédure événementielle].
Utilisez l’événement ApplyFilter pour :
Assurez-vous que le filtre appliqué est correct. Par exemple, vous pouvez être sûr que tout filtre appliqué à un formulaire Commandes inclut des critères limitant le champ OrderDate . Pour ce faire, vérifiez la valeur de la propriété Filter ou ServerFilter du formulaire pour vous assurer que ce critère est inclus dans l’expression de clause WHERE.
Modifier l'affichage du formulaire avant que le filtre ne soit appliqué. Par exemple, lorsque vous appliquez un certain filtre, vous voulez peut-être désactiver ou masquer des champs qui ne sont pas appropriés pour les enregistrements affichés par le filtre en question.
Annuler ou modifier les actions que vous avez effectuées lorsque l’événement Filter s’est produit. Par exemple, vous pouvez désactiver ou masquer certains contrôles sur le formulaire lorsque l’utilisateur crée le filtre, car vous ne souhaitez pas que ces contrôles soient inclus dans les critères de filtre. Vous pouvez ensuite activer ou afficher ces contrôles une fois que le filtre est appliqué.
Les actions dans la macro ou la procédure événementielle ApplyFilter se produisent avant l’application ou la suppression du filtre, ou après la fermeture de la fenêtre Filtre/Tri avancé, Filtrer par formulaire ou Filtrer par formulaire du serveur, mais avant que le formulaire ne soit réaffiché. Les critères que vous avez entrés dans le filtre nouvellement créé sont disponibles pour la macro ou la procédure événementielle ApplyFilter en tant que paramètre de la propriété Filter ou ServerFilter .
Remarque
L'événement ApplyFilter ne se produit pas lorsque vous effectuez l'une des opérations suivantes :
- Applique ou supprime un filtre à l’aide des actions ApplyFilter, OpenReport ou ShowAllRecords dans une macro, ou de leurs méthodes correspondantes de l’objet DoCmd dans Visual Basic.
- Utilise l’action Fermer ou la méthode Close de l’objet DoCmd pour fermer la fenêtre Filtre/Tri avancé, Filtrer par formulaire ou Filtrer par formulaire du serveur.
- Définit la propriété Filter ou ServerFilter ou la propriété FilterOn ou ServerFilterByForm dans une macro ou Visual Basic (bien que vous puissiez définir ces propriétés dans une procédure événementielle ou une macro ApplyFilter ).
Exemple
L’exemple suivant montre comment masquer les contrôles AmountDue, Tax et TotalDue dans un formulaire Commandes lorsque le filtre appliqué limite les enregistrements aux seules commandes qui ont été payées.
Pour essayer cet exemple, ajoutez la procédure événementielle suivante à un formulaire Commandes qui contient les contrôles AmountDue, Tax et TotalDue. Exécutez un filtre qui n'affiche que les commandes réglées.
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
If Not IsNull(Me.Filter) And (InStr(Me.Filter, "Orders.Paid = -1")>0 _
Or InStr(Me.Filter, "Orders.Paid = True")>0)Then
If ApplyType = acApplyFilter Then
Forms!Orders!AmountDue.Visible = False
Forms!Orders!Tax.Visible = False
Forms!Orders!TotalDue.Visible = False
ElseIf ApplyType = acShowAllRecords Then
Forms!Orders!AmountDue.Visible = True
Forms!Orders!Tax.Visible = True
Forms!Orders!TotalDue.Visible = True
End If
End If
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour