Vztahy mezi poli, tabulkami, záznamy a tak dále jsou nejčastějšími věcmi, které v Accessu 2016 řešíte. Mějte na paměti těchto deset tipů:
Vztah one-to-many spojuje jeden záznam v nadřazené tabulce s mnoha záznamy v podřízené tabulce.
Nastavte vztah pro propojení objednávek se zákazníky nebo umístění s událostmi. Jeden zákazník může mít mnoho objednávek a jedno místo může mít mnoho událostí. Tímto způsobem nemusíte opakovat všechny kontaktní údaje zákazníka u každé objednávky ani všechny informace o místě každé události.
Vztah 1:1 spojuje jeden záznam v nadřazené tabulce s jedním záznamem v podřízené tabulce.
Toto není běžný typ vztahu, ale lze jej použít, pokud potřebujete rozdělit tabulku, která obsahuje mnoho polí, do dvou tabulek.
Spojte pole primárního klíče v nadřazené tabulce se stejným polem (nazývaným cizí klíč) v podřízené tabulce.
Toto je nejběžnější scénář. Nadřazená tabulka obsahuje pole primárního klíče a podřízená tabulka obsahuje stejný název pole. Například tabulka Zákazníci a objednávky může sdílet CustomerID. CustomerID je obvykle primární klíč Customers a cizí klíč v Orders.
Pole spojená ve vztahu musí být stejného datového typu.
Textové pole v nadřazené tabulce nemůžete propojit s číselným polem v podřízené tabulce a naopak. Pole musí být buď textová, nebo číselná pole v každé tabulce.
Vynutit referenční integritu v dialogovém okně Upravit vztahy, aby se zabránilo záznamu „osiřelého“ záznamu v podřízené tabulce.
Sirotek je záznam v podřízené tabulce, který nemá odpovídající záznam v nadřazené tabulce. Klasickým příkladem je objednávka v tabulce Objednávky pro zákazníka, která není v tabulce Zákazníci. Referenční integrita zabraňuje zadávání těchto druhů osiřelých objednávek.
Nastavením kaskádové aktualizace souvisejících polí v dialogovém okně Upravit vztahy aktualizujete hodnotu klíče v podřízené tabulce, když je aktualizována v nadřazené tabulce.
Předpokládejme, že máte dvě tabulky, seznam kategorií v tabulce ExpenseType (název pole Kategorie) a pole v tabulce výdajů s názvem Kategorie. Pole Kategorie ve Výdajích je vyplněno polem se seznamem, které získává svá data z pole Kategorie tabulky ExpenseType. Dále předpokládejme, že u Dining byl vytvořen překlep; psalo se to Dinning. Pokud byste nastavili Cascade Update Related Fields, můžete upravit Dinning v ExpenseType na Dining a změní se u každého záznamu, kde je použit v tabulce Expenses.
Nastavte Kaskádové odstranění souvisejících záznamů v dialogovém okně Upravit vztahy, chcete-li odstranit související záznamy v podřízené tabulce, když je odpovídající záznam odstraněn v nadřazené tabulce.
S tímto nastavením ve vztahu mezi LocationID v Locations a LocationID v Events smažete záznam o umístění a smažete všechny události pro toto umístění.
Nastavení vztahů mezi tabulkami automaticky nastaví spojení pro tyto tabulky při vytváření dotazů.
Spojení vztahů se provádějí do návrhového zobrazení dotazu. Pokud nastavíte vztah mezi umístěními a událostmi v LocationID, uvidíte tento spojovací řádek, když tyto tabulky přidáte do nového dotazu v návrhu dotazu.
Odstraněním pole, které je součástí vztahu, smažete vztah.
Nemůžete mít vztah mezi dvěma poli, pokud jedno z nich chybí, že? Access tedy odstraní přerušený vztah, když odstraníte pole, které je součástí tohoto vztahu.
Pokud je primární klíč součástí vztahu, nemůžete primární klíč v této tabulce změnit na jiné pole, aniž byste vztah nejprve odstranili.
Chcete-li změnit primární klíče v tabulce, jejíž primární klíč je součástí vztahu, musíte nejprve otevřít okno Relationships a odstranit vztah, než vám Access umožní změnit primární klíč na jiné pole v této tabulce. V okně Vztahy klikněte pravým tlačítkem na spojnici mezi dvěma tabulkami a zvolte Odstranit, chcete-li vztah odstranit.