Ponekad ćete možda htjeti usporediti dvije tablice Access i prepoznati zapise u jednoj od tablica koje nemaju odgovarajuće zapise u drugoj tablici. Najjednostavniji je način izdvajanja tih zapisa pomoću čarobnjaka za pronalaženje neuparenih upita. Kada čarobnjak izradi upit, možete izmijeniti dizajn upita da biste dodali ili uklonili polja ili pak dodali spojeve između dviju tablica (da biste naznačili polja čije se vrijednosti moraju podudarati). Možete i stvoriti vlastiti upit da biste pronašli neuparene zapise bez čarobnjaka.
U ovom se članku nalaze upute za pokretanje i korištenje čarobnjaka za pronalaženje neuparenih upita, izmjenu izlaznih podataka čarobnjaka i stvaranje vlastitog upita za pronalaženje neuparenih zapisa.
Sadržaj članka
Kada trebam potražiti neuparene zapise?
Slijede dva uobičajena slučaja u kojima će vam možda biti potrebno uspoređivanje dviju tablica i pronalaženje neuparenih zapisa. Ovisno o okolnostima, pronalaženje neuparenih zapisa možda bi vam trebao biti prvi korak. U ovom se članku objašnjava samo pronalaženje neuparenih zapisa.
-
U jednoj tablici pohranjujete podatke o nečemu (primjerice, proizvodu), a u drugoj podatke o akcijama (primjerice, narudžbama) u vezi s tim.
Tako su, primjerice, u predlošku baze podataka Northwind podaci o proizvodima pohranjeni u tablicu Proizvodi, a podaci o proizvodima koji su obuhvaćeni svakom narudžbom pohranjeni su u tablici Pojedinosti o narudžbi. Zbog toga što u tablici Proizvodi nema podataka o narudžbama prema dizajnu, iz gledanja samo u tablicu Proizvodi nije moguće utvrditi koji proizvodi nikada nisu prodani. Taj se podatak ne može ustanoviti ni gledanjem u tablicu Pojedinosti o narudžbi jer ona sadrži samo podatke o proizvodima koji jesu prodani. Morate usporediti tablice da biste ustanovili koji proizvodi nikada nisu prodani.
Ako želite pregledati popis sadržaja iz prve tablice uz koje nema podudarajućih akcija u drugoj, koristit ćete upit za pronalaženje neuparenih zapisa.
-
Imate dvije tablice u kojima se nalaze preklapajuće, redundantne ili sukobljene informacije i želite ih konsolidirati u jednu tablicu.
Pretpostavite, na primjer da imate jednu tablicu pod nazivom Kupci i drugi pod nazivom Klijenti. Tablice su gotovo identične, ali jedna ili obje sadrže zapise kojih nema u drugoj. Da biste konsolidirali tablice, morate prvo utvrditi koji su zapisi jedinstveni za jednu, a koji za drugu tablicu.
Ako ste u takvoj situaciji, metode opisane u ovome članku mogu vam pomoći, no vjerojatno ćete morati poduzeti i dodatne korake. Možete pokrenuti čarobnjak za pronalaženje neuparenih upita da biste izdvojili neuparene zapise, ali ako želite dohvatiti kombinirani skup zapisa, pomoću rezultata ćete stvoriti upit s unijom. Ako se dobro snalazite s pisanjem Structured Query Language (SQL) izjava, možda je bolje da preskočite čarobnjak za pronalaženje neuparenih upita i ručno napišete upit s unijom.
Problemu preklapajućih, redundantnih i sukobljenih podataka najčešće možete pristupiti tako da potražite duplicirane podatke u dvije ili više tablica.
Dodatne informacije o upitima s unijom ili o pronalaženju, sakrivanju ili eliminiranju dupliciranih podataka potražite klikom na veze u rubrici Vidi također.
Napomena: Primjeri u ovome članku služe se bazom podataka koja je stvorena pomoću predloška za bazu podataka Northwind.
Postavljanje baze podataka Northwind
-
Na kartici Datoteka kliknite Novo.
-
Ovisno o verziji programa Access, Northwind možete potražiti u odjeljku Kategorije predložaka u okviru za pretraživanje ili u lijevom oknu klikom na Lokalni predlošci.
-
U odjeljku Lokalni predlošci kliknite Ogledna baza podataka Northwind 2007, a zatim kliknite Stvori.
-
Slijedite upute na stranici Northwind Traders (na kartici objekta Početni zaslon) da biste otvorili bazu podataka, a zatim zatvorite prozor dijaloškog okvira za prijavu.
Uspoređivanje dviju tablica pomoću čarobnjaka za traženje neuparenih upita
-
Na kartici Stvaranje u grupi Upiti kliknite Čarobnjak za upite.
-
U dijaloškom okviru Novi upit dvokliknite Čarobnjak za pronalaženje neuparenih upita.
-
Na prvoj stranici čarobnjaka odaberite tablicu u kojoj postoje neupareni zapisi i potom kliknite Dalje. Ako, primjerice, želite popis proizvoda tvrtke Northwind koji nikada nisu prodani, odaberite tablicu Proizvodi.
-
Na drugoj stranici odaberite povezanu tablicu i kliknite Dalje. Baš kao i u primjeru, odaberite tablicu Pojedinosti o narudžbi.
-
Na trećoj stranici odaberite polja koja se odnose na tablice, kliknite < = > pa Dalje. Možete odabrati samo jedno polje iz svake tablice. Baš kao i u primjeru, odaberite ID iz tablice Proizvodi i ID proizvoda iz tablice Pojedinosti o narudžbi. Provjerite jesu li uparena točna polja tako što ćete pregledati tekst u okviru Polja koja se podudaraju.
Imajte na umu da su polja ID i ID proizvoda možda već odabrana zbog postojećih odnosa ugrađenih u predložak.
-
Na četvrtoj stranici dvokliknite polja koja želite vidjeti iz prve tablice, a potom kliknite Dalje. Baš kao i u primjeru, odaberite polja ID i Naziv proizvoda.
-
Na petoj stranici možete se odlučiti na pregled rezultata ili na preinaku dizajna upita. U ovome primjeru kliknite Prikaz rezultata. Prihvatite predloženi naziv upita i kliknite Završi.
Možda ćete poželjeti preinačiti dizajn svojega upita da biste u njega dodali druge kriterije, promijenili redoslijed sortiranja ili da biste dodali ili uklonili polja. Informacije o preinaci upita za pronalaženje neuparenih zapisa potražite u sljedećoj rubrici, a općenitije podatke o stvaranju i preinaci upita potražite klikom na veze u rubrici Vidi također.
Stvaranje i izmjena pronalaženja neuparenih upita radi uspoređivanja više polja
-
Na kartici Stvaranje u grupi Upiti kliknite Čarobnjak za upite.
-
U dijaloškom okviru Novi upit dvokliknite Čarobnjak za pronalaženje neuparenih upita.
-
Na prvoj stranici čarobnjaka odaberite tablicu u kojoj postoje neupareni zapisi i potom kliknite Dalje. Ako, primjerice, želite popis proizvoda tvrtke Northwind koji nikada nisu prodani, odaberite tablicu Proizvodi.
-
Na drugoj stranici odaberite povezanu tablicu i kliknite Dalje. Baš kao i u primjeru, odaberite tablicu Pojedinosti o narudžbi.
-
Na trećoj stranici odaberite polja koja se odnose na tablice, kliknite < = > pa Dalje. Možete odabrati samo jedno polje iz svake tablice. Baš kao i u primjeru, odaberite ID iz tablice Proizvodi i ID proizvoda iz tablice Pojedinosti o narudžbi. Provjerite jesu li uparena točna polja tako što ćete pregledati tekst u okviru Polja koja se podudaraju. Preostala polja možete pridružiti kada dovršite čarobnjak.
Imajte na umu da su polja ID i ID proizvoda možda već odabrana zbog postojećih odnosa ugrađenih u predložak.
-
Na četvrtoj stranici dvokliknite polja koja želite vidjeti iz prve tablice, a potom kliknite Dalje. Baš kao i u primjeru, odaberite polja ID i Naziv proizvoda.
-
Na petoj stranici kliknite Izmjena dizajna, a zatim kliknite Završi.
Upit će se otvoriti u prikazu dizajna.
-
U rešetki dizajna upita obratite pozornost na to da su dvije tablice spojene u poljima (u ovom primjeru ID i ID proizvoda) koja ste naveli na trećoj stranici čarobnjaka. Stvorite spoj za svaki preostali par povezanih polja tako što ćete ih povući iz prve tablice (tablice s neuparenih zapisima) u drugu tablicu. U ovom primjeru povucite polje Cjenik iz tablice Proizvodi u polje Jedinična cijena iz tablice Pojedinosti o narudžbi.
-
Dvokliknite spoj (crtu koja povezuje polja) da bi vam se prikazao dijaloški okvir Svojstva spoja. Za svaki spoj odaberite mogućnost kojom su obuhvaćeni svi zapisi iz tablice Proizvodi, a zatim kliknite U redu.
U rešetki dizajna upita obratite pozornost da svaki spoj sada na kraju ima strelicu.
1. Kada stvorite spoj između polja Cjenik i Jedinična cijena, taj spoj ograničava izlaz iz obiju tablica. Samo oni zapisi koji sadrže podudarne podatke u poljima u obje tablice obuhvaćeni su rezultatima upita.
2. Kada uredite svojstva spoja, spoj samo ograničava tablicu na koju pokazuje strelica. Svi zapisi u tablici na koju pokazuje stralica obuhvaćeni su rezultatima upita.
Napomena: Pobrinite se da sva strelice na spojevima pokazuju u isti smjer.
-
Za tablicu koja sadrži povezane zapise (u ovome primjeru tablica Pojedinosti narudžbe) dvokliknite svako polje koje je spojeno s prvom tablicom, osim polja koje ste odabrali na trećoj stranici čarobnjaka (u ovom slučaju polje ID proizvoda). Za svako od tih polja poništite potvrdni okvir u retku Pokaži i upišite: Is Null u red Kriterij.
-
Ako želite, možete i dodati kriterije u druga polja upita ili stvoriti izračunata polja koja se temelje na vrijednostima iz prve tablice.
-
Na kartici Dizajn upita u grupi Rezultati kliknite Pokreni.
Upit vraća nazive proizvoda koji nisu dio nijedne postojeće narudžbe.
Stvaranje vlastitog upita za pronalaženje neuparenih zapisa
-
Na kartici Stvaranje u grupi Upiti kliknite Dizajn upita.
-
Dvokliknite tablicu koja sadrži neuparene zapise, a zatim dvokliknite tablicu koja sadrži povezane zapise.
-
U rešetki dizajna upita dvije bi tablice trebale sadržavati crte koje se još nazivaju spojevima i koje ih spajaju u povezanim poljima. Ako spojeva nema, stvorite ih povlačenjem svakoga povezanog polja iz prve tablice (tablice s neuparenim zapisima) u drugu tablicu (koja sadrži povezane zapise).
-
Dvokliknite spoj da biste otvorili dijaloški okvir Svojstva spoja. Za svaki spoj odaberite mogućnost 2, a zatim kliknite U redu.
U rešetki dizajna upita spojevi se mijenjaju tako da im se na kraju nalaze strelice.
Napomena: Pobrinite se za to da svi spojevi pokazuju u isti smjer. Upit se neće pokrenuti ako spojevi pokazuju u različite smjerove i možda se neće pokrenuti ni ako spoj nije obilježen strelicom. Spojevi bi trebali pokazivati u smjeru od tablice koja sadrži neuparene zapise.
-
U tablici koja sadrži neuparene zapise dvokliknite polja za koja želite da ih upit vrati.
Ako želite, unesite kriterije za svako od tih polja ili stvorite izračunata polja.
-
Za tablicu koja ima povezane zapise dvokliknite svako polje koje je spojeno s prvom tablicom. Za svako od tih polja poništite potvrdni okvir u retku Pokaži i upišite: Is Null u redak Kriterij.
-
Na kartici Dizajn upita u grupi Rezultati kliknite Pokreni.
Vidi također
Stvaranje jednostavnog upita odabiranja
Pronalaženje dupliciranih zapisa pomoću upita
Kombiniranje više upita u jedan rezultat pomoću upita s unijom