Ak chcete v počítačovej databáze Accessu rýchlo odstrániť veľké množstvo údajov alebo pravidelne odstraňovať množinu údajov, môže byť užitočný odstraňovací alebo aktualizačný dotaz, pretože dotazy umožňujú zadať kritériá na rýchle vyhľadanie a odstránenie údajov. Použitie dotazu môže byť aj šetrier času, pretože uložený dotaz môžete znova použiť.
Poznámka: Pred odstránením akýchkoľvek údajov alebo spustením odstraňovacieho dotazu skontrolujte, či máte vytvorenú zálohu accessovej počítačovej databázy.
Ak chcete odstrániť len niekoľko záznamov, dotaz nepotrebujete. Stačí otvoriť tabuľku v údajovom zobrazení, vybrať polia (stĺpce) alebo záznamy (riadky), ktoré chcete odstrániť, a potom stlačiť kláves DELETE.
Dôležité: Informácie v tomto článku sú určené len na použitie s počítačovými databázami. Vo webových aplikáciách Accessu nie je možné použiť odstraňovací ani aktualizačný dotaz.
Obsah tohto článku
Výber typu dotazu
Na odstránenie údajov z databázy môžete použiť aktualizačný dotaz alebo odstraňovací dotaz. Vyberte dotaz na základe podrobností v nasledujúcej tabuľke:
Typ dotazu |
Použitie |
Výsledky |
---|---|---|
Použitie odstraňovacieho dotazu |
Odstránenie celých záznamov (riadkov) z tabuľky alebo z dvoch súvisiacich tabuliek súčasne. Poznámka: Ak sa záznamy nachádzajú na strane "one" vzťahu "one-to-many", pred spustením odstraňovacieho dotazu bude možno potrebné zmeniť vzťah. Pozrite si časť o odstraňovaní údajov zo súvisiacich tabuliek. |
Odstránenie dotazov odstráni všetky údaje v každom poli vrátane hodnoty kľúča, ktorá robí záznam jedinečným |
Použitie aktualizačného dotazu |
Odstránenie hodnôt jednotlivých polí z tabuľky. |
Zjednodušuje odstraňovanie hodnôt aktualizáciou existujúcich hodnôt na hodnotu null (teda bez údajov) alebo reťazec s nulovou dĺžkou (pár dvojitých úvodzoviek bez medzery medzi nimi). |
Čo treba overiť pred použitím dotazu na odstránenie akýchkoľvek údajov
-
Skontrolujte, či súbor nie je iba na čítanie:
-
Kliknite pravým tlačidlom myši na tlačidlo Štart a potom na položku Otvoriť Windows Prieskumníka.
-
Kliknite pravým tlačidlom myši na databázový súbor a kliknite na položku Vlastnosti.
-
Zistite, či je vybratý atribút iba na čítanie .
-
-
Overte, či máte potrebné povolenia na odstránenie záznamov z databázy. Ak si nie ste istí, obráťte sa na správcu systému alebo návrhára databázy.
-
Skontrolujte, či ste povolili obsah v databáze. Access predvolene blokuje všetky akčné dotazy (odstrániť, aktualizovať a vytvoriť tabuľkové dotazy), pokiaľ najprv nedôverujete databáze. Informácie o dôverovaní databáze nájdete v časti Zastavenie režimu vypnutia blokovania dotazu.
-
Požiadajte ostatných používateľov databázy, aby zavreli všetky tabuľky, formuláre, dotazy a zostavy, ktoré používajú údaje, ktoré chcete odstrániť. Vďaka tomu sa vyhnete porušeniam zámku.
-
Pred úpravou alebo odstránením záznamov je vhodné vytvoriť záložnú kópiu databázy pre prípad, že chcete zmeny vrátiť späť.
Tip: Ak sa k databáze pripája veľký počet používateľov, pravdepodobne bude potrebné zavrieť databázu a potom ju znova otvoriť vo výhradnom režime.
Otvorenie databázy vo výhradnom režime
-
Kliknite na kartu Súbor > Otvoriť.
-
Vyhľadajte databázu a ukážte na ňu, kliknite na šípku vedľa tlačidla Otvoriť a potom kliknite na položku Výhradný prístup.
Zálohovanie databázy
-
Kliknite na kartu Súbor a ukážte na položku Uložiť ako.
-
Kliknite na položku Uložiť databázu ako a potom na položku Zálohovať databázu. Program Access zatvorí pôvodný súbor, vytvorí záložnú kópiu a potom znova otvorí pôvodný súbor.
-
Kliknite na položku Uložiť ako , zadajte názov a umiestnenie záložnej kópie a kliknite na tlačidlo Uložiť.
Poznámka: Ak používate databázu určenú iba na čítanie alebo databázu vytvorenú v predchádzajúcej verzii Accessu, môže sa zobraziť hlásenie, že nie je možné vytvoriť zálohu databázy.
Ak sa chcete vrátiť k zálohe, zavrite a zmeňte názov pôvodného súboru, takže záložná kópia môže použiť názov pôvodnej verzie. Priraďte názov pôvodnej verzie záložnej kópii a v programe Access otvorte premenovanú záložnú kópiu.
Použitie odstraňovacieho dotazu
Ak chcete vytvoriť odstraňovací dotaz, kliknite na kartu Vytvoriť a v skupine Dotazy kliknite na položku Návrh dotazu. Dvakrát kliknite na každú tabuľku, z ktorej chcete odstrániť záznamy, a potom kliknite na tlačidlo Zavrieť.
Tabuľka sa zobrazí ako okno v hornej časti mriežky návrhu dotazu. V zozname polí dvakrát kliknite na hviezdičku (*) a pridajte všetky polia v tabuľke do mriežky návrhu.
Použitie konkrétnych kritérií v odstraňovacieho dotazu
Dôležité: Kritériá sa používajú na vrátenie iba záznamov, ktoré chcete odstrániť. V opačnom prípade odstraňovací dotaz odstráni každý záznam v tabuľke.
Dvakrát kliknite na pole, ktoré chcete zadať ako kritériá na odstránenie, zadajte jedno kritérium do riadka Kritériá návrhára dotazu a potom zrušte začiarknutie políčka Zobraziť pre každé pole kritérií.
Príklad použitia tejto možnosti: Predpokladajme, že chcete odstrániť všetky čakajúce objednávky zákazníka. Ak chcete nájsť iba tieto záznamy, pridajte polia ID zákazníka a Dátum objednávky do mriežky návrhu dotazu a potom zadáte identifikačné číslo zákazníka a dátum, kedy sa objednávky daného zákazníka stali neplatnými.
-
Na karte Návrh kliknite na položku Zobraziť > údajovom zobrazení.
-
Overte, či dotaz vráti záznamy, ktoré chcete odstrániť, a potom stlačením kombinácie klávesov CTRL + S dotaz uložte.
-
Ak chcete spustiť dotaz, dvakrát kliknite na dotaz na navigačnej table.
Použitie aktualizačného dotazu
Poznámka: Vo webovej aplikácii Accessu nie je možné použiť možnosť aktualizačného dotazu.
Táto časť vysvetľuje, ako použiť aktualizačný dotaz na odstránenie jednotlivých polí z tabuliek. Nezabudnite, že spustením aktualizačného dotazu na odstránenie údajov sa zmenia existujúce hodnoty na hodnotu NULL alebo reťazec s nulovou dĺžkou (pár dvojitých úvodzoviek bez medzery medzi nimi) v závislosti od zadaných kritérií.
-
Kliknite na kartu Vytvoriť a v skupine Dotazy kliknite na položku Návrh dotazu.
-
Vyberte tabuľku s údajmi, ktoré chcete odstrániť (ak tabuľka súvisí, vyberte tabuľku na strane "one" vzťahu), kliknite na tlačidlo Pridať a potom kliknite na tlačidlo Zavrieť.
Tabuľka sa zobrazí ako okno v hornej časti mriežky návrhu dotazu. Okno obsahuje zoznam všetkých polí vo vybratej tabuľke.
-
Dvojitým kliknutím na hviezdičku (*) pridajte všetky polia v tabuľke do mriežky návrhu. Pridanie všetkých polí tabuľky umožňuje odstraňovať dotaz na odstránenie celých záznamov (riadkov) z tabuľky.
Voliteľne môžete zadať kritériá jedného alebo viacerých polí do riadka Kritériá návrhára a potom zrušiť začiarknutie políčka Zobraziť pre každé pole kritérií. Ďalšie informácie o používaní kritérií nájdete v časti Vzorové kritériá pre tabuľku výberových dotazov .
Poznámka: Kritériá sa používajú na vrátenie iba záznamov, ktoré chcete zmeniť. V opačnom prípade sa aktualizačný dotaz nastaví na hodnotu NULL každý záznam v každom z polí v dotaze.
-
Prejdite na kartu Návrh a v skupine Výsledky kliknite na položku Zobraziť a potom na položku Údajové zobrazenie.
-
Overte, či dotaz vráti záznamy, ktoré chcete nastaviť na hodnotu NULL alebo reťazec s nulovou dĺžkou (pár dvojitých úvodzoviek bez medzery medzi nimi ("").
-
Podľa potreby zopakujte kroky 3 až 5 a zmeňte polia alebo kritériá, kým dotaz nevráti iba údaje, ktoré chcete odstrániť, a potom stlačením kombinácie klávesov CTRL + S dotaz uložte.
-
Ak chcete spustiť dotaz, dvakrát kliknite na dotaz na navigačnej table.
Ďalšie informácie
Úprava vzťahu
Postupujte podľa týchto krokov len vtedy, keď potrebujete odstrániť údaje na stranách vzťahu "one" a "many".
-
Na karteDatabázové nástroje v skupine Vzťahy kliknite na položku Vzťahy.
-
Kliknite pravým tlačidlom myši na vzťah (čiaru), ktorý spája tabuľky zapojené do operácie odstraňovania, a potom v kontextovej ponuke kliknite na položku Upraviť vzťah .
-
V dialógovom okne Úprava vzťahov skontrolujte, či je začiarknuté políčko Zabezpečiť referenčnú integritu .
-
Začiarknite políčko Kaskádové odstránenie súvisiacich záznamov .
Poznámka: Kým túto vlastnosť znova nevypnete, odstránením záznamu na strane "one" vzťahu sa odstránia všetky súvisiace záznamy na strane "many" vzťahu.
-
Kliknite na tlačidlo OK, zavrite tablu Vzťahy a prejdite na ďalšiu množinu krokov.
Odstránenie vzťahu
-
Ak ste tak ešte neurobili, otvorte tablu Vzťahy .
-
Na karteDatabázové nástroje v skupine Vzťahy kliknite na položku Vzťahy.
Poznačte si polia, ktoré sú súčasťou vzťahu, aby ste mohli vzťah obnoviť po odstránení údajov.
-
Kliknite pravým tlačidlom myši na vzťah (čiaru), ktorý spája tabuľky zapojené do operácie odstraňovania, a potom v kontextovej ponuke kliknite na položku Odstrániť .
Poznámka: Ak chcete vzťah obnoviť, podľa predchádzajúcich krokov otvorte tablu Vzťahy a potom presuňte pole hlavného kľúča z tabuľky "one" do poľa cudzieho kľúča tabuľky "many". Zobrazí sa dialógové okno Úprava vzťahu . Ak starý vzťah vynútil referenčnú integritu, vyberte možnosť Zabezpečiť referenčnú integritu a potom kliknite na tlačidlo Vytvoriť. V opačnom prípade stačí kliknúť na tlačidlo Vytvoriť.
Vzorové kritériá pre výberové dotazy
V nasledujúcej tabuľke sú uvedené niektoré vzorové kritériá, ktoré môžete použiť vo výberových dotazoch, keď sa chcete uistiť, že odstránite iba údaje, ktoré chcete odstrániť. Niektoré z týchto príkladov používajú zástupné znaky.
Kritériá |
Vplyv |
---|---|
> 234 |
Vráti všetky čísla väčšie ako 234. Ak chcete nájsť všetky čísla menšie ako 234, použite kritérium < 234. |
>= "Cajhen" |
Vráti všetky záznamy od položky Cajhen po koniec abecedy. |
Between #2.2.2010# And #12.12.2010# |
Vráti dátumy od 2. februára 2010 do 1. decembra 2010 (ANSI-89). Ak databáza používa zástupné znaky ANSI-92, použite jednoduché úvodzovky (') namiesto znaku mriežky (#). Príklad: Between '2/2/2010' And '12/1/2010'. |
Not "Nemecko" |
Vyhľadá všetky záznamy poľa, ktoré neobsahujú presne hodnotu Nemecko. Kritérium vráti záznamy, ktoré okrem reťazca Nemecko obsahujú aj ďalšie znaky, ako napríklad záznam "Nemecko (euro)" alebo záznam "Európa (Nemecko)". |
Not "T*" |
Vyhľadá všetky záznamy, ktoré nezačínajú na písmeno „T“. Ak sa v databáze používa skupina zástupných znakov ANSI-92, použite namiesto hviezdičky (*) znak percenta (%) . |
Not "*t" |
Vyhľadá všetky záznamy, ktoré sa nekončia písmenom „t“. Ak databáza používa množinu zástupných znakov ANSI-92, namiesto hviezdičky (*) použite znak percenta (%). |
In(Kanada,UK) |
Vyhľadá v zozname všetky záznamy obsahujúce slovo Kanada alebo Spojené kráľovstvo. |
Like [A-D]* |
V poli Text vyhľadá všetky záznamy, ktoré sa začínajú písmenami A až D. Ak databáza používa množinu zástupných znakov ANSI-92, namiesto hviezdičky (*) použite znak percenta (%). |
Like "*ar*" |
Vyhľadá všetky záznamy, ktoré obsahujú skupinu znakov „ar“. Ak databáza používa množinu zástupných znakov ANSI-92, namiesto hviezdičky (*) použite znak percenta (%). |
Like "Maison Dewe?" |
Vyhľadá všetky záznamy, ktoré začínajú slovom „Maison“ a obsahujú druhý reťazec pozostávajúci z piatich písmen, z ktorých prvé štyri písmená sú „Dewe“ a posledné písmeno je neznáme. Ak databáza používa množinu zástupných znakov ANSI-92, namiesto otáznika (?) použite podčiarknutie (_). |
#2/2/2010# |
Vyhľadá všetky záznamy pre 2. február 2010. Ak databáza používa množinu zástupných znakov ANSI-92, obklopte dátum jednoduchými úvodzovkami namiesto znaku mriežky (2. 2. 2010). |
< Date() - 30 |
Používa funkciu Date na vrátenie všetkých dátumov starších ako 30 dní. |
Date() |
Používa funkciu Date na vrátenie všetkých záznamov s dnešným dátumom. |
Between Date() And DateAdd("M"; 3; Date()) |
Používa funkcie Date a DateAdd na vrátenie všetkých záznamov medzi dnešným dátumom a tromi mesiacmi od dnešného dátumu. |
Is Null |
Vráti všetky záznamy obsahujúce nezadanú (prázdnu alebo nedefinovanú) hodnotu. |
Is Not Null |
Vráti všetky záznamy, ktoré obsahujú ľubovoľnú hodnotu (ktoré nemajú hodnotu null). |
"" |
Vráti všetky záznamy, ktoré obsahujú reťazec s nulovou dĺžkou. Reťazce s nulovou dĺžkou sa používajú vtedy, keď potrebujete pridať hodnotu do povinného poľa, ale zatiaľ neviete, aká je skutočná hodnota. Môže sa napríklad stať, že povinné pole požaduje číslo faxu zákazníka, ale niektorí zákazníci ešte nemajú fax. V takom prípade namiesto zadania čísla zadajte dvojitú úvodzovku bez medzery (""). |
Tipy na riešenie problémov
Prečo sa zobrazuje toto chybové hlásenie a ako je možné tento problém odstrániť?
Ak vytvoríte odstraňovací dotaz pomocou viacerých tabuliek a vlastnosť jedinečných záznamov dotazu je nastavená na hodnotu Nie, Access zobrazí chybové hlásenie. Pri spustení dotazu sa nepodarilo odstrániť zo zadaných tabuliek .
Tento problém odstránite nastavením vlastnosti dotazu Jedinečné záznamy na hodnotu Áno.
-
Otvorte odstraňovací dotaz v návrhovom zobrazení.
-
Ak hárok vlastností nie je otvorený, otvorte ho stlačením klávesu F4.
-
Kliknutím na návrhára dotazu zobrazte vlastnosti dotazu (a nie vlastnosti poľa).
-
V hárku vlastností dotazu vyhľadajte vlastnosť Jedinečné záznamy a nastavte ju na hodnotu Áno.
Ukončenie režimu vypnutia blokujúceho dotaz
Ak predvolene otvoríte počítačovú databázu, ktorej nedôverujete alebo ktorá sa nenachádza v dôveryhodnom umiestnení, Access zablokuje spustenie všetkých akčných dotazov.
Ak sa pokúšate spustiť akčný dotaz a zdá sa, že sa nevykonala žiadna akcia, skontrolujte stavový riadok programu Access, či sa nezobrazuje nasledovné hlásenie:
Akcia alebo udalosť boli blokované režimom vypnutia.
Keď sa zobrazí toto hlásenie, povoľte zablokovaný obsah vykonaním nasledujúceho kroku:
-
Na paneli hlásení s upozornením zabezpečenia kliknite na položku Povoliť obsah a spustite dotaz znova.