Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Za pomocą akcji makra SearchForRecord w bazach danych programu Access dla komputerów stacjonarnych można wyszukać określony rekord w tabeli, zapytaniu, formularzu lub raporcie.

Ustawienie

Akcja makra SearchForRecord ma następujące argumenty.

Argument akcji

Opis

Typ obiektu

Wprowadź lub wybierz typ wyszukiwanego obiektu bazy danych. Możesz wybrać pozycję Tabela, Zapytanie, Formularz lub Raport.

Nazwa obiektu

Wprowadź lub zaznacz określony obiekt zawierający rekord do wyszukania. Lista rozwijana zawiera wszystkie obiekty bazy danych typu wybranego dla argumentu Typ obiektu .

Nagrywanie

Określ punkt początkowy i kierunek wyszukiwania.

Ustawienie

Opis

Poprzedni

Wyszukiwanie wstecz od bieżącego rekordu.

Następny

Wyszukaj dalej od bieżącego rekordu.

Imię

Wyszukaj dalej od pierwszego rekordu. Jest to wartość domyślna tego argumentu.

Nazwisko

Wyszukiwanie wstecz od ostatniego rekordu.

Warunek WHERE

Wprowadź kryteria wyszukiwania, używając tej samej składni co klauzula WHERE języka SQL, tylko bez wyrazu "WHERE". Na przykład:

Description = "Beverages"

Aby utworzyć kryterium zawierające wartość z pola tekstowego w formularzu, należy utworzyć wyrażenie, które łączy pierwszą część kryterium z nazwą pola tekstowego zawierającego wartość do przeszukania. Na przykład poniższe kryterium przeszuka pole Opis dla wartości w polu tekstowym o nazwie txtDescription w formularzu o nazwie frmCategories. Zwróć uwagę na znak równości (=) na początku wyrażenia i użycie cudzysłowów pojedynczych (') po obu stronach odwołania do pola tekstowego:

="Description = '" & Forms![frmCategories]![txtDescription] & "'"

Uwagi

  • W przypadkach, gdy więcej niż jeden rekord spełnia kryteria argumentu Warunek Where , następujące czynniki określają, który rekord został znaleziony:

    • Ustawienie argumentu Record (Rekord   ) Zobacz tabelę w sekcji Ustawienia, aby uzyskać więcej informacji na temat argumentu Record (Rekord ).

    • Kolejność sortowania rekordów    Jeśli na przykład dla argumentu Record (Rekord ) ustawiono wartość First (Pierwszy), zmiana kolejności sortowania rekordów może spowodować zmianę znalezionego rekordu.

  • Obiekt określony w arguencie Nazwa obiektu musi być otwarty przed uruchomieniem tej akcji. W przeciwnym razie wystąpi błąd.

  • Jeśli kryteria argumentu Warunek Where nie są spełnione, nie występuje błąd, a fokus pozostaje na bieżącym rekordzie.

  • Podczas wyszukiwania poprzedniego lub następnego rekordu wyszukiwanie nie jest "zawijane", gdy dotrze do końca danych. Jeśli nie ma żadnych dalszych rekordów spełniających kryteria, nie występuje błąd, a fokus pozostaje na bieżącym rekordzie. Aby potwierdzić, że znaleziono dopasowanie, możesz wprowadzić warunek następnej akcji i sprawić, że warunek będzie taki sam jak warunek w argumacie Warunek Where .

  • Aby uruchomić akcję SearchForRecord w module VBA, użyj metody SearchForRecord obiektu DoCmd .

  • Akcja makra SearchForRecord jest podobna do akcji makra ZnajdźRekord, ale funkcja SearchForRecord ma bardziej zaawansowane funkcje wyszukiwania. Akcja makra ZnajdźRekord jest używana przede wszystkim do znajdowania ciągów i duplikuje funkcjonalność okna dialogowego Znajdowanie . W akcji makra SearchForRecord są używane kryteria, które są bardziej podobne do kryteriów filtru lub zapytania SQL. Na poniższej liście przedstawiono niektóre czynności, które można wykonać za pomocą akcji makra SearchForRecord :

    • W arguście Warunek Where można użyć kryteriów złożonych, takich jak

Opis = "Napoje" i Identyfikator Kategorii = 11

  • Można odwoływać się do pól znajdujących się w źródle rekordów formularza lub raportu, ale nie są wyświetlane w formularzu ani raporcie. W powyższym przykładzie, aby kryteria działały, ani Description , ani CategoryID nie muszą być wyświetlane w formularzu ani raporcie.

  • Można używać operatorów logicznych, takich jak <, >, ORAZ, LUB i BETWEEN. Akcja ZnajdźRekord jest zgodna tylko z ciągami, które są równe, rozpoczynają się od wyszukiwanego ciągu lub zawierają go.

Przykład

Poniższe makro najpierw otwiera tabelę Kategorie przy użyciu akcji Otwórz_tabelę . Następnie makro używa akcji makra SearchForRecord w celu znalezienia pierwszego rekordu w tabeli, w którym pole Opis jest równe "Napoje".

Akcja

Argumenty

OpenTable

Nazwa tabeli: Kategorie

Widok: arkusz danych

Tryb danych: Edytuj

SearchForRecord

Typ obiektu: Tabela

Nazwa obiektu: Kategorie

Nagraj: Pierwszy

Warunek Where: Opis = "Napoje"

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×