Ενέργεια μακροεντολής ApplyFilter

Ισχύει για
Access για Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Μπορείτε να χρησιμοποιήσετε την ApplyFilter ενέργεια για να εφαρμόσετε ένα φίλτρο, ένα ερώτημα ή έναν όρο SQL WHERE σε έναν πίνακα, μια φόρμα ή μια αναφορά. Αυτή η ενέργεια περιορίζει ή ταξινομεί τις εγγραφές του πίνακα ή τις εγγραφές από τον υποκείμενο πίνακα ή ερώτημα της φόρμας ή της έκθεσης. Στις αναφορές, μπορείτε να χρησιμοποιήσετε αυτήν την ενέργεια μόνο σε μια μακροεντολή που καθορίζεται από την ιδιότητα συμβάντος της OnOpen αναφοράς.

Σημείωση

Μπορείτε να χρησιμοποιήσετε αυτή την ενέργεια για να εφαρμόσετε έναν όρο SQL WHERE μόνο όταν εφαρμόζετε ένα φίλτρο διακομιστή. Ένα φίλτρο διακομιστή δεν μπορεί να εφαρμοστεί στην προέλευση εγγραφών μιας αποθηκευμένης διαδικασίας.

Σημείωση

Η ApplyFilter ενέργεια μακροεντολής δεν είναι διαθέσιμη στις εφαρμογές Web της Access.

Ρύθμιση

Η ApplyFilter ενέργεια έχει τα ακόλουθα ορίσματα.

Όρισμα ενέργειας Περιγραφή
Όνομα φίλτρου Το όνομα ενός φίλτρου ή ερωτήματος που περιορίζει ή ταξινομεί τις εγγραφές του πίνακα, της φόρμας ή της έκθεσης. Μπορείτε να εισαγάγετε το όνομα ενός υπάρχοντος ερωτήματος ή φίλτρου που έχει αποθηκευτεί ως ερώτημα στο πλαίσιο "Όνομα φίλτρου " της ενότητας "Ορίσματα ενέργειας " του παραθύρου "Λειτουργία δόμησης μακροεντολών".
Σημείωση: Όταν χρησιμοποιείτε αυτήν την ενέργεια για να εφαρμόσετε ένα φίλτρο διακομιστή, το όρισμα όνομα φίλτρου πρέπει να είναι κενό.
Όπου Συνθήκη Ένας έγκυρος όρος SQL WHERE , χωρίς τη λέξη WHERE, ή μια παράσταση που περιορίζει τις εγγραφές του πίνακα, της φόρμας ή της έκθεσης.

Σημείωση: Σε μια παράσταση ορίσματος Συνθήκη τοποθέτησης , η αριστερή πλευρά περιέχει συνήθως ένα όνομα πεδίου από τον υποκείμενο πίνακα ή ερώτημα για τη φόρμα ή την αναφορά. Η δεξιά πλευρά περιέχει συνήθως τα κριτήρια που θέλετε να εφαρμόσετε σε αυτό το πεδίο για τον περιορισμό ή την ταξινόμηση των εγγραφών. Για παράδειγμα, το κριτήριο μπορεί να είναι το όνομα ενός στοιχείου ελέγχου σε άλλη φόρμα που περιέχει την τιμή που θέλετε να ταιριάζουν οι εγγραφές στην πρώτη φόρμα. Το όνομα του στοιχείου ελέγχου πρέπει να είναι πλήρως προσδιορισμένο, για παράδειγμα. Forms!formname!controlname
Τα ονόματα πεδίων θα πρέπει να περιβάλλονται από διπλά εισαγωγικά και οι συμβολοσειρές θα πρέπει να περικλείονται από μονά εισαγωγικά.
Το μέγιστο μήκος του ορίσματος "Συνθήκη τοποθεσίας " είναι 255 χαρακτήρες. Εάν χρειάζεται να εισαγάγετε έναν μεγαλύτερο όρο SQLWHERE, χρησιμοποιήστε τη ApplyFilterDoCmd μέθοδο του αντικειμένου σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Μπορείτε να εισαγάγετε προτάσεις όρων SQL WHERE έως 32.768 χαρακτήρων στη VBA.

Σημείωση

Μπορείτε να χρησιμοποιήσετε το όρισμα " Όνομα φίλτρου ", εάν έχετε ήδη ορίσει ένα φίλτρο που παρέχει τα κατάλληλα δεδομένα. Μπορείτε να χρησιμοποιήσετε το όρισμα Συνθήκη όπου για να εισαγάγετε απευθείας τα κριτήρια περιορισμού. Εάν χρησιμοποιείτε και τα δύο ορίσματα, η Access εφαρμόζει τον WHERE όρο στα αποτελέσματα του φίλτρου. Πρέπει να χρησιμοποιήσετε ένα ή και τα δύο ορίσματα.

Παρατηρήσεις

Μπορείτε να εφαρμόσετε ένα φίλτρο ή ένα ερώτημα σε μια φόρμα σε προβολή φόρμας ή φύλλου δεδομένων.

Το φίλτρο και WHERE η συνθήκη που εφαρμόζετε γίνονται η ρύθμιση της φόρμας ή της έκθεσης ή ServerFilter της ιδιότηταςFilter.

Για πίνακες και φόρμες, αυτή η ενέργεια είναι παρόμοια με την επιλογή "Εφαρμογή φίλτρου/ταξινόμησης" ή "Εφαρμογή φίλτρου διακομιστή " στο μενού "Εγγραφές ". Η εντολή μενού εφαρμόζει το φίλτρο που δημιουργήθηκε πιο πρόσφατα στον πίνακα ή τη φόρμα, ενώ η ApplyFilter ενέργεια εφαρμόζει ένα συγκεκριμένο φίλτρο ή ερώτημα.

Σε μια βάση δεδομένων της Access, εάν τοποθετήσετε το δείκτη του ποντικιού στην εντολή Φίλτρο του μενού Εγγραφές και, στη συνέχεια, επιλέξετε Σύνθετο φίλτρο/ταξινόμηση μετά την εκτέλεση της ενέργειας, το παράθυρο "Σύνθετο φίλτρο/ταξινόμηση" εμφανίζει τα κριτήρια φίλτρου που επιλέξατε με αυτήν την ApplyFilter ενέργεια.

Για να καταργήσετε ένα φίλτρο και να εμφανίσετε όλες τις εγγραφές ενός πίνακα ή μιας φόρμας σε μια βάση δεδομένων της Access, μπορείτε να χρησιμοποιήσετε την ShowAllRecords ενέργεια ή την εντολή "Κατάργηση φίλτρου/ταξινόμησης " από το μενού "Εγγραφές ". Για να καταργήσετε ένα φίλτρο σε ένα έργο της Access (.adp), επιστρέψτε στο παράθυρο "Διακομιστής Φιλτράρισμα βάσει φόρμας " και καταργήστε όλα τα κριτήρια φίλτρου. Στη συνέχεια, επιλέξτε Apply Server Filter στο μενού Records στη γραμμή εργαλείων ή ορίστε την ServerFilterByForm ιδιότητα σε False ().0

Όταν αποθηκεύετε έναν πίνακα ή μια φόρμα, η Access αποθηκεύει οποιοδήποτε φίλτρο που ορίζεται τη συγκεκριμένη στιγμή σε αυτό το αντικείμενο. Ωστόσο, δεν θα εφαρμόσει το φίλτρο αυτόματα την επόμενη φορά που θα ανοίξετε το αντικείμενο, παρόλο που θα εφαρμόσει αυτόματα οποιοδήποτε είδος είχατε εφαρμόσει πριν από την αποθήκευση του αντικειμένου. Εάν θέλετε να εφαρμόσετε ένα φίλτρο αυτόματα κατά το πρώτο άνοιγμα μιας φόρμας, καθορίστε μια μακροεντολή που περιέχει την ApplyFilter ενέργεια ή μια διαδικασία συμβάντος που περιέχει τη ApplyFilter μέθοδο του DoCmd αντικειμένου ως ρύθμιση ιδιότητας OnOpen συμβάντος της φόρμας. Μπορείτε επίσης να εφαρμόσετε ένα φίλτρο χρησιμοποιώντας την ενέργεια ή OpenReport ή τις OpenForm αντίστοιχες μεθόδους. Για να εφαρμόσετε ένα φίλτρο αυτόματα κατά το πρώτο άνοιγμα ενός πίνακα, ανοίξτε τον πίνακα χρησιμοποιώντας μια μακροεντολή που περιέχει την OpenTable ενέργεια, ακολουθούμενη αμέσως από την ApplyFilter ενέργεια.

Παράδειγμα

Εφαρμογή φίλτρου με χρήση μακροεντολής

Η ακόλουθη μακροεντολή περιέχει ένα σύνολο ενεργειών. Κάθε ενέργεια φιλτράρει τις εγγραφές για μια φόρμα "Λίστα τηλεφώνων πελατών". Δείχνει πώς μπορείτε να χρησιμοποιήσετε τα ApplyFilter, ShowAllRecordsκαι GoToControl τις ενέργειες. Δείχνει, επίσης, πώς μπορείτε να χρησιμοποιήσετε τις συνθήκες για να προσδιορίσετε ποιο κουμπί εναλλαγής σε μια ομάδα επιλογών έχει επιλεγεί στη φόρμα. Κάθε γραμμή ενέργειας είναι συσχετισμένη με ένα κουμπί εναλλαγής που επιλέγει το σύνολο των εγγραφών που ξεκινούν με A, B, C και ούτω καθεξής ή όλες τις εγγραφές. Προσαρτήστε αυτήν τη AfterUpdateCompanyNameFilter μακροεντολή στο συμβάν της ομάδας επιλογών.

Κατάσταση Ενέργεια Ορίσματα: Ρύθμιση Σχόλιο
[CompanyNameFilters]=1 ΕφαρμογήΦίλτρο Where Condition: [CompanyName] Like "[AÀÁÂÃÄ]*" Εφαρμογή φίλτρου για ονόματα εταιρειών που ξεκινούν με A, À, Á, Â, Ã ή Ä.
[Φίλτρα_επωνυμίας]=2 ΕφαρμογήΦίλτρο Όπου συνθήκη: [Επωνυμία_εταιρείας] Like "Β*" Εφαρμόστε φίλτρο για ονόματα εταιρειών που ξεκινούν με B.
[Φίλτρα_επωνυμίας]=3 ΕφαρμογήΦίλτρο Όπου Συνθήκη: [Επωνυμία_εταιρείας] Like "[CÇ]*" Εφαρμογή φίλτρου για ονόματα εταιρειών που ξεκινούν με C ή Ç.
... Οι σειρές ενεργειών για το D έως το Y έχουν την ίδια μορφή με το A έως το C ...
[Φίλτρα_επωνυμίας]=26 ΕφαρμογήΦίλτρο Where Condition: [CompanyName] Like "[ZÆØÅ]*" Εφαρμογή φίλτρου για ονόματα εταιρειών που ξεκινούν με Z, Æ, Ø ή Å.
[Φίλτρα_επωνυμίας]=27 ShowAllRecords Εμφάνιση όλων των εγγραφών.
[RecordsetClone]. [Καταμέτρηση_εγγραφών]>0 GoToControl Όνομα στοιχείου ελέγχου: CompanyName Εάν επιστραφούν εγγραφές για το επιλεγμένο γράμμα, μετακινήστε την εστίαση στο στοιχείο ελέγχου "CompanyName".