V tomto tématu najdete referenční informace a částečně také návod na používání zástupných znaků v Accessu.
Informace o hledání zástupných znaků v accessové databázi najdete v článcích Změna dat pomocí dialogového okna Najít a nahradit, Vytvoření jednoduchého výběrového dotazu a Aktualizace dat v databázi.
V tomto tématu
- Informace o podporovaných znakových sadách
- Zjištění podporované normy ANSI
- Zástupné znaky ANSI-89
- Zástupné znaky ANSI-92
- Datové typy, při jejichž prohledávání můžete použít zástupné znaky
Informace o podporovaných znakových sadách
Access podporuje dvě sady zástupných znaků, protože podporuje dva standardy pro jazyk SQL (Structured Query Language) – ANSI-89 a ANSI-92. Pravidlem je, že pokud v accessových databázích (souborech .mdb a .accdb) spouštíte dotazy a provádíte operace hledání a nahrazení, používáte zástupné znaky ANSI-89. Zástupné znaky ANSI-92 se používají při spouštění dotazů v accessových projektech. Accessové soubory připojené k databázím Microsoft SQL Server. Accessové projekty používají normu ANSI-92, protože ji používá i SQL Server.
Z tohoto pravidla ale existují v Accessu výjimky. V následující tabulce jsou metody neboli nástroje, které můžete použít k vyhledání a nahrazení dat, a také výchozí norma ANSI, která se v každém nástroji používá.
| Metoda nebo nástroj vyhledávání | Typ prohledávaného souboru | Používaná znaková sada zástupných znaků |
|---|---|---|
| Dialogové okno Najít a nahradit | Accessová databáze (soubory .mdb a .accdb) | ANSI-89 |
| Dialogové okno Najít a nahradit | Accessový projekt (soubory .adp a .accdp) | ANSI-92 |
| Výběrový nebo aktualizační dotaz | Accessová databáze (soubory .mdb a .accdb) | ANSI-89 |
| Výběrový nebo aktualizační dotaz | Accessový projekt (soubory .adp a .accdp) | ANSI-92 |
| Dialogové okno Najít a nahradit, výběrový nebo aktualizační dotaz | Accessová databáze nastavená na podporu normy ANSI-92 | ANSI-92 |
Zjištění podporované normy ANSI
Ke zjištění nebo případné změně nastavení ANSI pro danou databázi použijte tento postup.
Klikněte naMožnostisouboru>.
Zobrazí se dialogové okno Možnosti aplikace Access.Klikněte na Návrháři objektů a v oddílu Návrh dotazu proveďte v části Syntaxe kompatibilní s SQL Serverem (ANSI 92) jednu z následujících akcí:
- Pokud chcete u otevřené databáze změnit normu na ANSI-92, vyberte Tato databáze.
– nebo –
Pokud chcete u otevřené databáze nastavit normu ANSI-89, zrušte zaškrtnutí políčka. - Pokud chcete, aby všechny nové databáze vytvořené v právě otevřené instanci Accessu, používaly normu ANSI-92, vyberte Výchozí pro nové databáze.
– nebo –
Pokud chcete všechny nové databáze nastavit na normu ANSI-89, zrušte zaškrtnutí políčka.
- Pokud chcete u otevřené databáze změnit normu na ANSI-92, vyberte Tato databáze.
Klikněte na OK.
Zástupné znaky ANSI-89
Tuto sadu zástupných znaků můžete použít, když používáte dialogové okno Najít a nahradit k vyhledání dat v accessové databázi nebo v accessovém projektu, případně k jejich nahrazení. Tyto znaky také můžete použít, když chcete v accessové databázi spustit výběrové nebo aktualizační dotazy, ale nemůžete je použít v dotazech spouštěných v accessovém projektu. Další informace o používání výběrových a aktualizačních dotazů najdete v článcích Vytvoření jednoduchého výběrového dotazu a Aktualizace dat v databázi.
| Znak | Popis | Příklad |
|---|---|---|
| * | Odpovídá libovolnému počtu znaků. Znak hvězdička (*) lze použít kdekoli ve znakovém řetězci. | tr* Budou nalezeny řetězce tryska, trn a truhla, nikoli však tenor nebo potrava. |
| ? | Odpovídá libovolnému znaku abecedy. | st?l najde stůl, stál, stal nebo stel. |
| [ ] | Odpovídá libovolnému znaku v hranatých závorkách. | st[áe]l najde stál a stel, ale už ne stůl ani stal. |
| ! | Odpovídá libovolnému znaku, který není v hranatých závorkách. | st[!ae]l najde řetězce stůl a stál, ale už ne stal ani stel. |
| - | Odpovídá libovolnému znaku v zadaném rozsahu. Rozsah musíte zadat ve vzestupném pořadí (A až Z, nikoli Z až A). | b[a-c]d najde řetězce bad, bbd a bcd. |
| # | Odpovídá jakékoli jednotlivé číslici. | 1#3 Budou nalezena čísla 103, 113 a 123. |
Zástupné znaky ANSI-92
Tuto sadu zástupných znaků použijte ke spuštění výběrových a aktualizačních dotazů v accessových projektech (soubory .adp) nebo když používáte některý typ dotazu nebo dialogové okno Najít a nahradit k prohledávání databázových sad, které využívají normu ANSI-92.
| Znak | Popis | Příklad |
|---|---|---|
| % | Odpovídá libovolnému počtu znaků. Můžete ho použít jako první nebo poslední znak v řetězci znaků. | tr* najde slova tryska, trn a truhla, ale ne tenor ani potrava. |
| _ | Odpovídá libovolnému znaku abecedy. | st_l najde stůl, stál, stal nebo stel. |
| [ ] | Odpovídá libovolnému znaku v hranatých závorkách. | st[áe]l najde stál a stel, ale už ne stůl ani stal. |
| ^ | Odpovídá libovolnému znaku, který není v hranatých závorkách. | st[^ae]l najde slova stůl a stál, ale ne stal ani stel. |
| - | Odpovídá libovolnému znaku v zadaném rozsahu. Rozsah musíte zadat ve vzestupném pořadí (A až Z, nikoli Z až A). | b[a-c]d najde řetězce bad, bbd a bcd. |
POZNÁMKY:
- Chcete-li v datech hledat zástupné znaky, uzavřete hledaný znak do hranatých závorek, například [#]. Toto pravidlo použijte při hledání hvězdiček (*), otazníků (?), znaků libry (#), levých hranatých závorek ([) a spojovníků (-). Při hledání vykřičníku (!) nebo koncové hranaté závorky (]) nepoužívejte závorky. Pokud chcete tyto znaky hledat dialogovým oknem Najít a nahradit, zadejte hledaný znak do pole Najít bez závorek. Stejný postup použijte, když chcete k hledání znaků použít dotaz. Následující syntaxe například vrátí všechny záznamy, ve kterých je vykřičník bez ohledu na to, kde v datech se tento znak nachází: Like "*!*".
Informace o používání dialogového okna Najít a nahradit najdete v článku Změna dat pomocí dialogového okna Najít a nahradit. Informace o používání výběrových a aktualizačních dotazů najdete v článcích Vytvoření jednoduchého výběrového dotazu a Aktualizace dat v databázi.
Pokud hledáte spojovník spolu s dalšími znaky, dejte ho před nebo za všechny další znaky a uzavřete ho do hranatých závorek, například [-#*] nebo [#*-]. Pokud máte za levou hranatou závorkou vykřičník (!), dejte spojovník až za vykřičník: [!-]. - Pokud chcete hledat dvojici levých a pravých hranatých závorek ([]), musíte oba znaky uzavřít do hranatých závorek, například [[]]. Je nutné to udělat, protože Access interpretuje jednu dvojici závorek jako řetězec nulové délky.
Datové typy, při jejichž prohledávání můžete použít zástupné znaky
Při návrhu tabulky nastavujete datový typ každého pole v tabulce. Polím, která obsahují informace o kalendářním datu, například nastavíte datový typ Datum a čas. V této tabulce jsou datové typy, k jejichž prohledávání můžete použít zástupné znaky. Pamatujte si, že v některých případech můžete zástupné znaky použít v dialogovém okně Najít a nahradit, ale ne v dotazech (a naopak).
| Datový typ | Kde se používá |
|---|---|
| Text | Dialogové okno Najít a nahradit, dotazy |
| Memo | Dialogové okno Najít a nahradit, dotazy |
| Číslo | Dialogové okno Najít a nahradit, dotazy |
| Datum a čas | Dialogové okno Najít a nahradit, dotazy Poznámka: Na použití zástupných znaků může mít vliv místní nastavení. Další informace najdete v poznámkách na konci tohoto oddílu. |
| Měna | Dialogové okno Najít a nahradit, dotazy |
| Automatické číslo | Dialogové okno Najít a nahradit, dotazy |
| Objekt OLE | Nikde |
| Ano/ne | V dotazech, ale není to potřeba. Další informace najdete v poznámkách na konci tohoto oddílu. |
| Hypertextový odkaz | Dialogové okno Najít a nahradit, dotazy |
| Průvodce vyhledáváním | Záleží na datovém typu zdrojového pole. |
POZNÁMKY:
- Pokud formát použitý pro tato pole zobrazuje část nebo celé datum jako text, můžete v dialogovém okně Najít a nahradit použít zástupné znaky k prohledávání polí data a času. Můžete například hledat pomocí řetězce, jako je například *ar*-10-2007**, a výsledky budou zahrnovat všechny měsíce, které obsahují písmena ar – leden, únor atd. Nezapomeňte, že musíte hledat pomocí formátu použitého pro data, a proto musíte v dialogovém okně zaškrtnout políčko Prohledávat podle formátování . Další informace o tomto zaškrtávacím políčku najdete v článku Změna dat pomocí dialogového okna Najít a nahradit.
- Na zobrazené výsledky a způsob vyhledávání může mít vliv datum a čas použité v místním nastavení Windows. Některým uživatelům se třeba může zobrazit měsíc v římských číslicích, takže místo 07-Sept-1997 uvidí 07-IX-1997. Řiďte se pravidlem, že hledáte to, co vidíte, nikoli co si myslíte, že Access ukládá do tabulky. Jinak řečeno, pokud hledáte řetězec *-IX-2007, najdou se všechny záznamy ze září daného roku.
Pokud text v datovém poli obsahuje diakritická znaménka, třeba á nebo č, musíte je zahrnout do hledaného řetězce, jinak hledání nebude úspěšné. Diakritická znaménka se dají obejít zástupnými znaky. Pokud se například zobrazí datum 3-praha-2007, můžete hledat pomocí řetězce, jako je například *-praha*-2007. - Při hledání v poli typu Ano/Ne pomocí dialogového okna Najít a nahradit Access toto pole ingoruje a dialogové okno nevrátí žádné záznamy. Při hledání v poli typu Ano/Ne pomocí dotazu můžete použít zástupné znaky, ale nezapomeňte, že pole typu Ano/Ne vrací pouze dvě hodnoty (0 jako Nepravda a -1 jako Pravda), takže zástupný znak nepřidává do hledání žádnou hodnotu. Kritérium =-1 třeba při použití kritéria vrátí stejné výsledky jako "Like *1".
- Pole Objekt OLE neumožňují hledání.