Vytvářením jedinečného indexu můžete zabránit vytvořením jedinečných hodnot v poli tabulky Accessu. Jedinečný index je index, který vyžaduje, aby každá hodnota indexovaných polí byla jedinečná.
Jedinečný index můžete vytvořit dvěma základními způsoby:
-
Nastavení vlastnosti Indexovat pole na Hodnotu Ano (bez duplicity) Můžete to udělat tak, že tabulku otevřete v Návrhové zobrazení. Tato metoda je snadná a je vhodné použít, pokud chcete změnit jen jedno pole současně.
-
Vytvoření Definiční dotaz, která vytvoří jedinečný index Můžete to udělat pomocí Zobrazení SQL. Tato metoda není tak jednoduchá jako použití návrhového zobrazení, ale má tu výhodu: můžete uložit definiční dotaz a později ho znovu použít. To je užitečné, pokud pravidelně odstraňujte a znovu vytváříte tabulky a chcete u některých polí používat jedinečné indexy.
Co chcete udělat?
Nastavení vlastnosti Indexovat pole na hodnotu Ano (bez duplicity)
-
V navigačním podokně klikněte pravým tlačítkem myši na tabulku obsahující pole a poté klikněte na příkaz Návrhové zobrazení.
-
Vyberte pole, které má mít jistotu, že obsahuje jedinečné hodnoty.
-
V podokně Vlastnosti pole v dolní části návrhového zobrazení tabulky nastavte na kartě Obecné vlastnost Indexovat na hodnotu Ano (bez duplicity).
-
Uložte změny do tabulky.
Poznámka: Pokud v poli pro záznamy tabulky už existují duplicitní položky, zobrazí Access při pokusu o uložení změn tabulky s novým indexem chybovou zprávu (chyba 3022). Abyste mohli nastavit a uložit nový jedinečný index, budete muset tyto duplicitní hodnoty polí ze záznamů tabulky odebrat.
Vytvoření jedinečného indexu pro pole pomocí definičního dotazu
-
Na kartě Vytvoření klikněte ve skupině Dotazy na Návrh dotazu.
-
On the Design tab for queries, in the Results group, click the arrow under View,and then click SQL View.
-
Odstraňte z dotazu všechny stávající příkazy SQL. (Access s největší pravděpodobností jenom zobrazí příkaz SELECT, před odstraněním existujícího textu.)
-
Do dotazu zadejte nebo vložte následující kód SQL:
CREATE UNIQUE INDEX index_name
ON table (field); -
V sql nahraďte proměnné následujícím způsobem:
-
Nahraďte index_name názvem rejstříku. Je vhodné použít název, který vám pomůže určit, k čemu index slouží. Pokud má index například zajistit, aby telefonní čísla byla jedinečná, můžete je unique_phone.
-
Nahraďte tabulku názvem tabulky obsahující pole, které se má indexovat. Pokud název tabulky obsahuje mezery nebo speciální znaky, musíte ho uzavřít do hranatých závorek.
-
Nahraďte pole názvem pole, které se má indexovat. Pokud název pole obsahuje mezery nebo speciální znaky, musíte ho uzavřít do hranatých závorek.
-
-
Uložte a zavřete dotaz.
-
Spuštěním dotazu vytvořte index. Všimněte si, že dotaz můžete spustit z makra pomocí akce makra SpustitSQL.