Pokud chcete rychle odstranit velké množství dat nebo pravidelně odstraňovat sadu dat v desktopové databázi Accessu, může být odstranění nebo aktualizační dotaz užitečné, protože dotazy umožňují zadat kritéria pro rychlé vyhledání a odstranění dat. Použití dotazu může být také příčinou časového limitu, protože uložený dotaz můžete znovu použít.
Poznámka: Před odstraněním libovolných dat nebo spuštěním odstraňovacího dotazu nezapomeňte zálohovat desktopovou databázi Accessu.
Pokud chcete odstranit jenom několik záznamů, nepotřebujete dotaz. Jednoduše otevřete tabulku v zobrazení Datový list, vyberte pole (sloupce) nebo záznamy (řádky), které chcete odstranit, a stiskněte klávesu DELETE.
Důležité informace: Informace v tomto článku jsou určeny pouze pro použití s desktopovými databázemi. Ve webových aplikacích pro Access nemůžete používat dotazy k odstranění ani aktualizaci.
V tomto článku
Volba typu dotazu
K odstranění dat z databáze můžete použít buď aktualizační dotaz, nebo odstraňovací dotaz. Vyberte dotaz na základě podrobností v následující tabulce:
Typ dotazu |
Kdy použít |
Výsledky |
---|---|---|
Použití odstraňovacího dotazu |
Odebrání celých záznamů (řádků) z tabulky nebo ze dvou souvisejících tabulek současně Poznámka: Pokud se záznamy nacházejí na straně "1" relace 1:N, možná budete muset změnit relaci před spuštěním odstraňovacího dotazu. Projděte si část věnovanou odstraňování dat ze souvisejících tabulek. |
Odstranění dotazů odebere všechna data v jednotlivých polích, včetně hodnoty klíče, která činí záznam jedinečným. |
Použití aktualizačního dotazu |
Odstranění hodnot jednotlivých polí z tabulky |
Usnadňuje odstranění hodnot aktualizací existujících hodnot na hodnotu null (tj. žádná data) nebo řetězec nulové délky (dvojice dvojitých uvozovek bez mezer mezi nimi). |
Co je potřeba ověřit před použitím dotazu k odstranění jakýchkoli dat
-
Ujistěte se, že se nejedná o soubor jen pro čtení:
-
Klikněte pravým tlačítkem na Start a klikněte na Otevřít Průzkumníka Windows.
-
Klikněte pravým tlačítkem na soubor databáze a klikněte na Vlastnosti.
-
Zkontrolujte, jestli je vybraný atribut jen pro čtení .
-
-
Ověřte, že máte potřebná oprávnění k odstranění záznamů z databáze. Pokud si nejste jistí, obraťte se na správce systému nebo na návrháře databáze.
-
Ujistěte se, že jste v databázi povolili obsah. Access ve výchozím nastavení blokuje všechny akční dotazy (dotazy na odstranění, aktualizaci a vymyšlovací tabulku), pokud databázi nejprve nedůvěřujete. Informace o důvěryhodnosti databáze najdete v části Zastavení blokování dotazu v režimu zakázání.
-
Požádejte ostatní uživatele databáze, aby zavřeli všechny tabulky, formuláře, dotazy a sestavy, které používají data, která chcete odstranit. To pomáhá vyhnout se porušení zámků.
-
Před úpravou nebo odstraněním záznamů je vhodné vytvořit záložní kopii databáze , pokud chcete změny vrátit zpět.
Tip: Pokud se k databázi připojuje velký počet uživatelů, možná budete muset databázi zavřít a pak ji znovu otevřít ve výhradním režimu.
Otevření databáze ve výhradním režimu
-
Klikněte na kartu Soubor > Otevřít.
-
Přejděte na databázi a přejděte na ni, klikněte na šipku vedle tlačítka Otevřít a potom klikněte na Otevřít s výhradním přístupem.
Zálohování databáze
-
Klikněte na kartu Soubor a přejděte na Uložit jako.
-
Klikněte na Uložit databázi jako a pak na Zálohovat databázi. Access zavře původní soubor, vytvoří jeho záložní kopii a znovu otevře původní soubor.
-
Klikněte na Uložit jako , zadejte název a umístění záložní kopie a klikněte na Uložit.
Poznámka: Pokud používáte databázi jen pro čtení nebo databázi vytvořenou v předchozí verzi Accessu, může se zobrazit zpráva, že není možné vytvořit zálohu databáze.
Chcete-li se vrátit k záloze, zavřete původní soubor a přejmenujte jej tak, aby záložní kopie mohla používat název původní verze. Přiřaďte název původní verze záložní kopii a otevřete přejmenovanou záložní kopii v Accessu.
Použití odstraňovacího dotazu
Pokud chcete vytvořit odstraňovací dotaz, klikněte na kartu Vytvořit a ve skupině Dotazy klikněte na Návrh dotazu. Poklikejte na každou tabulku, ze které chcete odstranit záznamy, a potom klikněte na Zavřít.
Tabulka se zobrazí jako okno v horní části návrhové mřížky dotazu. V seznamu polí poklikáním na hvězdičku (*) přidejte všechna pole v tabulce do návrhové mřížky.
Použití konkrétních kritérií v odstraňovacím dotazu
Důležité informace: Pomocí kritérií můžete vrátit jenom záznamy, které chcete odstranit. V opačném případě odstraňovací dotaz odebere všechny záznamy v tabulce.
Poklikejte na pole, které chcete zadat jako kritéria pro odstranění, zadejte jedno z kritérií v řádku Kritéria návrháře dotazu a zrušte zaškrtnutí políčka Zobrazit u každého pole kritérií.
Příklad, kdy byste mohli chtít použít tuto možnost: Předpokládejme, že chcete odebrat všechny čekající objednávky pro zákazníka. Pokud chcete najít jenom tyto záznamy, přidejte do návrhové mřížky dotazu pole Id zákazníka a Datum objednávky a pak zadáte id zákazníka a datum, kdy se objednávky zákazníka staly neplatnými.
-
Na kartě Návrh klikněte na Zobrazení > Datový list.
-
Ověřte, že dotaz vrací záznamy, které chcete odstranit, a stisknutím kombinace kláves CTRL+S dotaz uložte.
-
Pokud chcete dotaz spustit, poklikejte na dotaz v navigačním podokně.
Použití aktualizačního dotazu
Poznámka: Možnost aktualizačního dotazu nemůžete použít ve webové aplikaci pro Access.
Tato část vysvětluje, jak pomocí aktualizačního dotazu odstranit jednotlivá pole z tabulek. Mějte na paměti, že spuštěním aktualizačního dotazu pro odstranění dat se stávající hodnoty změní na NULL nebo řetězec nulové délky (dvojice dvojitých uvozovek bez mezery mezi) v závislosti na zadaných kritériích.
-
Klikněte na kartu Vytvořit a ve skupině Dotazy klikněte na Návrh dotazu.
-
Vyberte tabulku obsahující data, která chcete odstranit (pokud je tabulka propojená, vyberte tabulku na straně "jedna" relace), klikněte na Přidat a potom klikněte na Zavřít.
Tabulka se zobrazí jako okno v horní části návrhové mřížky dotazu. V okně se zobrazí seznam všech polí ve vybrané tabulce.
-
Poklikáním na hvězdičku (*) přidáte všechna pole v tabulce do návrhové mřížky. Přidáním všech polí tabulky umožníte odstranění dotazu odebrat z tabulky celé záznamy (řádky).
Volitelně můžete zadat kritéria pro jedno nebo více polí v řádku Kritéria návrháře a pak zrušit zaškrtnutí políčka Zobrazit u každého pole kritérií. Další informace o použití kritérií najdete v tabulce Ukázková kritéria pro výběrové dotazy .
Poznámka: Pomocí kritérií vrátíte jenom záznamy, které chcete změnit. V opačném případě aktualizační dotaz nastaví každý záznam v každém poli dotazu na hodnotu NULL.
-
Na kartě Návrh klikněte ve skupině Výsledky na položku Zobrazení a potom na položku Zobrazení Datový list.
-
Ověřte, že dotaz vrací záznamy, které chcete nastavit na HODNOTU NULL nebo řetězec nulové délky (dvojice dvojitých uvozovek bez mezer mezi nimi ("").
-
Podle potřeby opakujte kroky 3 až 5 a změňte pole nebo kritéria, dokud dotaz nevrátí pouze data, která chcete odstranit, a pak dotaz uložte stisknutím kombinace kláves CTRL+S.
-
Pokud chcete dotaz spustit, poklikejte na dotaz v navigačním podokně.
Další informace
Úprava relace
Tento postup použijte pouze v případech, kdy potřebujete odstranit data na straně "jedna" a "N" relace.
-
Na kartě Databázové nástroje klikněte ve skupině Relace na Relace.
-
Klikněte pravým tlačítkem na relaci (čáru) spojující tabulky zahrnuté do operace odstranění a potom v místní nabídce klikněte na Příkaz Upravit relaci .
-
V dialogovém okně Upravit relace se ujistěte, že je zaškrtnuté políčko Vynutit referenční integritu .
-
Zaškrtněte políčko Kaskádové odstranění souvisejících záznamů .
Poznámka: Dokud tuto vlastnost znovu nevykážete, odstraněním záznamu na straně "jedna" relace se odstraní všechny související záznamy na straně N relace.
-
Klikněte na OK, zavřete podokno Relace a přejděte k další sadě kroků.
Odstranění relace
-
Pokud jste to ještě neudělali, otevřete podokno Relace .
-
Na kartě Databázové nástroje klikněte ve skupině Relace na Relace.
Poznamenejte si pole zahrnutá do relace, abyste po odstranění dat mohli relaci obnovit.
-
Klikněte pravým tlačítkem na relaci (čáru) spojující tabulky zahrnuté do operace odstranění a potom v místní nabídce klikněte na Odstranit .
Poznámka: Pokud chcete obnovit relaci, podle předchozích kroků otevřete podokno Relace a přetáhněte pole primárního klíče z tabulky "jedna" a přetáhněte ho na pole cizího klíče tabulky "N". Zobrazí se dialogové okno Upravit relaci . Pokud původní relace vynucuje referenční integritu, vyberte Vynutit referenční integritu a potom klikněte na Vytvořit. V opačném případě stačí kliknout na Vytvořit.
Ukázková kritéria pro výběrové dotazy
V následující tabulce jsou uvedena některá ukázková kritéria, která můžete použít ve výběrových dotazech, když chcete mít jistotu, že odstraníte jenom data, která chcete odstranit. Některé z těchto příkladů používají zástupné znaky.
Kritérium |
Vliv |
---|---|
> 234 |
Vrátí všechna čísla větší než 234. Chcete-li nalézt všechna čísla menší než 234, zadejte < 234. |
>= "Cajhen" |
Vrátí všechny záznamy od Novák až do konce abecedy. |
Between #2/2/2010# And #12/1/2010# |
Vrátí data od 2. února 2010 do 1. prosince 2010 (ANSI-89). Pokud vaše databáze používá zástupné znaky ANSI-92, použijte místo znamének libry (#) jednoduché uvozovky ('). Příklad: Between '2/2/2010' and '12/1/2010'. |
Not "Německo" |
Najde všechny záznamy, ve kterých obsah pole není přesně „Německo“. Toto kritérium vrátí i záznamy, které kromě textu „Německo“ obsahují ještě další znaky, například „Německo (euro)“ nebo „Evropa (Německo)“. |
Not "T*" |
Vyhledá všechny záznamy s výjimkou těch, které začínají písmenem T. Pokud se v databázi používá sada zástupných znaků ANSI-92, používejte místo hvězdičky (*) znak procenta (%). |
Not "*t" |
Vyhledá všechny záznamy, které nekončí písmenem t. Pokud se v databázi používá sada zástupných znaků ANSI-92, používejte místo hvězdičky (*) znak procenta (%). |
In(Kanada,VB) |
V seznamu vyhledá všechny záznamy obsahující slova Kanada nebo VB. |
Like "[A-D]*" |
V poli Text najde všechny záznamy, které začínají písmeny A až D. Pokud vaše databáze používá sadu zástupných znaků ANSI-92, použijte místo hvězdičky (*) znak procenta (%). |
Like "*ar*" |
Vyhledá všechny záznamy obsahující po sobě jdoucí písmena „ar“. Pokud se v databázi používá sada zástupných znaků ANSI-92, používejte místo hvězdičky (*) znak procenta (%). |
Like "Maison Dewe?" |
Vyhledá všechny záznamy začínající slovem Maison a obsahující druhý řetězec o délce pět písmen, jehož první čtyři písmena jsou Dewe a poslední písmeno je libovolné. Pokud se v databázi používá sada zástupných znaků ANSI-92, používejte místo otazníku (?) znak podtržítka (_). |
#2/2/2010# |
Najde všechny záznamy z 2. února 2010. Pokud vaše databáze používá sadu zástupných znaků ANSI-92, uzavřete datum do jednoduchých uvozovek místo znaků libry ('2.2.2010'). |
< Date() - 30 |
Použije funkci Date k vrácení všech dat starších než 30 dní. |
Date() |
Použije funkci Date k vrácení všech záznamů obsahujících aktuální datum. |
Between Date() And DateAdd("M"; 3; Date()) |
Pomocí funkcí Date a DateAdd vrátí všechny záznamy mezi aktuálním datem a třemi měsíci od dnešního data. |
Is Null |
Vrátí všechny záznamy obsahující hodnotu Null (prázdná nebo nedefinovaná hodnota). |
Is Not Null |
Vrátí všechny záznamy, které obsahují libovolnou hodnotu (které nemají hodnotu null). |
"" |
Vrátí všechny záznamy obsahující řetězec nulové délky. Řetězce nulové délky se používají, když potřebujete přidat hodnotu do požadovaného pole, ale ještě nevíte, jaká je skutečná hodnota. Pole může například vyžadovat faxové číslo, ale některý z vašich zákazníků možná nevlastní fax. V takovém případě místo zadání čísla zadáte dvojici dvojitých uvozovek bez mezery mezi nimi ("""). |
Tipy pro odstraňování potíží
Proč se zobrazuje tato chybová zpráva a jak je možné chybu opravit?
Pokud vytvoříte odstraňovací dotaz pomocí více tabulek a vlastnost Jedinečné záznamy dotazu je nastavena na Ne, Access zobrazí chybovou zprávu. Při spuštění dotazu nelze odstranit ze zadaných tabulek .
Tento problém vyřešíte nastavením vlastnosti Jedinečné záznamy dotazu na hodnotu Ano.
-
Otevřete odstraňovací dotaz v návrhovém zobrazení.
-
Pokud není zobrazen seznam vlastností dotazu, otevřete ho stisknutím klávesy F4.
-
Kliknutím na návrhář dotazů zobrazíte vlastnosti dotazu (a nikoli vlastnosti pole).
-
V seznamu vlastností dotazu vyhledejte vlastnost Jedinečné záznamy a nastavte ji na hodnotu Ano.
Ukončení blokování dotazů režimem vypnutí
Pokud ve výchozím nastavení otevřete desktopovou databázi, které jste se rozhodli nedůvěřovat nebo která se nenacházejí v důvěryhodném umístění, Access zablokuje spuštění všech akčních dotazů.
Není-li při pokusu o spuštění akčního dotazu provedena žádná akce, ověřte, zda není na stavovém řádku Accessu zobrazena následující zpráva:
Akce či událost byly blokovány režimem vypnutí.
Když se tato zpráva zobrazí, následujícím krokem povolte blokovaný obsah:
-
Na panelu zpráv upozornění zabezpečení klikněte na Povolit obsah a spusťte dotaz znovu.