Video:
În videoclip
Mesajul "Asociere externă ambiguă" apare atunci când Access stabilește că interogarea poate oferi rezultate diferite, pe baza asocierii care se termină prima. Pentru a rula interogarea, va trebui să efectuați câteva modificări. Cea mai bună soluție este de obicei să scindați interogarea în părți. Mai exact, configurați-o astfel încât cel puțin una dintre asocieri să se facă într-o interogare "fiu" mai mică, pe care o asociați apoi la alte tabele sau interogări dintr-o interogare "părinte". Access efectuează apoi asocierile în interogarea fiu (sau interogările) mai întâi, apoi efectuează ultimele asocieri din interogarea părinte, eliminând ambiguitatea.
În funcție de numărul de tabele pe care le aveți în interogare, poate fi necesar să creați mai multe interogări fiu pentru a evita unirile externe ambigue. Acest videoclip arată un simplu exemplu cu trei tabele, unde două tabele equi-joined sunt separate într-o interogare fiu, apoi asocierea externă la un al treilea tabel se efectuează în interogarea părinte. Iată pașii de bază, care presupun că sunteți deja destul de familiarizat cu crearea unei interogări de selectare simple:
-
Creați o nouă interogare fiu care conține tabelele pe care doriți să le asociați mai întâi (în videoclip, acestea sunt tabelele Firme și Persoane).
-
În interogarea fiu, faceți dublu clic pe câmpurile de ieșire de care aveți nevoie, astfel încât să apară în grila de interogare.
Important: Nu uitați să includeți câmpul de asociere din interogarea originală. În exemplul video, Firme a fost asociat la Regiuni utilizând câmpul RegionID, astfel că includem RegionID în grila de interogare a interogării fiu.
-
Salvați și închideți interogarea fiu și deschideți interogarea originală în Vizualizarea proiect. Aceasta va deveni interogarea părinte.
-
Ștergeți tabelele pe care le-ați adăugat la interogarea fiu, apoi adăugați interogarea fiu (Proiectare > Adăugare tabele (Afișare tabel în Access 2013 )> Interogări sau glisați pur și simplu interogarea fiu din Panoul de navigare în interogarea părinte).
-
În interogarea părinte, stabiliți asocierea așa cum a fost înainte, doar de această dată la interogarea fiu.
-
Adăugați câmpurile de ieșire din interogarea fiu în grila de interogare.
-
Salvați și rulați interogarea părinte.
Regulă de degetul mare pentru uniri externe ambigue
Unirile externe ambigue apar atunci când aveți două sau mai multe uniri într-o interogare și una dintre ele este o asociere externă care fie indică spre o unire equi-join, fie există două uniri externe care indică unele spre altele, de exemplu, aceste două configurații de unire sunt ambigue și trebuie împărțite în interogări separate:
Tabel1 --> Tabel2 --- Tabel3
Tabel1 --> Tabel2 <-- Tabel3
Unirile externe care indică în aceeași direcție sau în afara altor uniri sau uniri externe, sunt OK:
Tabel1 --> Tabel2 --> Tabel3
Tabel1 <-- Tabel2 --> Tabel3
Tabel1 <- Tabel2 --- Tabel3
Pentru mai multe informații despre crearea interogărilor, consultați Introducere în interogări sau Crearea unei interogări de selectare simple.