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 nejsou v tabulkách trvale uložené. 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 vracejících jedinečné hodnoty a v dotazech vracejících jedinečné záznamy: Hodnoty v těchto dotazech jsou sumarizovány. 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, který se vyskytuje ve dvou nebo více zdrojích dat, se ve výsledku sjednocovacího dotazu vyskytuje 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.
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. Tím, že data nejprve vyberete, můžete před skutečnou změnou jakýchkoli dat ověřit, že budete aktualizovat správné záznamy.
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
-
Klikněte na kartu Soubor a potom na Uložit jako.
-
Na pravé straně klikněte v části Upřesnit na možnost Zálohovat databázi.
-
V dialogovém okně Uložit jako zadejte název a umístění záložní kopie a klikněte na tlačítko 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
-
Otevřete databázi obsahující záznamy, které chcete aktualizovat.
-
Na kartě Vytvoření klikněte ve skupině Dotazy na Návrh dotazu.
-
Klikněte na kartu Tabulky.
-
Vyberte tabulku nebo tabulky obsahující záznamy, které chcete aktualizovat, a klikněte na tlačítko Přidat a potom na tlačítko 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.
1. Tabulka v návrháři dotazu
2. Návrhová mřížka dotazu
-
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.
-
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é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.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*"
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 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?"
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/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').
< 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ů 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 ("").
-
Na kartě Návrh dotazu klikněte ve skupině Výsledky na Tlačítko Spustit.
-
Ověřte, zda dotaz vrací záznamy, které chcete aktualizovat.
-
Chcete-li odebrat pole, která nechcete zahrnout do návrhu dotazu, vyberte je a stiskněte klávesu DELETE.
-
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ů
-
Na kartě Návrh dotazu klikněte ve skupině Typ dotazu na 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.
-
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).
-
Na kartě Návrh dotazu klikněte ve skupině Výsledky na Tlačítko Spustit.
Zobrazí se upozornění.
-
Chcete-li dotaz spustit a aktualizovat data, klikněte na tlačítko 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.
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ů:
-
Vytvořte aktualizační dotaz a přidejte do něj zdrojovou a cílovou tabulku.
-
Propojte tyto tabulky pomocí polí obsahujících související informace.
-
Přidejte názvy cílových polí v návrhové mřížce dotazu na řádek Pole.
-
Přidejte názvy zdrojových polí v návrhové mřížce dotazu na řádek Aktualizovat do. Použijte následující syntaxi: [zdrojová_tabulka].[zdrojové_pole].
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 |
Jméno |
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 |
Jméno |
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.
-
Na kartě Vytvoření klikněte ve skupině Dotazy na Návrh dotazu.
-
Vyberte Přidat tabulky.
-
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ě.
-
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ů.
-
Na kartě Návrh dotazu klikněte ve skupině Typ dotazu na aktualizovat.
-
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.
-
Na řádek dotazu Aktualizovat do přidejte do každého sloupce obsahujícího cílové pole název zdrojové tabulky a pole ve zdrojové tabulce, jež odpovídá poli v cílové tabulce. Použijte následující syntaxi: [Tabulka].[Pole], kde názvy tabulky a pole jsou uvedeny v hranatých závorkách a odděleny 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.
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.
-
Na kartě Návrh dotazu klikněte ve skupině Výsledky na Tlačítko Spustit.
-
Po zobrazení výzvy k potvrzení aktualizace klikněte na tlačítko 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 |
Jestliže původní text obsahuje platnou webovou adresu, například adatum.com, www.adatum.com nebo http://www.adatum.com, bude text převeden 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:// nebo 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. V ostatních případech Access na začátek každé hodnoty přidá předponu http:// a výsledné odkazy nebudou platné. |
|
Datum a čas |
Access připojí na začátek každé adresy http://, ale skoro žádné výsledné odkazy nebudou funkční. |
|
Měna |
Access připojí na začátek každé hodnoty http://, ale podobně jako u kalendářních dat nebudou skoro žádné výsledné odkazy funkční. |
|
Automatické číslo |
Není povoleno, jestliže je pole typu Automatické součástí relace. Access připojí před každou hodnotu řetězec http://, avšak téměř žádné výsledné odkazy nebudou funkční. |
|
Ano/Ne |
Aplikace Access převede všechny hodnoty Ano na číslo -1 a všechny hodnoty Ne na 0 a připojí před každou hodnotu řetězec http://. Výsledné odkazy nebudou funkční. |
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.
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 nová_hodnota 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éria |
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';