Akci makra HledatZáznam můžete použít v desktopových databázích Accessu k vyhledání konkrétního záznamu v tabulce, dotazu, formuláři nebo sestavě.
Nastavení
Akce makra HledatZáznam má následující argumenty.
Akční argument |
Popis |
||||||||||
Typ objektu |
Zadejte nebo vyberte typ databázového objektu, ve který hledáte. Můžete vybrat Tabulka, Dotaz, Formulář nebo Sestava. |
||||||||||
Název objektu |
Zadejte nebo vyberte konkrétní objekt, který obsahuje záznam, který chcete vyhledat. V rozevíracím seznamu se zobrazují všechny databázové objekty typu, který jste vybrali pro argument Typ objektu . |
||||||||||
Nahrání |
Zadejte počáteční bod a směr hledání.
|
||||||||||
Podmínka Where |
Zadejte kritéria pro hledání pomocí stejné syntaxe jako klauzule WHERE jazyka SQL, pouze bez slova WHERE. Příklad: Description = "Beverages" Chcete-li vytvořit kritérium, které obsahuje hodnotu z textového pole ve formuláři, je nutné vytvořit výraz, který zřetězí první část kritéria s názvem textového pole obsahujícím hodnotu, pro kterou chcete hledat. Například následující kritérium vyhledá v poli Popis hodnotu v textovém poli s názvem txtDescription ve formuláři s názvem frmCategories. Všimněte si symbolu rovná se (=) na začátku výrazu a použití jednoduchých uvozovek (') na obou stranách odkazu na textové pole: ="Description = '" & Forms![frmCategories]![txtDescription] & "'" |
Poznámky
-
V případech, kdy kritéria v argumentu Podmínka where splňuje více než jeden záznam, určují následující faktory, který záznam se najde:
-
Nastavení argumentu Záznam Další informace o argumentu Záznam najdete v tabulce v části Nastavení.
-
Pořadí řazení záznamů Pokud je například argument Záznam nastavený na Hodnotu První, změna pořadí řazení záznamů může změnit nalezený záznam.
-
-
Objekt zadaný v argumentu Název objektu musí být před spuštěním této akce otevřený. V opačném případě dojde k chybě.
-
Pokud kritéria v argumentu Podmínka where nejsou splněna , nedojde k žádné chybě a fokus zůstane na aktuálním záznamu.
-
Při hledání předchozího nebo dalšího záznamu se hledání "nezabalí", když dosáhne konce dat. Pokud neexistují žádné další záznamy, které splňují kritéria, nedojde k žádné chybě a fokus zůstane na aktuálním záznamu. Pokud chcete ověřit, že byla nalezena shoda, můžete zadat podmínku pro další akci a nastavit podmínku jako stejnou jako kritéria v argumentu Podmínka where .
-
Pokud chcete spustit akci SearchForRecord v modulu VBA, použijte metodu SearchForRecord objektu DoCmd .
-
Akce makra HledatZáznam je podobná akci makra NajítZáznam, ale funkce SearchForRecord má výkonnější funkce vyhledávání. Akce makra NajítZáznam se primárně používá k vyhledání řetězců a duplikuje funkce dialogového okna Najít . Akce makra HledatZáznam používá kritéria, která se více podobají kritériím filtru nebo dotazu SQL. Následující seznam ukazuje některé věci, které můžete udělat pomocí akce makra HledatZáznam :
-
V argumentu Podmínka where můžete použít složitá kritéria, například
-
Popis = "Nápoje" a CategoryID = 11
-
Můžete odkazovat na pole, která jsou ve zdroji záznamů formuláře nebo sestavy, ale ve formuláři nebo sestavě se nezobrazují. V předchozím příkladu se ve formuláři nebo sestavě nesmí zobrazovat Description ani CategoryID , aby kritéria fungovala.
-
Můžete použít logické operátory, například <, >, AND, OR a BETWEEN. Akce NajítZáznam odpovídá pouze řetězcům, které se hledanému řetězci rovnají, začínají na nebo obsahují.
Příklad
Následující makro nejprve otevře tabulku Kategorie pomocí akce Otevřít tabulku . Makro pak pomocí akce makra HledatZáznam vyhledá první záznam v tabulce, kde pole Popis odpovídá "Nápoje".
Akce |
Argumenty |
OpenTable |
Název tabulky: Kategorie Zobrazení: Datový list Režim dat: Upravit |
SearchForRecord |
Typ objektu: Tabulka Název objektu: Kategorie Záznam: První Podmínka Where: Popis = "Nápoje" |