Akcja makra ZastosujFiltr (ApplyFilter)

Za pomocą akcji ZastosujFiltr możesz zastosować filtr, zapytanie lub klauzulę WHERE języka SQL do elementu tabela, formularz lub raport, aby ograniczyć lub posortować rekordy w tabeli bądź rekordy z tabeli źródłowej albo zapytania źródłowego formularza lub raportu. W przypadku raportów tę akcję może zawierać tylko makro określone we właściwości zdarzenia PrzyOtwarciu raportu.

Uwaga: Ta akcja umożliwia zastosowanie klauzuli WHERE języka SQL tylko w przypadku stosowania filtru serwera. Filtru serwera nie można zastosować do źródła rekordów procedury składowanej.

Uwaga: Akcja makra ZastosujFiltr nie jest dostępna w aplikacjach sieci Web programu Access.

Ustawienie

Akcja ZastosujFiltr ma następujące argumenty.

Argument akcji

Opis

Nazwa filtru

Nazwa filtru lub zapytania na potrzeby ograniczania albo sortowania rekordów tabeli, formularza lub raportu. W polu Nazwa filtru w sekcji Argumenty akcji okienka Konstruktor makr możesz wprowadzić nazwę istniejącego zapytania lub filtru, który został zapisany jako zapytanie.

Uwaga: Gdy używasz tej akcji, aby zastosować filtr serwera, argument Nazwa filtru musi być pusty.

Warunek WHERE

Prawidłowa klauzula WHERE języka SQL (bez wyrazu WHERE) lub wyrażenie ograniczające rekordy tabeli, formularza lub raportu.

Uwaga: Lewa strona wyrażenia argumentu Warunek WHERE zwykle zawiera nazwę pola z tabeli źródłowej lub zapytania źródłowego formularza albo raportu. Po prawej stronie wyrażenia zazwyczaj znajduje się kryterium, które chcesz zastosować do tego pola w celu ograniczenia lub posortowania rekordów. Kryterium może być na przykład nazwa kontrolki w innym formularzu zawierającej wartość, z którą mają być zgodne rekordy w pierwszym formularzu. Nazwa kontrolki powinna być w pełni kwalifikowana, na przykład:

Formularze!nazwa_formularza!nazwa_kontrolki

Nazwy pól należy ująć w cudzysłów, a literały ciągów — w apostrofy.

Maksymalna długość argumentu Warunek WHERE to 255 znaków. Jeśli musisz wprowadzić dłuższą klauzulę WHERE języka SQL, użyj metody ZastosujFiltr obiektu DoCmd w module Visual Basic for Applications (VBA). W module VBA można wprowadzać instrukcje klauzul WHERE języka SQL o maksymalnej długości 32768 znaków.


Uwaga: Możesz użyć argumentu Nazwa filtru, jeśli zdefiniowano już filtr, który zawiera odpowiednie dane. Za pomocą argumentu Warunek WHERE możesz bezpośrednio wprowadzać kryteria ograniczeń. Jeśli podasz oba argumenty, program Access zastosuje klauzulę WHERE do wyników filtru. Należy użyć co najmniej jednego argumentu.

Uwagi

Filtr lub zapytanie możesz zastosować do formularza w następujących widokach: widok formularza lub widok arkusza danych.

Zastosowany filtr i warunek WHERE stają się ustawieniem właściwości Filtr lub FiltrSerwera formularza albo raportu.

W przypadku tabel i formularzy ta akcja jest podobna do kliknięcia polecenia Zastosuj filtr/sortowanie lub Zastosuj filtr serwera w menu Rekordy. Polecenie menu powoduje zastosowanie ostatnio utworzonego filtru do tabeli lub formularza, natomiast akcja ZastosujFiltr powoduje zastosowanie określonego filtru lub zapytania.

W bazie danych programu Access, jeśli wskażesz pozycję Filtr w menu Rekordy, a następnie klikniesz polecenie Filtr/sortowanie zaawansowane po uruchomieniu akcji ZastosujFiltr, okno Filtr/Sortowanie zaawansowane będzie zawierać kryteria filtru wybranego za pomocą tej akcji.

Aby usunąć filtr i wyświetlić wszystkie rekordy tabeli lub formularza w bazie danych programu Access, możesz użyć akcji PokażWszystkieRekordy lub polecenia Usuń filtr/sortowanie w menu Rekordy. Aby usunąć filtr w projekcie programu Access (adp), możesz wrócić do okna Filtr serwera według formularzy i usunąć wszystkie kryteria filtrowania, a następnie kliknąć przycisk Zastosuj filtr serwera w menu Rekordy na pasku narzędzi lub ustawić właściwość FiltrSerweraWedługFormularza na wartość Fałsz (0).

Podczas zapisywania tabeli lub formularza program Access zapisuje filtr aktualnie zdefiniowany w tym obiekcie, ale nie zastosuje tego filtru automatycznie przy następnym otwarciu obiektu (chociaż automatycznie zastosuje dowolne sortowanie, które było zastosowane w tym obiekcie przed jego zapisaniem). Jeśli chcesz zastosować filtr automatycznie przy pierwszym otwarciu formularza, określ makro zawierające akcję ZastosujFiltr lub procedurę zdarzenia zawierającą metodę ZastosujFiltr obiektu DoCmd jako ustawienie właściwości zdarzenia PrzyOtwarciu formularza. Możesz również zastosować filtr przy użyciu akcji OtwórzFormularz lub OtwórzRaport bądź odpowiednich metod. Aby zastosować filtr automatycznie po pierwszym otwarciu tabeli, możesz otworzyć tabelę przy użyciu makra zawierającego akcję OtwórzTabelę, a następnie zaraz po niej akcję ZastosujFiltr.

Przykład

Stosowanie filtru przy użyciu makra

Poniższe makro zawiera zestaw akcji. Każda z nich filtruje rekordy formularza Lista telefonów klientów. Pokazano w nim zastosowanie akcji ZastosujFiltr, PokażWszystkieRekordy i PrzejdźDoKontrolki. Przedstawia ono również użycie warunków w celu określenia, który przycisk przełączania w grupie opcji został zaznaczony w formularzu. Każdy wiersz akcji jest skojarzony z przyciskiem przełączania, który wybiera zestaw rekordów zaczynających się od litery A, B, C i tak dalej lub wszystkie rekordy. To makro należy dołączyć do zdarzenia AfterUpdate grupy opcji FiltrNazwyFirmy.

Warunek

Akcja

Argumenty: Ustawienie

Komentarz

[FiltryNazwFirm]=1

ZastosujFiltr

Warunek WHERE: [NazwaFirmy] Like "[AÀÁÂÃÄ]*"

Filtr dla nazw firm, które zaczynają się od litery A, À, Á, Â, Ã lub Ä.

[FiltryNazwFirm]=2

ZastosujFiltr

Warunek WHERE: [NazwaFirmy] Like "B*"

Filtr dla nazw firm, które zaczynają się od litery B.

[FiltryNazwFirm]=3

ZastosujFiltr

Warunek WHERE: [NazwaFirmy] Like "[CÇ]*"

Filtr dla nazw firm, które zaczynają się od litery C lub Ç.

... Wiersze akcji dla liter od D do Y mają taki sam format jak wiersze dla liter od A do C...

[FiltryNazwFirm]=26

ZastosujFiltr

Warunek WHERE: [NazwaFirmy] Like "[ZÆØÅ]*"

Filtr dla nazw firm, które zaczynają się od litery Z, Æ, Ø lub Å.

[FiltryNazwFirm]=27

PokażWszystkieRekordy

Pokaż wszystkie rekordy.

[RecordsetClone].[RecordCount]>0

PrzejdźDoKontrolki

Nazwa kontrolki: NazwaFirmy

Jeśli dla wybranej litery zostaną zwrócone rekordy, przenieś fokus do kontrolki NazwaFirmy.


Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×