Vytvoření a spuštění aktualizačního dotazu

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Aktualizační dotazy v databázích Accessu se používají k přidání, změně nebo odstranění informací v existujícím záznamu. Aktualizační dotaz si můžete představit jako účinnou variantu dialogového okna Najít a nahradit. Aktualizační dotaz nejde použít k přidání nových záznamů do databáze ani k odstranění záznamů z databáze.

K přidání nových záznamů do databáze se používá přidávací dotaz a k odstranění celých záznamů z databáze slouží odstraňovací dotaz.

V tomto článku

Přehled

Následující výčet uvádí podobnosti a rozdíly mezi funkcí Najít a nahradit a aktualizačním dotazem:

Aktualizační dotaz, podobně jako dialogové okno Najít a nahradit, umožňuje určit, která hodnota se má nahradit a jaká bude nová hodnota.

Na rozdíl od dialogového okna Najít a nahradit aktualizační dotaz umožňuje:

  • Použít kritéria nezávislá na hodnotě, kterou chcete nahradit
  • Aktualizovat mnoho záznamů v jednom průchodu
  • Změnit současně záznamy ve více než jedné tabulce

Omezení polí, jež lze aktualizovat

Aktualizační dotaz nelze použít k aktualizaci dat v následujících typech polí:

  • Počítaná pole Hodnoty v počítaných polích se trvale nenacházejí v tabulkách. Po výpočtu v Accessu se uchovávají jenom v dočasné paměti počítače. Počítaná pole nejsou uložená v trvalém úložišti, takže se nedají aktualizovat.

  • Pole ze souhrnného dotazu nebo křížového dotazu: Hodnoty v těchto typech polí jsou počítané, a proto je nelze aktualizovat aktualizačním dotazem.

  • Pole typu Automatické číslo: Hodnoty v polích typu Automatické číslo se mění jenom při přidání záznamu do tabulky.

  • Pole v dotazech unique-values a unique-records Hodnoty v těchto dotazech jsou shrnuté. Některé z hodnot představují jediný záznam, zatímco jiné představují více než jeden záznam. Operace aktualizace není možná, protože nelze určit, které záznamy byly vyloučeny jako duplicitní, a proto nelze aktualizovat všechny potřebné záznamy. Toto omezení neplatí jen pro aktualizační dotazy, ale i v případě, že byste se pokusili aktualizovat data ručně zadáváním hodnot ve formuláři nebo datovém listu.

  • Pole ve sjednocovacím dotazu Data z polí ve sjednocovacím dotazu nelze aktualizovat, protože každý záznam zobrazený ve dvou nebo více zdrojích dat se ve výsledku sjednocovacího dotazu zobrazí pouze jednou. Některé duplicitní záznamy jsou z výsledků odebrány, a proto Access nemůže aktualizovat všechny potřebné záznamy.

  • Pole sloužící jako primární klíče: V některých případech, například pokud je pole primárního klíče použito v relaci tabulek, nelze toto pole aktualizovat pomocí dotazu, jestliže nejprve nenastavíte relaci tak, aby byly automaticky kaskádově šířeny aktualizace.

    Poznámka

    Při použití kaskádových aktualizací bude Access při změně hodnot primárních klíčů v nadřazené tabulce automaticky aktualizovat hodnoty cizího klíče.

Začátek stránky

Použití aktualizačního dotazu

Doporučený postup pro vytvoření aktualizačního dotazu spočívá v tom, že nejprve vytvoříte výběrový dotaz identifikující záznamy, které chcete aktualizovat, a následně převedete tento dotaz na aktualizační dotaz, jehož spuštěním lze aktualizovat záznamy. Když nejprve vyberete data, můžete ověřit, že aktualizujete požadované záznamy, než skutečně změníte nějaká data.

Tip:

Před spuštěním aktualizačního dotazu proveďte zálohování databáze. Změny provedené aktualizační dotazem nelze vzít zpět, takže vytvořením zálohy zajistíte, aby bylo možné se v případě potřeby vrátit do výchozího stavu.

Postup zálohování databáze

  1. Klikněte na kartu Soubor a pak zvolte Uložit jako.
  2. Na pravé straně v části Upřesnit vyberte Zálohovat databázi.
  3. V dialogovém okně Uložit zálohu jako zadejte název a umístění záložní kopie a pak zvolte Uložit.
    Access zavře původní soubor, vytvoří jeho záložní kopii a znovu otevře původní soubor.
    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 potom otevřete přejmenovanou záložní kopii v Accessu.

V tomto oddílu

Krok 1: Vytvoření výběrového dotazu identifikujícího záznamy, které chcete aktualizovat

  1. Otevřete databázi obsahující záznamy, které chcete aktualizovat.

  2. Na kartě Vytvoření ve skupině Dotazy zvolte Návrh dotazu.

  3. Vyberte kartu Tabulky .

  4. Vyberte tabulku nebo tabulky obsahující záznamy, které chcete aktualizovat, vyberte Přidat a pak zvolte Zavřít.
    Tabulka nebo tabulky se zobrazí jako jedno nebo více oken v návrháři dotazu a tato okna obsahují všechna pole jednotlivých tabulek. Na tomto obrázku je znázorněn návrhář dotazu s typickou tabulkou.
    Tabulka v návrháři dotazů
    Tabulka zobrazená v návrháři dotazů
    Mřížka návrhu dotazu

  5. V oknech s tabulkami poklikejte na pole, která chcete aktualizovat. Vybraná pole se zobrazí v návrhové mřížce dotazu v řádku Pole.
    V návrhové mřížce dotazu lze přidat jedno pole tabulky do každého sloupce.
    Chcete-li rychle přidat všechna pole v tabulce, poklikejte v okně tabulky na hvězdičku (*) v horní části seznamu polí. Na tomto obrázku je znázorněna návrhová mřížka dotazu se všemi přidanými poli.
    Dotaz se všemi přidanými poli tabulky

  6. Chcete-li omezit výsledky dotazu na základě hodnot polí, zadejte do pole Kritéria v návrhové mřížce dotazu kritéria, jejichž pomocí chcete omezit výsledky.
    Tabulka s příklady kritérií
    Následující tabulka uvádí příklady kritérií a vysvětluje jejich vliv na výsledky dotazu.

    Poznámka

    V mnoha příkladech v této tabulce jsou použity zástupné znaky, které umožní dosažení vyšší flexibility nebo výkonu dotazu.

    Kritéria: Vliv
    >234 Vrátí všechna čísla větší než 234. Pokud chcete najít všechna čísla menší než 234, použijte < 234.
    >="Cajhen" Vrátí všechny záznamy od Novák až do konce abecedy.
    Between #2.2.2020# And #1.12.2020# Vrátí data od 2. února do 17. prosince 17 (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: Mezi '2.2.2020' a '1.12.2020' .
    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*" Najde všechny záznamy s výjimkou těch, které začínají na T. Pokud vaše databáze používá sadu zástupných znaků ANSI-92, použijte 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 vyhledá všechny záznamy začínající na písmena A až D. Pokud se v databázi používá sada zástupných znaků ANSI-92, používejte 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?" Najde 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 vaše databáze používá sadu zástupných znaků ANSI-92, použijte místo otazníku (?) podtržítko (_).
    #2/2/2020# Najde všechny záznamy z 2. února 2020. 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 (#); například ('2/2/2020').
    < Datum() – 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ů obsahujících datum mezi aktuálním datem a datem za tři měsíce.
    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í nějakou hodnotu.
    "" Vrátí všechny záznamy obsahující řetězec nulové délky. Řetězec nulové délky použijte, chcete-li přidat hodnotu do požadovaného pole, ale ještě nevíte, o jakou hodnotu se jedná. 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 faxového čísla dvojici uvozovek bez mezery mezi nimi ("").
  7. Na kartě Návrh dotazu ve skupině Výsledky zvolte Spustit.

  8. Ověřte, zda dotaz vrací záznamy, které chcete aktualizovat.

  9. Chcete-li odebrat pole, která nechcete zahrnout do návrhu dotazu, vyberte je a stiskněte klávesu DELETE.

  10. Chcete-li přidat pole, která chcete zahrnout do návrhu dotazu, přetáhněte další pole do návrhové mřížky dotazu.

Krok 2: Aktualizace záznamů

  1. Na kartě Návrh dotazu ve skupině Typ dotazu vyberte Aktualizovat.
    Tento postup ukazuje, jak změnit výběrový dotaz na aktualizační dotaz. Když to uděláte, Access přidá do návrhové mřížky dotazu řádek Aktualizovat do . Následující obrázek ukazuje aktualizační dotaz, který vrátí všechny prostředky zakoupené po 5. lednu 2005 a změní umístění na Sklad 3 pro všechny záznamy, které splňují toto kritérium.
    Aktualizační dotaz s jediným kritériem aktualizace

  2. Vyhledejte pole obsahující data, která chcete změnit, a na řádek Aktualizovat do pro dané pole zadejte výraz (kritéria změny).
    Na řádku Aktualizovat do můžete použít libovolný platný výraz.
    Tabulka s příklady výrazů
    Následující tabulka uvádí příklady výrazů a příslušných změn dat.

    Výraz Výsledek
    "Prodejce" V poli Krátký text změní textovou hodnotu na Prodejce.
    #8/10/20# V poli Datum a čas změní hodnotu data na 10-20.00.20.
    Ano V poli typu Ano/Ne změní hodnotu Ne na hodnotu Ano.
    "ČD" & [ČísloDílu] Přidá na začátek každého určeného čísla dílu text „ČD".
    [JednotkováCena] * [Množství] Vrátí součin hodnot v polích JednotkováCena a Množství.
    [Dopravné] * 1,5 Zvýší hodnotu v poli Dopravné o 50 procent.
    DSum("[Množství] * [Cena za jednotku]";
    "Podrobnosti objednávky", "[ID produktu]=" & [ID produktu])
    U záznamů, jejichž hodnota KódVýrobku v aktuální tabulce odpovídá hodnotě KódVýrobku v tabulce Rozpis objednávek, tento výraz aktualizuje celkový prodej vynásobením hodnoty v poli Množství hodnotou v poli JednotkováCena. Výraz používá funkci DSum, protože tato funkce umožňuje práci s více tabulkami a poli tabulek.
    Right([PSČPříjemce]; 5) Zkrátí textový nebo číselný řetězec o znaky umístěné vlevo a ponechá 5 znaků umístěných nejvíce vpravo.
    IIf(IsNull([JednotkováCena]); 0; [JednotkováCena]) Změní hodnotu Null (neznámou nebo nedefinovanou hodnotu) v poli JednotkováCena na hodnotu nula (0).
  3. Na kartě Návrh dotazu ve skupině Výsledky vyberte Spustit.
    Zobrazí se upozornění.

  4. Pokud chcete spustit dotaz a aktualizovat data, zvolte Ano.

    Poznámka

    Po spuštění dotazu mohou některá pole v sadě výsledků chybět. Pokud dotaz obsahuje pole, která nejsou aktualizována, nebudou tato pole ve výchozím nastavení ve výsledcích zobrazena. Dotaz může například obsahovat pole identifikátorů ze dvou tabulek, která pomohou zajistit, aby dotaz identifikoval a aktualizoval správné záznamy. Pokud tato pole neaktualizujete, nebudou ve výsledcích zobrazena.

Začátek stránky

Aktualizace dat jedné tabulky daty z jiné tabulky

Potřebujete-li aktualizovat data jedné tabulky daty z jiné tabulky, mějte na paměti následující pravidlo: Datové typy zdrojových a cílových polí se musí shodovat nebo být kompatibilní.

Aktualizujete-li data v jedné tabulce daty z jiné tabulky a místo shodných datových typů použijete kompatibilní datové typy, Access převede datové typy těchto polí v cílové tabulce. Důsledkem toho mohou být některá data v cílových polích zkrácena (odstraněna). V části Omezení při převodech datových typů jsou popsány povolené a zakázané způsoby převodu datových typů. V tabulce je rovněž vysvětleno, kdy převod datového typu může změnit nebo odstranit část dat nebo veškerá data v poli a která data pravděpodobně budou odstraněna.

Proces aktualizace dat jedné tabulky daty z jiné tabulky se skládá z následujících obecných kroků:

  1. Vytvořte aktualizační dotaz a přidejte do něj zdrojovou a cílovou tabulku.
  2. Propojte tyto tabulky pomocí polí obsahujících související informace.
  3. Přidejte názvy cílových polí v návrhové mřížce dotazu na řádek Pole.
  4. Přidejte názvy zdrojových polí do řádku Aktualizovat do návrhové mřížky dotazu pomocí následující syntaxe: [source_table]. [source_field].

Postup v této části předpokládá použití dvou podobných tabulek. V tomto příkladu tabulka Klienti, jež je umístěna v databázi, kterou jste právě převzali, obsahuje aktuálnější data než tabulka Zákazníci. Změnily se některé jména a adresy manažerů. Proto jste se rozhodli tabulku Zákazníci aktualizovat daty z tabulky Klienti.

Tabulka Klienti

Kód klienta Název Adresa Město Stát/kraj PSČ Země Telefon Kontakt
1 Baldwin Museum of Science 1 Main St. New York NY 12345 USA (505) 555-2122 Josh Barnhill
2 Aerolinky Blue Yonder 52 1st St. Boston MA 23456 USA (104) 555-2123 Waleed Heloo
3 Coho Winery 3122 75th Ave. S.W. Seattle WA 34567 USA (206) 555-2124 Pica Guido
4 Contoso Pharmaceuticals 1 Contoso Blvd. Londýn Bucks NS1 EW2 Velká Británie (171) 555-2125 Zoltan Harmuth
5 Fourth Coffee Calle Smith 2 Mexico City 56789 Mexiko (7) 555-2126 Julian Price
6 Consolidated Messenger 3123 75th St. S. Seattle WA 34567 USA (206) 555-2125 Miles Reid
7 Graphic Design Institute 1587 Office Pkwy Tampa FL 87654 USA (916) 555-2128 Tzipi Butnaru
8 Litware, Inc. 3 Microsoft Way Portland OR 31415 USA (503) 555-2129 Brian Smith
9 Tailspin Toys 4 Microsoft Way Portland OR 31415 USA (503) 555-2233 Phil Gibbins

Tabulka Zákazníci

Číslo zákazníka Název Adresa Město Stát/kraj PSČ Země či oblast Telefon Nadřízený
1 Baldwin Museum of Science 1 Main St. New York NY 12345 USA (505) 555-2122 Steve Riley
2 Aerolinky Blue Yonder 52 1st St. Boston MA 23456 USA (104) 555-2123 Waleed Heloo
3 Coho Winery 3122 75th Ave. S.W. Seattle WA 34567 USA (206) 555-2124 Pica Guido
4 Contoso Pharmaceuticals 1 Contoso Blvd. Londýn Bucks NS1 EW2 Velká Británie (171) 555-2125 Zoltan Harmuth
5 Fourth Coffee Calle Huevos 134 Mexico City 56789 Mexiko (7) 555-2126 Julian Price
6 Consolidated Messenger 3123 75th St. S. Seattle WA 34567 USA (206) 555-2125 Christine Hughes
7 Graphic Design Institute 67 Big St. Tampa FL 87654 USA (916) 555-2128 Dana Birkby
8 Litware, Inc. 3 Microsoft Way Portland OR 31415 USA (503) 555-2129 Jesper Aaberg
9 Tailspin Toys 4 Microsoft Way Portland OR 31415 USA (503) 555-2233 Phil Gibbins

Při provádění tohoto postupu mějte na paměti, že ačkoli se datové typy pro jednotlivá pole tabulek nemusí shodovat, musí být kompatibilní. Aplikace Access musí být schopna převést data ve zdrojové tabulce na datový typ, který je možné použít v cílové tabulce. V některých případech mohou být procesem převodu některá data odstraněna. Další informace o omezeních při převodech datových typů naleznete v části Omezení při převodech datových typů.

Vytvoření a spuštění aktualizačního dotazu

Poznámka

Následující postup platí při použití dvou předchozích ukázkových tabulek. Kroky lze přizpůsobit pro vlastní data.

  1. Na kartě Vytvoření ve skupině Dotazy zvolte Návrh dotazu.
  2. Vyberte Přidat tabulky.
  3. Poklikejte na zdrojovou a cílovou tabulku a přidejte je do dotazu. Každá tabulka se v návrháři dotazu zobrazí ve vlastním okně.
  4. Aplikace Access ve většině případů propojí související pole v dotazu automaticky. Chcete-li pole obsahující související informace propojit ručně, přetáhněte související pole z jedné tabulky na ekvivalentní pole ve druhé tabulce.
    Při použití výše uvedených ukázkových tabulek například přetáhněte pole Kód klienta na pole Číslo zákazníka. Aplikace Access vytvoří mezi těmito poli v obou tabulkách relaci, která bude použita k propojení všech souvisejících záznamů.
  5. Na kartě Návrh dotazu ve skupině Typ dotazu vyberte Aktualizovat.
  6. V cílové tabulce poklikejte na pole, která chcete aktualizovat. Jednotlivá pole se zobrazí v návrhové mřížce dotazu na řádku Pole.
    Používáte-li ukázkové tabulky, přidejte všechna pole kromě pole Kód zákazníka. Všimněte si, že název cílové tabulky se zobrazí v návrhové mřížce na řádku Tabulka.
  7. V řádku Aktualizovat do dotazu přidejte do každého sloupce, který obsahuje cílové pole, název zdrojové tabulky a pole ve zdrojové tabulce, které odpovídá poli v cílové tabulce, a ujistěte se, že používáte tuto syntaxi: [Tabulka].[ Pole], kde uzavřete názvy tabulek a polí do hranatých závorek a názvy polí oddělíte tečkou.
    Na tomto obrázku je znázorněna část návrhové mřížky používající ukázkové tabulky. Všimněte si syntaxe názvů tabulky a pole na řádku Aktualizovat do.
    Dotaz, který aktualizuje jednu tabulku daty z jiné tabulky
    Mějte na paměti, že názvy tabulky a polí je nutné zadat na řádek Aktualizovat do správně a že v názvech původní tabulky a polí je nutné dodržet interpunkci. Použití velkých písmen však není nutné dodržet.
  8. Na kartě Návrh dotazu ve skupině Výsledky vyberte Spustit.
  9. Po zobrazení výzvy k potvrzení aktualizace zvolte Ano.

Omezení při převodech datových typů

V následující tabulce jsou uvedeny datové typy používané v Accessu, vysvětlena všechna omezení při převodech datových typů a stručně popsány ztráty dat, k nimž může dojít během převodu.

Převod na tento typ Z tohoto typu Změny nebo omezení
Krátký text Dlouhý text Access odstraní všechno kromě prvních 255 znaků.
Číslo Bez omezení
Datum a čas Bez omezení
Měna Bez omezení
Automatické číslo Bez omezení
Ano/Ne Hodnota -1 (Ano v poli typu Ano/Ne) bude převedena na hodnotu Ano. Hodnota 0 (Ne v poli typu Ano/Ne) bude převedena na hodnotu Ne.
Hypertextový odkaz Aplikace Access zkrátí odkazy delší než 255 znaků.
Dlouhý text Krátký text Bez omezení
Číslo Bez omezení
Datum a čas Bez omezení
Měna Bez omezení
Automatické číslo Bez omezení
Ano/Ne Hodnota -1 (Ano v poli typu Ano/Ne) bude převedena na hodnotu Ano. Hodnota 0 (Ne v poli typu Ano/Ne) bude převedena na hodnotu Ne.
Hypertextový odkaz Bez omezení
Číslo Krátký text Text musí sestávat z čísel, platné měny a oddělovačů desetinných míst. Počet znaků v poli Text musí spadat do velikosti nastavené pro pole Číslo.
Dlouhý text Pole Dlouhý text musí obsahovat pouze text a platné oddělovače měny a desetinných míst. Počet znaků v poli Dlouhý text musí spadat do velikosti nastavené pro pole Číslo.
Číslo, ale s odlišnou velikostí pole nebo přesností Hodnoty nesmí být větší nebo menší než hodnoty, jež je možné do pole s novou velikostí uložit. Změna přesnosti může způsobit zaokrouhlení některých hodnot.
Datum a čas Data, jež je možné převést, závisí na velikosti číselného pole. Access ukládá všechna data jako pořadová data a hodnoty data jako celá čísla s dvojitou přesností a plovoucí desetinnou čárkou.
Access používá 30. prosince 1899 jako datum 0. Data mimo rozsah 18. dubna 1899 a 11. září 1900 překračují velikost bajtového pole. Data mimo rozsah 13. dubna 1810 a 16. září 1989 překračují velikost celočíselného pole.
Z důvodu přizpůsobení všem možným datům nastavte vlastnost Velikost pole u pole typu Číslo na hodnotu Dlouhé celé číslo nebo větší.
Měna Hodnoty nesmí překročit (nebo klesnout pod) nastavený limit velikosti daného pole. Pole typu Měna lze například převést na pole typu Celé číslo pouze v případě, že hodnota je větší než 255 a menší než 32 767.
Automatické číslo Hodnoty musí spadat do omezení velikosti nastaveného pro toto pole.
Ano/Ne Hodnoty Ano budou převedeny na -1. Hodnoty Ne budou převedeny na 0.
Datum a čas Krátký text Původní text musí být rozpoznatelný v kombinaci data nebo data a času. Například 18. ledna 2020.
Dlouhý text Původní text musí být rozpoznatelný v kombinaci data nebo data a času. Například 18. ledna 2020.
Číslo Hodnota musí spadat do rozsahu od -657 434 do 2 958 465,99998843.
Měna Hodnota musí spadat do rozsahu od -657 434 Kč do 2 958 465,9999 Kč.
Automatické číslo Hodnota musí být vyšší než -657 434 a nižší než 2 958 466.
Ano/Ne Hodnota -1 (Ano) se převede na 29. prosince 1899. Hodnota 0 (Ne) se převede na půlnoc (0:00).
Měna Krátký text Text musí sestávat z čísel a platných oddělovačů.
Dlouhý text Text musí sestávat z čísel a platných oddělovačů.
Číslo Bez omezení
Datum a čas Bez omezení, hodnota však může být zaokrouhlena.
Automatické číslo Bez omezení
Ano/Ne Hodnota -1 (Ano) bude převedena na hodnotu 1 Kč. Hodnota 0 (Ne) bude převedena na hodnotu 0 Kč.
Automatické číslo Krátký text Není povoleno, pokud pole typu Automatické číslo slouží jako primární klíč.
Dlouhý text Není povoleno, pokud pole typu Automatické číslo slouží jako primární klíč.
Číslo Není povoleno, pokud pole typu Automatické číslo slouží jako primární klíč.
Datum a čas Není povoleno, pokud pole typu Automatické číslo slouží jako primární klíč.
Měna Není povoleno, pokud pole typu Automatické číslo slouží jako primární klíč.
Ano/Ne Není povoleno, pokud pole typu Automatické číslo slouží jako primární klíč.
Ano/Ne Krátký text Původní text musí obsahovat jen hodnoty Ano, Ne, Pravda, Nepravda, Zapnuto nebo Vypnuto.
Dlouhý text Původní text musí obsahovat jen hodnoty Ano, Ne, Pravda, Nepravda, Zapnuto nebo Vypnuto.
Číslo Nula a hodnota Null budou převedeny na Ne, všechny ostatní hodnoty na Ano.
Datum a čas Hodnota Null nebo 0:00:00 bude převedena na Ne, všechny ostatní hodnoty na Ano.
Měna Nula a hodnota Null budou převedeny na Ne, všechny ostatní hodnoty na Ano.
Automatické číslo Všechny hodnoty budou převedeny na Ano.
Hypertextový odkaz Krátký text Pokud původní text obsahuje platnou webovou adresu, například adatum.com, www.adatum.com nebo http://www.adatum.com , Access převede text na hypertextový odkaz. Jiné hodnoty převede aplikace Access následujícím způsobem: Text se zobrazí jako podtržený, přičemž po přechodu ukazatele nad odkaz se kurzor změní, avšak odkazy nebudou funkční. Text může obsahovat libovolný platný webový protokol, včetně http://, gopher://, telnet://, ftp:// a wais://.
Dlouhý text Viz předchozí položka. Platí stejná omezení.
Číslo Není povoleno, pokud je pole typu Číslo součástí relace. Je-li původní hodnota ve tvaru platné IP adresy (čtyři trojice čísel oddělené tečkami: nnn.nnn.nnn.nnn) a čísla odpovídají webové adrese, bude výsledkem převodu platný odkaz. Jinak access připojí http:// na začátek každé hodnoty a výsledné odkazy nebudou platné.
Datum a čas Access připojí http:// na začátek každé adresy, ale výsledné odkazy téměř nikdy nebudou fungovat.
Měna Access připojí http:// na začátek každé hodnoty, ale stejně jako kalendářní data nebudou výsledné odkazy téměř nikdy fungovat.
Automatické číslo Není povoleno, jestliže je pole typu Automatické součástí relace. Access připojí http:// na začátek každé hodnoty, ale výsledné odkazy téměř nikdy nebudou fungovat.
Ano/Ne Aplikace Access převede všechny hodnoty Ano na hodnotu -1 a všechny hodnoty Ne na 0 a připojí http:// na začátek každé hodnoty. Výsledné odkazy nebudou funkční.

Začátek stránky

Ukončení blokování dotazů režimem vypnutí

Jestliže spustíte akční dotaz a zdá se, že se nic neděje, zkontrolujte, zda stavový řádek Accessu neobsahuje tuto zprávu:

Akce či událost byly blokovány režimem vypnutí.

Jestliže databáze není uložena v důvěryhodném umístění nebo není podepsána a nastavena jako důvěryhodná, jsou ve výchozím nastavení aplikace Access všechny akční dotazy (aktualizační, přidávací, odstraňovací a vytvářecí dotazy) zakázány. Pokud jste žádnou z uvedených akcí neprovedli, můžete dotaz povolit pouze pro aktuální relaci databáze kliknutím na možnost Povolit obsah na panelu zpráv.

Začátek stránky

Verze v jazyce SQL: příkaz UPDATE

Pokud umíte pracovat s jazykem SQL, můžete také zapsat příkaz UPDATE v zobrazení SQL. Chcete-li použít jazyk SQL, vytvořte nový prázdný dotaz a přepněte do zobrazení SQL.

V tomto oddílu je popsána syntaxe a uveden příklad příkazu UPDATE.

Syntaxe

UPDATE tabulka SET newvalue WHERE kritéria;

Příkaz UPDATE má následující části:

Část Popis
tabulka Název tabulky obsahující data, která chcete změnit
nová_hodnota Výraz určující hodnotu, která má být vložena do konkrétního pole v aktualizovaných záznamech
Kritérium: Výraz určující, které záznamy budou aktualizovány. Aktualizovány budou pouze záznamy vyhovující tomuto výrazu.

Poznámky

Příkaz UPDATE je užitečný zejména v případech, kdy je třeba změnit mnoho záznamů nebo kdy se měněné záznamy nacházejí v několika tabulkách.

Současně lze změnit několik polí. V následujícím příkladu jsou hodnoty v poli MnožstvíObjednávky zvýšeny o 10 procent a hodnoty v poli Dopravné zvýšeny o 3 procenta pro dopravce ve Velké Británii:

UPDATE Orders

SET OrderAmount = OrderAmount * 1.1,

Freight = Freight * 1.03

WHERE ShipCountry = 'UK';

Začátek stránky