Vytvoření a spuštění odstraňovacího dotazu

Vytvoření a spuštění odstraňovacího dotazu

Pokud chcete rychle odstranit velké množství dat nebo odstranit sadu dat v desktopové databázi Accessu, může být užitečný odstraňovací dotaz, protože dotazy umožňují určit kritéria pro rychlé vyhledání a odstranění dat. Pomocí dotazu může být také timesaver, protože můžete znovu použít uložený dotaz.

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 pár záznamů, nemusíte mít 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čené jenom pro desktopové databáze. Ve webových aplikacích pro Access nelze používat odstraňovací nebo aktualizační dotazy.

V tomto článku

Výběr typu dotazu

K odstranění dat z databáze můžete použít 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 jsou záznamy na straně "1" v relaci typu 1: n, možná budete muset změnit relaci před spuštěním odstraňovacího dotazu. Přečtěte si část odstraňování dat ze souvisejících tabulek.

Odstranění dotazů odebrání všech dat z každého pole, včetně hodnoty klíče, která představuje jedinečný záznam

Použití aktualizačního dotazu

Odstranění hodnot jednotlivých polí z tabulky

Usnadňuje odstranění hodnot pomocí aktualizace stávajících hodnot buď hodnoty null (to znamená data) nebo řetězce nulové délky (dvojice uvozovek bez mezery mezi nimi).

Začátek stránky

Co je potřeba ověřit před použitím dotazu k odstranění dat

  • Zkontrolujte, že soubor není jen pro čtení:

    1. Klikněte pravým tlačítkem myši na Start a potom klikněte na otevřít Průzkumníka Windows.

    2. Klikněte pravým tlačítkem na soubor databáze a klikněte na vlastnosti.

    3. Podívejte se, jestli je vybraný atribut jen pro čtení .

  • Ověřte, jestli 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 návrháře databáze.

  • Zkontrolujte, jestli máte v databázi povolený obsah. Access ve výchozím nastavení blokuje všechny akční dotazy (odstraňovací, aktualizační a Vytvářecí dotazy), pokud databázi nepovažujete za důvěryhodnou. Informace o důvěřování databázi najdete v části zastavení dotazu v režimu vypnutí.

  • 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. Tím se zabrání narušení zámku.

  • Před úpravami nebo odstraňováním záznamů je vhodné vytvořit záložní kopii databáze pro případ, že byste chtěli změny změnit.

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

  1. Klikněte na kartu soubor > otevřít.

  2. Přejděte na možnost vybrat databázi a přejít na ni, klikněte na šipku vedle tlačítka otevřít a potom klikněte na výhradní přístup.

    Otevření souboru ve výhradním režimu

Zálohování databáze

  1. Klikněte na kartu soubor , přejděte na Uložit jako.

  2. Klikněte na Uložit databázi jako, klikněte na zálohovat databázi. Access zavře původní soubor, vytvoří jeho záložní kopii a znovu otevře původní soubor.

  3. Klikněte na Uložit jako a zadejte název a umístění záložní kopie a klikněte na Uložit.

Poznámka:  Pokud používáte jen pro čtení nebo databázi vytvořenou v předchozí verzi Accessu, může se zobrazit zpráva, že nelze 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 kartě Vytvoření ve skupině dotazy na Návrh dotazu. V dialogovém okně Zobrazit tabulku 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řidáte do návrhové mřížky všechna pole v tabulce.

Použití určitých kritérií v odstraňovacím dotazu

Důležité informace: Pomocí kritérií můžete vracet pouze 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 určit jako kritérium pro odstranění, zadejte jedno z kritérií do řádku kritéria v Návrháři dotazu a zrušte zaškrtnutí políčka Zobrazit u každého pole kritérií.

Příklad použití této možnosti: Předpokládejme, že chcete odebrat všechny nevyřízené objednávky zákazníka. Pokud chcete najít jenom tyto záznamy, přidáte do návrhové mřížky dotazu pole ID zákazníka a datum objednávky a pak zadáte identifikační číslo zákazníka a datum, kdy objednávky zákazníka byly neplatné.

  1. Na kartě Návrh klikněte na Zobrazení > Datový list.

  2. Ověřte, zda dotaz vrací záznamy, které chcete odstranit, a stisknutím kombinace kláves CTRL + S dotaz uložte.

  3. Dotaz spustíte Poklikáním na dotaz v navigačním podokně.

Začátek stránky

Použití aktualizačního dotazu

Poznámka:  Ve webové aplikaci pro Access nemůžete použít možnost aktualizační dotaz.

V této části se dozvíte, jak pomocí aktualizačního dotazu odstranit jednotlivá pole z tabulek. Uvědomte si, že při použití aktualizačního dotazu k odstranění dat dojde ke změně existujících hodnot na hodnotu NULL nebo k řetězci nulové délky (dvojice uvozovek bez mezery mezi nimi) podle zadaných kritérií.

  1. Klikněte na kartu Vytvoření a ve skupině dotazy klikněte na Návrh dotazu.

  2. Vyberte tabulku obsahující data, která chcete odstranit (Pokud tabulka souvisí, vyberte tabulku na straně 1 relace), klikněte na Přidata potom klikněte na Zavřít.

    Tabulka se zobrazí jako okno v horní části návrhové mřížky dotazu. V okně jsou uvedena všechna pole ve vybrané tabulce.

  3. Poklikáním na hvězdičku (*) přidáte do návrhové mřížky všechna pole v tabulce. Přidáním všech polí tabulky povolíte odstraňovacímu dotazu odebrat z tabulky celé záznamy (řádky).

    Do řádku kritéria v Návrháři můžete zadat kritéria pro jedno nebo více polí a potom zaškrtnutí políčka Zobrazit u každého pole kritérií zrušte. Další informace o používání kritérií najdete v tématu Vzorová kritéria pro tabulku výběr dotazů .

    Poznámka:  Kritéria slouží k vrácení pouze těch záznamů, které chcete změnit. V opačném případě aktualizační dotaz nastaví na hodnotu NULL všech záznamů ve všech polích dotazu.

  4. Na kartě Návrh klikněte ve skupině Výsledky na položku Zobrazení a potom na položku Zobrazení Datový list.

  5. Ověřte, že dotaz vrací záznamy, které chcete nastavit na hodnotu NULL, nebo řetězec nulové délky (dvojice uvozovek bez mezery mezi nimi ("").

  6. Podle potřeby opakujte kroky 3 až 5 a změňte pole nebo kritéria, dokud dotaz nevrátí jenom data, která chcete odstranit, a pak stisknutím CTRL + S dotaz uložte.

  7. Dotaz spustíte Poklikáním na dotaz v navigačním podokně.

Začátek stránky

Další informace

Odstranění dat ze souvisejících tabulek

Pokud chcete odstranit data z několika souvisejících tabulek , je nutné povolit možnost pro každou relaci odstranit možnosti souvisejících záznamů a Kaskádové odstraňování . To umožní dotazu odstranit data z tabulek na stranách "1" a "n" relace. Příprava na odstranění souvisejících dat vyžaduje ověření těchto věcí:

  • Určete, které záznamy jsou na straně "1" relace a které se nacházejí na straně n.

  • Pokud potřebujete odstranit záznamy na straně 1 relace a související záznamy na straně n, povolte sadu pravidel s názvem referenční integritu a povolíte odstranění souvisejících položek. Postup v této části vysvětluje referenční integritu a způsob provádění obou úkolů.

  • Pokud potřebujete odstranit záznamy pouze na straně 1 relace, nejprve tuto relaci odstraňte a potom data odstraňte.

Pokud potřebujete odebrat data jenom na straně n relace, můžete vytvořit a spustit odstraňovací dotaz, aniž byste museli měnit vztah.

Pokud chcete zjistit, které záznamy jsou na stranách relace "1" a "n", klikněte na kartě databázové nástroje ve skupině relace na relace. Karta relace zobrazuje tabulky v databázi a relace. Každá relace je znázorněna jako čára spojující tabulky mezi poli.

Následující obrázek znázorňuje typickou relaci. Většina relací v databázi má většinu, a je na ní na straně n. Diagram relace označuje stranu "1" se číslicí jedna (1) a na straně "n" se symbolem nekonečno ().

Relace mezi dvěma tabulkami

Když odstraníte záznamy na straně 1 relace, odstraní se taky všechny související záznamy na straně n relace. Když ale odstraníte záznamy na straně n relace, obvykle neodstraníte záznamy na straně "1".

Access taky automaticky vynutí sadu pravidel s názvem referenční integrita. Tato pravidla zajistí, aby cizí klíče v databázi obsahovaly správné hodnoty. Cizí klíč je sloupec, jehož hodnoty odpovídají hodnotám ve sloupci primárního klíče jiné tabulky.

Úprava relace

Tento postup použijte jenom v případě, že potřebujete odstranit data na stranách "1" a "n" relace.

  1. Na kartě Databázové nástroje klikněte ve skupině Relace na Relace.

  2. Klikněte pravým tlačítkem na relaci (čáru) spojující tabulky zahrnuté v operaci odstranění a pak v místní nabídce klikněte na Upravit relaci .

  3. V dialogovém okně Upravit relace zaškrtněte políčko zajistit referenční integritu .

  4. Zaškrtněte políčko odstranění souvisejících polí v kaskádě .

    Poznámka:  Dokud tuto vlastnost znovu nezakážete, odstraněním záznamu na straně 1 relace odstraníte všechny související záznamy na straně n relace.

  5. Klikněte na OK, zavřete podokno relace a potom přejděte k dalšímu postupu.

Odstranění relace

  1. Pokud jste to ještě neudělali, otevřete podokno relace .

  2. Na kartě Databázové nástroje klikněte ve skupině Relace na Relace.

    Poznamenejte si pole zahrnutá v relaci, abyste po odstranění dat mohli relaci obnovit.

  3. Klikněte pravým tlačítkem na relaci (čáru) spojující tabulky zahrnuté v operaci odstraňování a v místní nabídce klikněte na Odstranit .

Poznámka:  Pokud chcete relaci obnovit, postupujte podle předchozích kroků a pak přetáhněte Relationships pole primárního klíče z tabulky "1" a umístěte ho do pole cizího klíče tabulky "n". Zobrazí se dialogové okno Upravit relaci . Pokud stará relace uplatňuje referenční integritu, vyberte vynutit referenční integritua klikněte na vytvořit. Jinak stačí kliknout na vytvořit.

Začátek stránky

Vzorová 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 v 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.

>= "Novák"

Vrátí všechny záznamy od Novák až do konce abecedy.

Between #2/2/2010 # and #12/1/2010 #

Vrátí kalendářní data od 2.2010 února do 2010 (ANSI-89). Pokud vaše databáze používá zástupné znaky ANSI-92, místo písmen křížek (#) Používejte apostrofy ('). 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 textovém poli najde všechny záznamy, které začínají písmeny A až D. Pokud vaše databáze používá zástupný znak ANSI-92, použijte znak procent (%) místo hvězdičky (*).

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 února 2010. Pokud vaše databáze používá sadu zástupných znaků ANSI-92, uzavřete datum pomocí jednoduchých uvozovek namísto křížových znaků (' 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())

Použije funkce Date a DateAdd k vrácení všech záznamů 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 obsahující libovolnou hodnotu (hodnoty NOT 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 nevíte, co 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ě zadejte místo čísla dvojici uvozovek bez mezery ("").

Začátek stránky

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 nastavená na ne, zobrazí se chybová zpráva. Při spuštění dotazu nebylo možné odstranit ze zadaných tabulek .

Tento problém vyřešíte nastavením vlastnosti Jedinečné záznamy dotazu na hodnotu Ano.

  1. Otevřete odstraňovací dotaz v návrhovém zobrazení.

  2. Pokud není zobrazen seznam vlastností dotazu, otevřete ho stisknutím klávesy F4.

  3. Kliknutím na návrhář dotazů zobrazíte vlastnosti dotazu (a nikoli vlastnosti pole).

  4. 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 otevřete desktopovou databázi, kterou jste neoznačili jako důvěryhodnou nebo která se nenachází v důvěryhodném umístění, aplikace Access všechny akční dotazy zablokuje ve výchozím nastavení.

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 zobrazí tato zpráva, povolte blokovaný obsah následujícím krokem:

  • Na panelu zpráv s upozorněním na zabezpečení klikněte na Povolit obsaha spusťte dotaz znovu.

Začátek stránky

Poznámka:  Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát vědět, jestli vám informace pomohly? Pokud chcete, můžete se podívat na anglickou verzi článku.

Potřebujete další pomoc?

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×