Video:

V tomto videu
Zpráva „nejednoznačné vnější spojení“ se zobrazí v případě, že Access zjistí, že by výsledky vašeho dotazu mohly být různé podle toho, které spojení se zpracovává jako první. Abyste mohli dotaz spustit, budete muset něco změnit. Obvykle je nejlepší rozdělit dotaz na několik částí. To znamená nastavit ho tak, aby aspoň jedno spojení bylo zpracované v menším „podřízeném“ dotazu, který potom připojíte k jiným tabulkám nebo dotazům v „nadřazeném“ dotazu. Access nejdřív zpracuje spojení v podřízeném dotazu (nebo dotazech) a nakonec zpracuje spojení v nadřazeném dotazu a tím se nejednoznačnost vyloučí.
Podle toho, kolik máte v dotazu tabulek, může být potřeba vytvořit několik podřízených dotazů, abyste vyloučili nejednoznačná vnější spojení. V tomto videu uvidíte jednoduchý příklad se třemi tabulkami, kde se dvě tabulky se společným spojením rozdělí do pořízeného dotazu a v nadřazeném dotazu se pak zpracuje vnější spojení do třetí tabulky. U těchto základních kroků se už předpokládá velmi dobrá znalost vytváření dotazů:
-
Vytvořte nový podřízený dotaz obsahující tabulky, u kterých chcete vytvořit spojení nejdřív (ve videu jsou to tabulky Companies (Společnosti) a People (Lidé)).
-
V podřízeném dotazu poklikejte na požadovaná výstupní pole, aby se zobrazila v mřížce dotazu.
Důležité informace: Nezapomeňte zahrnout pole spojení z původního dotazu. V příkladu ve videu byla tabulka Companies spojená s tabulkou Regions (Oblasti) pomocí pole RegionID (ID_oblasti), a proto zahrneme pole RegionID do mřížky podřízeného dotazu.
-
Uložte a zavřete podřízený dotaz a otevřete původní dotaz v návrhovém zobrazení. Z něj bude nadřazený dotaz.
-
Odstraňte tabulky, které jste přidali do podřízeného dotazu, a pak přidejte podřízený dotaz (Návrh > Zobrazit tabulku > Dotazy, nebo jenom přetáhněte podřízený dotaz z navigačního podokna do nadřazeného dotazu).
-
V nadřazeném dotazu navažte spojení stejně jako před tím, jen s tím rozdílem, že tentokrát to bude do podřízeného dotazu.
-
Do mřížky dotazu přidejte výstupní pole z podřízeného dotazu.
-
Uložte a spusťte nadřazený dotaz.
Pravidlo pro nejednoznačná vnější spojení
K nejednoznačným vnějším spojením dochází tehdy, jestliže máte v dotazu dvě nebo víc spojení a buď je jedno z nich vnější spojení, které směřuje na společné spojení, nebo jsou dvě vnější spojení, která směřují sama na sebe. Třeba tyto dvě následující konfigurace spojení jsou nejednoznačné a bude třeba je rozdělit do samostatných dotazů:
Tabulka1 --> Tabulka2 --- Tabulka3
Tabulka1 --> Tabulka2 <-- Tabulka3
Vnější spojení směřující stejným směrem nebo směrem od jiných vnějších spojení (nebo společných spojení) jsou v pořádku:
Tabulka1 --> Tabulka2 --> Tabulka3
Tabulka1 <-- Tabulka2 --> Tabulka3
Tabulka1 <-- Tabulka2 --- Tabulka3
Další informace o sestavování dotazů najdete v tématu Úvod k dotazům nebo Vytvoření výběrového dotazu.