Vaizdo įrašas:
Vaizdo įraše
Pranešimas "Neaiškus išorinis sujungimas" rodomas, kai "Access" nustato, kad jūsų užklausa gali pateikti skirtingus rezultatus, atsižvelgiant į tai, kuris sujungimas atliekamas pirmiausia. Jei norite, kad užklausa būtų vykdoma, turite atlikti kelis keitimus. Geriausias sprendimas yra išskaidyti užklausą į dalis. T. y. nustatykite, kad bent vienas iš sujungimų būtų atliekamas naudojant mažesnę "vaiko" užklausą, kurią vėliau sujungiate su kitomis lentelėmis arba užklausomis pirminėje užklausoje. Tada "Access" pirmiausia atlieka sujungimus antrinėje užklausoje (arba užklausose), tada galiausiai atlieka sujungimus pirminėje užklausoje, taip pašalinant dviprasmiškumą.
Atsižvelgiant į tai, kiek lentelių turite užklausoje, gali tekti sukurti kelias antrines užklausas, kad būtų išvengta nevienareikšmių išorinių sujungimų. Šiame vaizdo įraše rodomas paprastas trijų lentelių pavyzdys, kuriame dvi lygiavertės lentelės atskirtos į antrinę užklausą, o išorinis sujungimas su trečiąja lentele atliekamas pirminėje užklausoje. Toliau pateikiami pagrindiniai veiksmai, kurie daro prielaidą, kad jau esate susipažinę su paprastos išrinkimo užklausos kūrime:
-
Sukurkite naują antrinę užklausą, kurioje yra lentelės, kurias norite pirmiausia sujungti (vaizdo įraše tai yra įmonės ir žmonės lentelės).
-
Antrinėje užklausoje dukart spustelėkite reikiamus išvesties laukus, kad jie būtų rodomi užklausos tinklelyje.
Svarbu: Būtinai įtraukite sujungimo lauką iš pradinės užklausos. Vaizdo įrašo pavyzdyje įmonės buvo sujungtos į regionus naudojant lauką RegionID, todėl į antrinės užklausos užklausos tinklelį įtraukiame RegionID.
-
Įrašykite ir uždarykite antrinę užklausą ir atidarykite pradinę užklausą dizaino rodinyje. Tai taps pirmine užklausa.
-
Panaikinkite lenteles, kurias įtraukėte į antrinę užklausą, tada įtraukite antrinę užklausą (Dizaino > Įtraukti lentelių (Rodyti lentelęAccess 2013 )> Užklausos arba tiesiog nuvilkite antrinę užklausą iš naršymo srities į pirminę užklausą).
-
Pirminėje užklausoje sukurkite sujungimą taip, kaip buvo anksčiau, tik šį kartą – antrinėje užklausoje.
-
Įtraukite išvesties laukus iš antrinės užklausos į užklausos tinklelį.
-
Įrašykite ir vykdykite pirminę užklausą.
Nykščio taisyklė nevienareikšmiškiems išoriniams sujungimams
Nevienareikšmiai išoriniai sujungimai atsiranda, kai užklausoje yra dvi ar daugiau jungčių, o viena iš jų yra išorinis sujungimas, kuris nukreipia į lygiavertį sujungimą, arba yra du išoriniai sujungimai, nukreipiantys vienas į kitą, pvz., šios dvi sujungimo konfigūracijos yra nevienareikšmiškos ir jas reikės suskaidyti į atskiras užklausas:
Lentelė1 --> Lentelė2 --- Lentelė3
Lentelė1 --> Lentelė2 <-- Lentelė3
Išoriniai sujungimai, nukreipiantys ta pačia kryptimi arba atsitraukę nuo kitų išorinių jungčių ar lygiadienių jungčių, yra gerai:
Lentelė1 --> Lentelė2 --> Lentelė3
Lentelė1 <-- Lentelė2 --> Lentelė3
Lentelė1 <-- Lentelė2 --- Lentelė3
Daugiau informacijos apie užklausų kūrimą žr. Supažindinimas su užklausomis arba Paprastos išrinkimo užklausos kūrimas.