Korišćenje polja sa više vrednosti u upitima

Važno : Ovaj članak je mašinski preveden, pogledajte odricanje odgovornosti. Pogledajte verziju ovog članka na engleskom jeziku ovde za referencu.

U programu Microsoft Office Access 2007 možete da kreirate polje koje sadrži više vrednosti, kao što je lista osoba kojima ste dodelili spornu stavku. Polja sa više vrednosti su prikladna za određene situacije, kao u slučaju kada koristite Office Access 2007 za rad sa informacijama koje su uskladištene na Windows SharePoint Services 3.0 listi, a ta lista sadrži polje koje koristi jedan od tipova polja sa više vrednosti koji su dostupni u programu Windows SharePoint Services 3.0.

Ovaj članak sadrži objašnjenja o poljima sa više vrednosti i njihovom korišćenja u upitima.

Ovaj članak sadrži:

Šta je to polje?

Predstavljanje upita

Prikazivanje vrednosti polja u upitu

Prikazivanje pojedinačnih vrednosti u polju sa više vrednosti

Razumevanje povezane vrednosti i vrednosti za prikaz u polje za pronalaženje

Kako da prikažete povezanu vrednost u upitu

Unošenje jednostavan upit za kriterijume za polje sa više vrednosti

Traženje više od jedne vrednosti u polju sa više vrednosti

Razumevanje uticaja na. Polje za vrednost u listi polja

Prebrojavanje, grupisanje i korišćenje drugih agregatnih funkcija

Kreiranje upita za dodavanje u polju sa više vrednosti

Korišćenje upita za ažuriranje u polju sa više vrednosti

Korišćenje upita za brisanje u polju sa više vrednosti

Vrh stranice

Šta je polje sa više vrednosti?

Pretpostavimo da neki zadatak treba da dodelite zaposlenom ili izvođaču, ali odlučite da je neophodno da ga podelite na više osoba. U programu Office Access 2007 možete da kreirate polje sa više vrednosti koje će vam omogućiti da izaberete osobe sa liste.

Polje sa više vrednosti

Kada kliknete u kombinovani okvir, izbor će biti potvrđen u odgovarajućim poljima za potvrdu, ukazujući tako na vaše izbore. Možete da potvrdite ili opozovete izbor u poljima za potvrdu pored stavki na listi, a zatim da kliknete na dugme U redu da biste prosledili izbore.

Kombinovani okvir polja sa više vrednosti

Imena izabranih osoba će biti uskladištena u polju sa više vrednosti i razdvojena zarezima (podrazumevano) prilikom prikazivanja.

Polje sa više vrednosti koje su razdvojene zarezima

Svrha polja sa više vrednosti je u tome da se olakša podrška u onim slučajevima kada želite da izaberete i uskladištite više izbora, a da ne morate pritom da kreirate napredniji dizajn baze podataka. Polja sa više vrednosti su takođe važna za integraciju sa sistemom Windows SharePoint Services zato što SharePoint liste takođe podržavaju polja sa više vrednosti.

Možda ćete se zapitati zašto Office Access 2007 dozvoljava skladištenje više vrednosti u jednom polju kada većina sistema za upravljanje relacionim bazama podataka to zabranjuje. Odgovor leži u tome da mašina baze podataka u programu Office Access 2007 u stvari ne skladišti vrednosti u jedno polje. Iako se ono što vidite i sa čim radite prikazuje kao jedno polje, vrednosti se zapravo skladište nezavisno i njima se upravlja u skrivenim sistemskim tabelama. Mašina Access baze podataka to radi umesto vas tako što automatski razdvaja podatke i ponovo ih povezuje da bi vrednosti bile prikazane u jednom polju.

Tehnički govoreći, polje sa više vrednosti u programu Access oblikuje relaciju „više-prema-više“. Na primer, uzmite u obzir tabelu događaja u kojoj odgovornost za svaki događaj dodeljujete određenim zaposlenima. Pretpostavimo da ćete za dodeljivanje događaja zaposlenima kreirati polje sa više vrednosti nazvano „Dodeljeno“. Relacija između događaja i zaposlenih predstavlja relaciju „više-prema-više“. To jest, većem broju zaposlenih možete da dodelite bilo koji događaj, a bilo kom zaposlenom možete dodeliti više događaja.

Vrh stranice

Predstavljanje upita

Primarna svrha postojanja baza podataka je da pruža informacije: „Koji je naš najprodavaniji proizvod? Ko je naš najbolji kupac? Gde ne ispunjavamo ciljeve prodaje?“ To su sve pitanja koja možete opravdano postaviti dobro dizajniranoj bazi podataka. Kreirajte upit i unesite potrebne kriterijume da biste dobili odgovore od Access baze podataka. Podaci u upitu mogu doći iz više tabela. Podatke možete prikazati i analizirati nakon što Access preuzme podatke koji daju odgovor na pitanje. Nakon što ga kreirate, upit možete koristiti kao osnovu za obrazac, izveštaj, grafikon ili čak drugi upit.

Office Access 2007 dozvoljava da polja sa više vrednosti obuhvatite određenim upitima na određene načine. Pomoću polja sa više vrednosti možete da prikažete polje sa više vrednosti u upitu, pojedinačne vrednosti u polju sa više vrednosti u upitu i da izvršite određene izabrane agregatne operacije i radnje.

Vrh stranice

Prikazivanje polja sa više vrednosti u upitu

Morate da odlučite da li želite da prikažete čitavo polje sa više vrednosti koje sadrži sve vrednosti razdvojene zarezima ili razdvojeni red za svaku vrednost kada u upitu prikažete polje sa više vrednosti. Na primer, pretpostavimo da imate tabelu sa zadacima koja sadrži polje „Dodeljeno“ koje koristite da biste zaposlenima dodelili zadatke. Upit koji sadrži polje „Dodeljeno“ možete da kreirate pomoću sledeće procedure:

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Slika trake programa Access

  4. U dijalogu Prikazivanje tabele izaberite tabelu (u ovom primeru, „Sporne stavke“) koja sadrži polje sa više vrednosti, a zatim kliknite na dugme Dodaj.

  5. Kliknite na dugme Zatvori.

  6. Prevucite polja koja želite da koristite u koordinatnu mrežu za dizajn upita. U ovom primeru, prevucite polje „Naslov“ i polje sa više vrednosti nazvano „Dodeljeno“ u koordinatnu mrežu upita.

  7. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Rezultat upita izgledaće poput sledeće slike – jedna kolona prikazivaće naslov zadatka, a druga kolona polje sa više vrednosti:

Rezultat upita koji prikazuje polja „Naslov“ i „Dodeljeno“

Kada kreirate upit pomoću prikaza dizajna, Access automatski generiše odgovarajuću SQL (Structured Query Language) naredbu. SQL je jezik upita koji Access koristi. Pomoću sledeće procedure možete da se prebacite u SQL prikaz da biste videli SQL naredbu.

  1. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  2. Kliknite na komandu SQL prikaz.

SQL naredba izgleda ovako:

SELECT Issues.Title, 
Issues.AssignedTo
FROM Issues;

Vrh stranice

Prikazivanje pojedinačnih vrednosti u polju sa više vrednosti

Pretpostavimo da polje sa više vrednosti „Dodeljeno“ želite da vidite prošireno (ponekad se naziva zaravnjeno) tako da svako ime ili vrednost polja „Dodeljeno“ bude prikazana u odvojenom redu. Da biste to uradili, potrebno je da navedete svojstvo Vrednost dodavanjem niske „.Value“, u polje „Dodeljeno“, u redu Polje, kao što je prikazano ovde u koordinatnoj mreži upita:

Koordinatna mreža upita koja prikazuje polja „Naslov“ i „Dodeljeno.Value“

Kada navedete polje Dodeljeno u redu Polje, Access će prikazati sve vrednosti u polju sa više vrednosti u samo jednom redu kada pokrenete upit. Međutim, kada koristite svojstvo Vrednost kao u polju Dodeljeno.Value, Access će prikazati polje sa više vrednosti u proširenom obliku, tako da se svaka vrednost pojavi u odvojenom redu. Upit možete da kreirate da biste prikazali pojedinačne vrednosti pomoću sledeće procedure:

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Slika trake programa Access

  4. U dijalogu Prikazivanje tabele izaberite tabelu (u ovom primeru, „Sporne stavke“) koja sadrži polje sa više vrednosti, a zatim kliknite na dugme Dodaj.

  5. Kliknite na dugme Zatvori.

  6. Polja koja želite da koristite (u ovom primeru polje sa više vrednosti nazvano je „Dodeljeno.Value“) prevucite u koordinatnu mrežu upita.

  7. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Rezultat upita koji prikazuje polje „Naslov“ i pojedinačne vrednosti polja „Dodeljeno“

Kada kreirate upit pomoću prikaza dizajna, Access automatski generiše odgovarajuću SQL (Structured Query Language) naredbu. SQL je jezik upita koji Access koristi. Pomoću sledeće procedure možete da se prebacite u SQL prikaz da biste videli SQL naredbu.

  1. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  2. Kliknite na komandu SQL prikaz.

SQL naredba izgleda ovako:

SELECT Issues.Title, 
Issues.AssignedTo.Value
FROM Issues;

Vrh stranice

Razumevanje povezane vrednosti i vrednosti za prikaz u polju za pronalaženje

Polje sa više vrednosti je polje za pronalaženje. Polje za pronalaženje je polje u tabeli čija se vrednost preuzima iz druge tabele ili upita ili iz liste vrednosti. Access je podržavao polja za pronalaženje sa jednom vrednošću u nekoliko verzija. Polja za pronalaženje sa više vrednosti su novost u programu Office Access 2007. Svrha polja za pronalaženje je da prikazivanje broja kao što je ID (ili vrednost sporednog ključa) zameni nečim što ima više smisla, kao što je ime. Na primer, umesto prikazivanja vrednosti ID-a kontakta, Access može da prikaže ime kontakta. ID kontakta je povezana vrednost. ID kontakta se automatski traži u izvornoj tabeli ili upitu i zamenjuje imenom kontakta. Ime kontakta je vrednost za prikaz.

Kao i u slučaju polja za pronalaženje sa jednom vrednošću koje ima vrednost za prikaz i povezanu vrednost, polje za pronalaženje sa više vrednosti ima vrednosti za prikaz koje se pojavljuju u korisničkom interfejsu i povezane vrednosti koje su uskladištene u tabeli. Za svaki unos u polje sa više vrednosti, vrednost za prikaz „se pronalazi“ na osnovu povezane vrednosti.

To znači da Access često prikazuje pronađenu vrednost za prikaz koja nije ista kao povezana vrednost koja je uskladištena u polju. Na primer, u prethodnom primeru koji koristi polje „Dodeljeno“, skup ID vrednosti zaposlenih iz upita „Prošireni kontakti“ uskladišteni su u polje „Dodeljeno“. Upit „Prošireni kontakti“ je izabran kao „Izvor reda“ kada je kreirano polje sa više vrednosti.

Ovi ID-ovi zaposlenih su povezane vrednosti. Međutim, pošto je „Dodeljeno“ polje za pronalaženje, Access će prikazati skup pronađenih vrednosti u rezultatu upita – u ovom slučaju, imena kontakata. Imena kontakata su vrednosti za prikaz.

List sa podacima sa vrednostima prikaza nasuprot listu sa podacima sa vrednostima povezivanja

1. Vrednosti za prikaz

2. Povezane vrednosti.

Svojstva za pronalaženje za polje sa više vrednosti možete videti u prikazu dizajna. To možete uraditi na sledeći način:

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. U oknu za navigaciju, dvaput kliknite na tabelu u kojoj se nalazi polje sa više vrednosti.

  4. Izaberite stavku Prikaz dizajna.

  5. Kliknite na polje sa više vrednosti (na primer, kliknite na polje „Dodeljeno“).

  6. U odeljku Svojstva polja izaberite karticu Pronalaženje.

Svojstva polja za pronalaženje sa više vrednosti

Važno je praviti razliku između vrednosti za prikaz i povezane vrednosti u polju za pronalaženje. Vrednost za prikaz se podrazumevano automatski prikazuje u prikazu lista sa podacima. Međutim, povezana vrednost je vrednost koja se skladišti, koja se koristi u kriterijumu upita i koju Access podrazumevano koristi u spajanjima sa drugim tabelama.

Vrh stranice

Kako prikazati povezanu vrednost u upitu?

Podrazumevano, vrednost za prikaz se automatski prikazuje u prikazu lista sa podacima. To ponašanje možete zameniti tako da se umesto toga prikazuje povezana vrednost kada kreirate upit. Koraci koje je potrebno da preduzmete su prikazani u sledećoj proceduri:

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Slika trake programa Access

  4. U dijalogu Prikazivanje tabele izaberite tabelu (u ovom primeru, „Sporne stavke“) koja sadrži polje sa više vrednosti, a zatim kliknite na dugme Dodaj.

  5. Kliknite na dugme Zatvori.

  6. Prevucite polja koja želite da koristite u koordinatnu mrežu za dizajn upita. U ovom primeru, prevucite polje „Naslov“ i polje sa više vrednosti nazvano „Dodeljeno.Value“ u koordinatnu mrežu upita.

  7. Kliknite na polje „Dodeljeno.Value“ u koordinatnoj mreži upita tako da ovo polje ima fokus.

  8. Na kartici Dizajn, u grupi Prikazivanje/skrivanje kliknite na dugme List sa svojstvima.

  9. U listu sa svojstvima, na kartici Pronalaženje, u svojstvu Kontrola prikaza izaberite stavku Okvir za tekst.

Prikaz svojstva kontrole u dizajnu upita

Kada promenite vrednost svojstva „Kontrola prikaza“ u vrednost „Okvir za tekst“, onemogućićete normalno ponašanje kolone za pronalaženje tako da se prikaže povezana vrednost umesto vrednosti za prikaz.

Povezana vrednost prikazana u rezultatu upita

Vrh stranice

Unošenje kriterijuma za jednostavni upit za polje sa više vrednosti

Pretpostavimo da želite da vidite sporne stavke dodeljene zaposlenom „Vesna Rolović“. Kriterijume upita možete da unesete u redu „Kriterijumi“ u koordinatnoj mreži upita, ali kada unesete kriterijume za polje za pronalaženje, morate uneti povezanu vrednost, a ne vrednost za prikaz. U ovom slučaju, odredite da povezana vrednost za ime Vesna Rolović bude 6. To je odgovarajuća vrednost primarnog ključa u upitu „Prošireni kontakti“ za ime Vesna.

Da biste kreirali upit koji prikazuje pitanja dodeljena imenu Vesna:

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Slika trake programa Access

  4. U dijalogu Prikazivanje tabele izaberite tabelu (u ovom primeru, „Sporne stavke“) koja sadrži polje sa više vrednosti, a zatim kliknite na dugme Dodaj.

  5. Kliknite na dugme Zatvori.

  6. Prevucite polja koja želite da koristite u koordinatnu mrežu upita. U ovom primeru, prevucite polje Naslov u prvu kolonu u koordinatnoj mreži. Zatim prevucite polje Dodeljeno u drugu kolonu.

  7. Na kartici koordinatne mreže upita, u redu „Kriterijumi“, u polje Dodeljeno unesite vrednost 6. Imajte u vidu da treba da unesete povezanu vrednost, a ne vrednost za prikaz.

    Koordinatna mreža upita sa kriterijumima u polju sa više vrednosti

  8. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni da biste pokrenuli upit.

Rezultat se pojavljuje u prikazu lista sa podacima kada pokrenete upit. Imajte u vidu da upit vraća samo redove u kojima se prikazuje ime „Vesna Rolović“.

Rezultat upita u kom vrednost „Dodeljeno“ sadrži broj 6

Kada kreirate upit pomoću prikaza dizajna, Access automatski generiše odgovarajuću SQL (Structured Query Language) naredbu. SQL je jezik upita koji Access koristi. Pomoću sledeće procedure možete da se prebacite u SQL prikaz da biste videli SQL naredbu.

  1. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  2. Kliknite na komandu SQL prikaz.

SQL naredba izgleda ovako:

SELECT Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

Pronalaženje teksta umesto ID broja

Šta ako vam je unošenje ID brojeva teško i više biste želeli da unesete ime „Vesna Rolović“ kao vrednost za pretragu? Morate imati polje u rezultatu upita koje sadrži tekstualno ime da bi to funkcionisalo. Na taj način možete pronaći zaposlenu „Vesna Rolović“ u tom polju.

Polje „Dodeljeno.Value“ ne možete da koristite zato što je povezana vrednost ID broj i zbog toga morate da unesete ID broj da biste filtrirali to polje.

U ovom primeru, polje sa imenom kontakta se ne nalazi u tabeli. Umesto toga, ono se nalazi u izvornom upitu u kom se nalaze podaci za polje sa više vrednosti „Dodeljeno“. Izvornu tabelu ili upit koji sadrži polje sa više vrednosti možete da spojite sa tabelom u kojoj se nalazi polje sa više vrednosti kako biste obuhvatili polje (ime kontakta u ovom primeru) iz izvorne tabele ili upita u rezultat upita. Zatim možete da pretražite to polje umesto polja sa više vrednosti.

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Slika trake programa Access

  4. U dijalogu Prikazivanje tabele izaberite tabelu (u ovom primeru, „SporneStavke“) koja sadrži polje sa više vrednosti, a zatim kliknite na dugme Dodaj.

  5. U dijalogu Prikazivanje tabele izaberite karticu Upiti, a zatim izaberite upit (u ovom primeru „Prošireni kontakti“) koji je izvor polja sa više vrednosti, a zatim kliknite na dugme Dodaj.

  6. Kliknite na dugme Zatvori.

  7. Prevucite polja koja želite da koristite u koordinatnu mrežu upita. U ovom primeru, prevucite polje Naslov iz tabele „SporneStavke“ u prvu kolonu koordinatne mreže. Zatim prevucite polje Ime kontakta iz upita „Prošireni kontakti“ u drugu kolonu i opozovite izbor „Prikaži“. Zatim prevucite polje Dodeljeno u treću kolonu.

  8. Kliknite i prevucite polje „ID“ iz upita „Prošireni kontakti“ u polje „Dodeljeno.Value“ u tabeli „SporneStavke“, ako linija za spajanje nije vidljiva između polja „ID“ u upitu „Prošireni kontakti“ i polja „Dodeljeno.Value“, kao što je dole prikazano.

    Prikazaće se linija za spajanje.

    Uklonite druge linije za spajanje ako su neke vidljive. Kliknite da biste istakli liniju za spajanje, a zatim pritisnite dugme „Izbriši“ da biste je uklonili.

  9. U koordinatnoj mreži upita, u redu „Kriterijumi“, u polje Ime kontakta unesite tekst „Vesna Rolović“.

    Koordinatna mreža upita sa kriterijumima polja „Dodeljeno“ koje sadrži ime „Vesna Rolović“

  10. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni da biste pokrenuli upit.

Rezultat će se prikazati u prikazu lista sa podacima kada pokrenete upit. Imajte na umu da će rezultati prikazati samo redove u kojima se pojavljuje ime „Vesna Rolović“. Ova tehnika funkcioniše zato što veza između ID broja u izvornoj tabeli ili upitu i polju „Dodeljeno.Value“ vraća poseban red za svaku vrednost u polju sa više vrednosti. Svaki red obuhvata i polje „Ime kontakta“ sa punim imenom. Ne postoji povezana vrednost i vrednost za prikaz zato što je polje „Ime kontakta“ izračunato polje, a ne polje za pronalaženje. Postoji samo jedna vrednost – ime kontakta. Na taj način možete da obezbedite tekst za podudaranje, u ovom slučaju „Vesna Rolović“.

Rezultat upita sa poljem „Dodeljeno“ u kom se nalazi ime „Vesna Rolović“

Kada kreirate upit pomoću prikaza dizajna, Access automatski generiše odgovarajuću SQL (Structured Query Language) naredbu. SQL je jezik upita koji Access koristi. Pomoću sledeće procedure možete da se prebacite u SQL prikaz da biste videli SQL naredbu.

  1. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  2. Kliknite na komandu SQL prikaz.

SQL naredba izgleda ovako:

SELECT Issues.Title, Issues.AssignedTo 
FROM [Contacts Extended] INNER JOIN Issues ON
[Contacts Extended].ID = Issues.AssignedTo.Value
WHERE ((([Contacts Extended].[Contact Name])=
"Kelly Rollin"));

Vrh stranice

Pronalaženje više vrednosti u polju sa više vrednosti

Ponekad je potrebno da pronađete podudaranje sa više vrednosti. Pretpostavimo da želite da vidite sporne stavke za koje se imena „Vesna Rolović“ i „Lidija Milić“ pojavljuju među vrednostima u polju „Dodeljeno“. Povezana vrednost za Vesnu Rolović je 6, a povezana vrednost za Lidiju Milić je 10. Operatore AND i OR možete da koristite da biste naveli nekoliko kriterijuma za polje sa više vrednosti.

Koristite sledeću proceduru da biste kreirali upit.

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  4. U dijalogu Prikazivanje tabele izaberite tabelu (u ovom primeru, „SporneStavke“) koja sadrži polje sa više vrednosti, a zatim kliknite na dugme Dodaj.

  5. Kliknite na dugme Zatvori.

  6. Prevucite polja koja želite da koristite u koordinatnu mrežu upita. U ovom primeru, prevucite polje Naslov u prvu kolonu u koordinatnoj mreži. Zatim prevucite polje Dodeljeno u drugu kolonu.

  7. U koordinatnoj mreži upita, u okviru "Dodeljeno", u polju kriterijumi otkucajte 6 i 10.

    Upit koji prikazuje upotrebu operatora AND u polju sa više vrednosti

  8. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni da biste pokrenuli upit.

Rezultat se pojavljuje u prikazu lista sa podacima kada pokrenete upit.

Rezultat upita koji prikazuje upotrebu operatora AND u polju sa više vrednosti

Rezultat prikazuje samo sporne stavke koji su dodeljeni i Vesni Rolović i Lidiji Milić. Access automatski generiše odgovarajuću SQL (Structured Query Language) naredbu kada kreirate upit pomoću prikaza dizajna. SQL je jezik upita koji Access koristi. Možete da se prebacite u SQL prikaz da biste videli SQL naredbu pomoću sledeće procedure.

  1. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  2. Kliknite na komandu SQL prikaz.

SQL naredba izgleda ovako:

SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
And (Issues.AssignedTo.Value)=10));

Korišćenje operatora OR umesto operatora AND

Pretpostavimo da želite da promenite upit tako da prikazuje one redove u kojima se pojavljuje ime „Vesna Rolović“ ili „Lidija Milić“. SQL naredbu možete da uredite da biste koristili operator OR umesto operatora AND. Naredba bi trebalo da izgleda poput:

SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
Or (Issues.AssignedTo.Value)=10));

Rezultat se pojavljuje u prikazu lista sa podacima kada pokrenete upit.

Upit koji koristi operator Or sa poljem sa više vrednosti

Rezultat prikazuje samo pitanja koja su dodeljena ili Vesni Rolović ili Lidiji Milić.

Vrh stranice

Razumevanje uticaja obuhvatanja polja „.Value“ listom polja

Važno je razumeti uticaj obuhvatanja polja .Value listom izlaznih kolona (lista SELECT) u upitu. Prvi korak je da se proizvede skup rezultata bez uticaja odredbe WHERE ili filtera kada se obrađuje upit. Zatim se na taj prvobitni skup primenjuje filter. Stoga može biti od pomoći da prvo generišete taj skup rezultata, a zatim da ga smanjite pomoću filtera u odredbi WHERE. Na primer, razmotrite ovaj primer:

SELECT Issues.Title, AssignedTo
FROM Issues
WHERE NOT AssignedTo.Value = 3;

Početni skup rezultata bi pre filtriranja mogao izgledati na sledeći način:

Naslov

Dodeljeno

Sporna stavka 1

Dragiša Vukmirović, Eva Zorić

Sporna stavka 2

Katarina Jovanović, Vesna Rolović, Slađana Bukvić, Lidija Milić

Sporna stavka 3

Jadranko Avramović, Vesna Rolović, Eva Zorić, Toma Mikelić

Sporna stavka 4

Veljko Jugović, Lidija Milić

Sporna stavka 5

Dragiša Vukmirović, Katarina Jovanović

Sporna stavka 6

Sanjin Janković, Vesna Rolović

Sporna stavka 7

Jadranko Avramović, Slađana Bukvić

Sporna stavka 8

Dragiša Vukmirović

Sporna stavka 9

Vesna Rolović, Lidija Milić

Sporna stavka 10

Eva Zorić, Toma Mikelić

Korak filtriranja zatim prolazi kroz prvobitni skup rezultata i bira redove koji ne obuhvataju ime Dragiša Vukmirović čiji je ID broj 3:

Naslov

Dodeljeno

Sporna stavka 2

Katarina Jovanović, Vesna Rolović, Slađana Bukvić, Lidija Milić

Sporna stavka 3

Jadranko Avramović, Vesna Rolović, Eva Zorić, Toma Mikelić

Sporna stavka 4

Veljko Jugović, Lidija Milić

Sporna stavka 6

Sanjin Janković, Vesna Rolović

Sporna stavka 7

Jadranko Avramović, Slađana Bukvić

Sporna stavka 9

Vesna Rolović, Lidija Milić

Sporna stavka 10

Eva Zorić, Toma Mikelić

Razmotrite sada drugi primer – koji obuhvata polje .Value listom polja. Prvo zapazite kako prisustvo polja .Value menja prvobitni skup rezultata pre filtriranja:

SELECT Issues.Title, AssignedTo.Value
FROM Issues
WHERE NOT AssignedTo.Value = 3;

Početni skup rezultata pre filtriranja izgleda na sledeći način:

Naslov

Dodeljeno.Value

Sporna stavka 1

Dragiša Vukmirović

Sporna stavka 1

Eva Zorić

Sporna stavka 2

Katarina Jovanović

Sporna stavka 2

Vesna Rolović

Sporna stavka 2

Lidija Milić

Sporna stavka 2

Slađana Bukvić

Sporna stavka 3

Eva Zorić

Sporna stavka 3

Jadranko Avramović

Sporna stavka 3

Vesna Rolović

Sporna stavka 3

Toma Mikelić

Sporna stavka 4

Lidija Milić

Sporna stavka 4

Veljko Jugović

Sporna stavka 5

Dragiša Vukmirović

Sporna stavka 5

Katarina Jovanović

Sporna stavka 6

Vesna Rolović

Sporna stavka 6

Sanjin Janković

Sporna stavka 7

Jadranko Avramović

Sporna stavka 7

Slađana Bukvić

Sporna stavka 8

Dragiša Vukmirović

Sporna stavka 9

Vesna Rolović

Sporna stavka 9

Lidija Milić

Sporna stavka 10

Toma Mikelić

Sporna stavka 10

Eva Zorić

Sada korak filtriranja prolazi kroz prvobitni skup rezultata i bira samo redove koji ne obuhvataju ime Dragiša Vukmirović čiji je ID broj 3:

Naslov

Dodeljeno.Value

Sporna stavka 1

Eva Zorić

Sporna stavka 2

Katarina Jovanović

Sporna stavka 2

Vesna Rolović

Sporna stavka 2

Lidija Milić

Sporna stavka 2

Slađana Bukvić

Sporna stavka 3

Eva Zorić

Sporna stavka 3

Jadranko Avramović

Sporna stavka 3

Vesna Rolović

Sporna stavka 3

Toma Mikelić

Sporna stavka 4

Lidija Milić

Sporna stavka 4

Veljko Jugović

Sporna stavka 5

Katarina Jovanović

Sporna stavka 6

Vesna Rolović

Sporna stavka 6

Sanjin Janković

Sporna stavka 7

Jadranko Avramović

Sporna stavka 7

Slađana Bukvić

Sporna stavka 9

Vesna Rolović

Sporna stavka 9

Lidija Milić

Sporna stavka 10

Toma Mikelić

Sporna stavka 10

Eva Zorić

Vizuelizovanje skupa rezultata pre i nakon primene filtera trebalo bi da olakša da ispravno predvidite rezultat upita.

Vrh stranice

Prebrojavanje, grupisanje i korišćenje drugih agregatnih funkcija

Možda ćete poželeti da izvršite računanja po grupama vrednosti koje su uskladištene u polju sa više vrednosti. Na primer, koliko spornih stavki je dodeljeno svakoj osobi? Koliko osoba je dodeljeno svakoj spornoj stavci? Ovu vrstu računanja možete izvršiti uvođenjem agregatne funkcije u upit za ukupne vrednosti.

Agregatna funkcija izvršava računanje po grupi vrednosti, a zatim vraća jednu vrednost. Na primer, funkcije Zbir, Brojanje i Prosek su tri agregatne funkcije koje možete da koristite za računanje ukupnih vrednosti. Ukupne vrednosti možete da izračunate za sve zapise ili grupe zapisa. U koordinatnoj mreži upita morate izabrati polje ili polja po kojima ćete izvršiti grupisanje da biste napravili rezime po grupi.

Sledeća procedura prikazuje kako ćete kreirati upit za izračunavanje broja problema dodeljenog svakoj osobi.

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Slika trake programa Access

  4. U dijalogu Prikazivanje tabele izaberite tabelu (u ovom primeru, „Sporne stavke“) koja sadrži polje sa više vrednosti, a zatim kliknite na dugme Dodaj.

  5. Kliknite na dugme Zatvori.

  6. Prevucite polja koja želite da koristite u koordinatnu mrežu upita. U ovom primeru, prevucite polje Dodeljeno.Value u prvu kolonu u koordinatnoj mreži. Zatim prevucite polje Naslov u drugu kolonu.

  7. Na kartici Dizajn, u grupi Prikazivanje/skrivanje kliknite na dugme Ukupne vrednosti.

    Red Ukupno prikazuje se u koordinatnoj mreži upita. Vrednost Grupiši po podrazumevano se prikazuje u ćeliji Ukupno u svakom polju u upitu.

  8. U koordinatnoj mreži upita, u redu Ukupno, u polju Naslov izaberite stavku Brojanje.

  9. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni da biste pokrenuli upit.

Kada dizajnirate upit, navodite koja polja se koriste za grupisanje i koja polja se koriste za ukupne vrednosti (računanja). U ovom primeru, polje „Dodeljeno.Value“ korišćeno je za grupisanje, a polje „Naslov“ za računanje ukupne vrednosti. U redu Ukupno izaberite stavku Grupiši po za polja koja želite da koristite za grupisanje. Izaberite tip računanja (kao što je funkcija Zbir ili Prosek) za polja koja želite da koristite za računanje ukupne vrednosti. Imajte na umu da morate koristiti polje „.Value“ kada koristite polje sa više vrednosti za grupisanje. U ovom primeru, polje „Dodeljeno“ ne možete da koristite za grupisanje – morate koristiti polje „Dodeljeno.Value“. Polje „.Value“ možete da koristite i kada polje sa više vrednosti koristite za sortiranje.

Napomena : Polje „.Value“ morate da koristite kada polje sa više vrednosti koristite za grupisanje. Polje „.Value“ morate da koristite kada polje sa više vrednosti koristite za sortiranje.

Rezultat se pojavljuje u prikazu lista sa podacima kada pokrenete upit.

Upit koji prebrojava sporne stavke dodeljene svakoj osobi

Prebacite se u SQL prikaz pomoću sledeće procedure da biste videli SQL naredbu za ovaj upit.

  1. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  2. Kliknite na komandu SQL prikaz.

SQL naredba izgleda ovako:

SELECT Issues.AssignedTo.Value, 
Count(Issues.Title) AS CountOfTitle
FROM Issues
GROUP BY Issues.AssignedTo.Value;

Pretpostavimo da želite da saznate koliko osoba je dodeljeno svakom problemu. Možete da grupišete po vrednosti polja „Naslov“ i izaberete stavku „Brojanje“ za izračunavanje polja sa više vrednosti. Koristite sledeću proceduru da biste kreirali upit.

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Slika trake programa Access

  4. U dijalogu Prikazivanje tabele izaberite tabelu (u ovom primeru, „Sporne stavke“) koja sadrži polje sa više vrednosti, a zatim kliknite na dugme Dodaj.

  5. Kliknite na dugme Zatvori.

  6. Prevucite polja koja želite da koristite u koordinatnu mrežu upita. U ovom primeru, prevucite polje Naslov u prvu kolonu u koordinatnoj mreži. Zatim prevucite polje Dodeljeno u drugu kolonu.

  7. Na kartici Dizajn, u grupi Prikazivanje/skrivanje kliknite na dugme Ukupne vrednosti.

    Red Ukupno prikazuje se u koordinatnoj mreži upita. Vrednost Grupiši po podrazumevano se prikazuje u ćeliji Ukupno u svakom polju „Naslov“ u upitu. Vrednost Izraz podrazumevano se prikazuje u ćeliji Ukupno u polju „Dodeljeno“ – to se dešava zato što operaciju „Grupiši po“ ne možete da izvršite u polju sa više vrednosti. To možete učiniti samo u polju sa više vrednosti „.Value“.

  8. U koordinatnoj mreži upita, u redu Ukupno, u polju Dodeljeno izaberite stavku Brojanje.

  9. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni da biste pokrenuli upit.

Rezultat se pojavljuje u prikazu lista sa podacima kada pokrenete upit.

Rezultat upita koji prikazuje računanje broja osoba po spornoj stavci

Prebacite se u SQL prikaz pomoću sledeće procedure da biste videli SQL naredbu za ovaj upit.

  1. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  2. Kliknite na komandu SQL prikaz.

SQL naredba izgleda ovako:

SELECT Issues.Title, 
Count(Issues.AssignedTo) AS CountOfAssignedTo
FROM Issues
GROUP BY Issues.Title;

Napomena : U ovoj SQL SELECT naredbi nije važno da li koristite funkciju Count(SporneStavke.Dodeljeno) ili Count(SporneStavke.Dodeljeno.Value) – rezultat je isti.

Vrh stranice

Korišćenje upita za dodavanje u polju sa više vrednosti

Pojedinačnu vrednost možete da umetnete u polje sa više vrednosti pomoću upita za umetanje. Na primer, pretpostavimo da želite da dodate ime „Vesna Rolović“ u polje sa više vrednosti „Dodeljeno“ za spornu stavku. Prvo odredite vrednost primarnog ključa za spornu stavku i za zapis kontakta za ime Vesna. Pretpostavimo da su 10 i 6 vrednosti za spornu stavku i za ime Vesna.

Sledeća procedura prikazuje kako da kreirate upit.

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Slika trake programa Access

  4. U dijalogu Prikazivanje tabele kliknite na dugme Zatvori.

  5. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  6. Kliknite na komandu SQL prikaz.

  7. U SQL prikazu upišite sledeći SQL izraz:

    INSERT INTO Issues ( AssignedTo.[Value] )
    VALUES (6)
    WHERE ID = 10;
  8. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni da biste pokrenuli upit.

    Access vas može upitati da potvrdite da li želite da dodate izbrisani red. Kliknite na dugme Da da biste umetnuli red ili kliknite na dugme Ne da biste otkazali.

Ime Vesna se sada nalazi u polju „Dodeljeno“ za tu spornu stavku. To je jedini oblik upita za umetanje koji će funkcionisati u polju sa više vrednosti.

Napomena : Upit za dodavanje je upit koji koristite za dodavanje zapisa iz jedne u drugu postojeću tabelu. U programu Office Access 2007 ne možete da koristite upit za dodavanje koji referencira tabelu u kojoj se nalazi polje sa više vrednosti. Na primer, sledeći upit je nevažeći:

INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;

Vrh stranice

Korišćenje upita za ažuriranje u polju sa više vrednosti

Upit za ažuriranje možete da koristite da biste izmenili vrednosti u postojećim zapisima. Pojedinačnu vrednost u polju sa više vrednosti možete da izmenite u drugu vrednost kada koristite upit za ažuriranje da biste ažurirali tabelu koja sadrži polja sa više vrednosti. Pretpostavimo da želite da ažurirate polje sa više vrednosti „Dodeljeno“ za određenu spornu stavku – na primer, da biste zamenili ime „Vesna Rolović“ imenom „Lidija Milić“. Prvo odredite vrednost primarnog ključa za spornu stavku i za zapise kontakta za ime Vesna i ime Lidija. Pretpostavimo da je 8 vrednost sporne stavke, 6 je vrednost za ime Vesna, a 10 je vrednost za ime Lidija.

Sledeća procedura prikazuje kako da kreirate upit.

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  4. U dijalogu Prikazivanje tabele kliknite na dugme Zatvori.

  5. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  6. Kliknite na komandu SQL prikaz.

  7. U SQL prikazu upišite sledeću SQL naredbu:

    UPDATE Issues 
    SET Issues.AssignedTo.Value = 10
    WHERE (((Issues.AssignedTo.Value)=6)
    AND ((Issues.ID)=8));

    Napomene : 

    • Trebalo bi da uvek primenite odredbu WHERE koja identifikuje samo zapise koje želite da ažurirate. U suprotnom, ažuriraćete zapise koje niste nameravali da izmenite. Upit za ažuriranje koji ne sadrži odredbu WHERE menja sve redove u tabeli.

    • Možete da navedete jednu vrednost da biste je promenili.

  8. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni da biste pokrenuli upit.

    Access vas može upitati da potvrdite da li želite da ažurirate zapis. Kliknite na dugme Da da biste ažurirali red ili kliknite na dugme Ne da biste otkazali.

Ime Lidija Milić se sada nalazi na mestu Vesne Rolović u polju „Dodeljeno“ za tu spornu stavku.

Vrh stranice

Korišćenje upita za brisanje u polju sa više vrednosti

Upit za brisanje možete da koristite da biste uklonili zapise iz tabele. Upit za brisanje možete da koristite za brisanje zapisa koji obuhvataju određenu vrednost u polju sa više vrednosti ili za brisanje određene vrednosti iz polja sa više vrednosti u svim zapisima u tabeli kada radite sa tabelom u kojoj se nalazi polje sa više vrednosti.

Pretpostavimo da želite da uklonite ime „Vesna Rolović“ iz polja „Dodeljeno“ u celoj tabeli. Upit kreirate pomoću sledeće procedure.

  1. Kliknite na dugme Microsoft Office Slika Office dugmeta , a zatim izaberite stavku Otvori.

  2. U dijalogu Otvaranje izaberite i otvorite bazu podataka.

  3. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  4. U dijalogu Prikazivanje tabele kliknite na dugme Zatvori.

  5. Na kartici Dizajn, u grupi Rezultati kliknite na strelicu ispod dugmeta Prikaži da biste otvorili meni Prikaz.

  6. Kliknite na komandu SQL prikaz.

  7. U SQL prikazu upišite sledeći SQL izraz:

    DELETE Issues.AssignedTo.Value
    FROM Issues
    WHERE (((Issues.AssignedTo.Value)=6));
  8. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni da biste pokrenuli upit.

    Access vas može upitati da potvrdite da li želite da izbrišete zapise. Kliknite na dugme Da da biste izbrisali zapise ili kliknite na dugme Ne da biste otkazali.

Sledeći primer upita ne briše zapise iz tabele „SporneStavke“. On briše vrednost iz polja sa više vrednosti „Dodeljeno“ u svakom zapisu u kom se pojavljuje ta vrednost. Nakon odredbe DELETE u SQL naredbi nemojte da navedete polje ako želite da izbrišete zapise iz tabele „SporneStavke“. Na primer, unesite sledeću SQL odredbu da biste izbrisali sve sporne stavke u kojima se ime „Vesna Rolović“ nalazi na listi osoba kojima je dodeljena sporna stavka:

DELETE 
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

Napomena : Budite pažljivi kada brišete zapise pomoću upita za brisanje. Zapise nećete moći da povratite nakon brisanja.

Vrh stranice

Napomena : Odricanje odgovornosti za mašinski prevod: Ovaj članak je preveo računarski sistem bez ljudske intervencije. Microsoft nudi ove mašinske prevode da bi pomogao korisnicima koji ne govore engleski da uživaju u sadržaju o Microsoft proizvodima, uslugama i tehnologijama. Budući da je članak mašinski preveden, može da sadrži greške u rečniku, sintaksi ili gramatici.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×