Pastaba: Norėtume jums kuo greičiau pateikti naujausią žinyno turinį jūsų kalba. Šis puslapis išverstas automatiškai, todėl gali būti gramatikos klaidų ar netikslumų. Mūsų tikslas – padaryti, kad šis turinys būtų jums naudingas. Gal galite šio puslapio apačioje mums pranešti, ar informacija buvo naudinga? Čia yra straipsnis anglų kalba , kuriuo galite pasinaudoti kaip patogia nuoroda.
Programoje Microsoft Office Access 2007 galite kurti lauką, kuris sulaiko kelias reikšmes, pvz., sąrašą žmonių, kuriems priskyrėte atvejų. Kelių reikšmių laukai yra tinkami tam tikrose situacijose, pvz., kai naudojate programą Office Access 2007 norėdami dirbti su informacija, saugoma sąraše Windows SharePoint Services 3.0 ir kai tas sąrašas įtraukia lauką, naudojantį vieną iš kelių reikšmių laukų tipų, galimų Windows SharePoint Services 3.0.
Šiame straipsnyje aptariami kelių reikšmių laukai ir jų naudojimas užklausose.
Šiame straipsnyje
Kas yra kelių reikšmių laukas?
Tarkime, vienam iš savo darbuotojų ar rangovų turite priskirti užduotį, tačiau nusprendžiate, kad norite užduotį priskirti daugiau nei vienam asmeniui. Programoje Office Access 2007 galite sukurti kelių reikšmių lauką, leidžiantį iš sąrašo pasirinkti asmenis.
Spustelėjus pasirinktinio įvedimo lauką, rodomi pažymėti žymės langeliai, nurodantys jūsų pasirinkimus. Sąraše galite pažymėti arba išvalyti prekes ir spustelėti Gerai, norėdami pateikti pasirinkimus.
Pasirinkti asmenys saugomi kelių reikšmių lauke, o juos rodant atskiriami kableliais (pagal numatytuosius parametrus).
Kelių reikšmių laukų esmė yra palengvinti palaikymą tais atvejais, kai norite pažymėti ir saugoti daugiau nei vieną pasirinkimą, nekurdami sudėtingesnio duomenų bazės dizaino. Kelių reikšmių laukai taip pat svarbūs integruojant su programa Windows SharePoint tarnybos, nes programos SharePoint sąrašai taip pat palaiko kelių reikšmių laukus.
Galbūt galvojate, kodėl programa Office Access 2007 lauke leidžia saugoti daugiau nei vieną reikšmę, kai dauguma sąryšinių duomenų bazių valdymo sistemų tai draudžia. Taip yra todėl, kad programos Office Access 2007 duomenų bazės variklis iš tiesų nesaugo reikšmių viename lauke. Netgi jei tai, ką matote ir su kuo dirbate, atrodo kaip vienas laukas, iš tikrųjų reikšmės saugomos nepriklausomai ir tvarkomos paslėptose sisteminėse lentelėse. Programos Access duomenų bazė tai sutvarko už jus, automatiškai atskirdama duomenis ir vėl juos atstatydama, kad parodytų reikšmes viename lauke.
Tiksliau sakant, programos Access kelių reikšmių laukas sumodeliuoja ryšį Daugelis su daugeliu. Pavyzdžiui, išnagrinėkite įvykių lentelę, kurioje vienam ar daugiau darbuotojų priskiriate kiekvieno įvykio atsakomybę. Tarkime, kad norėdami darbuotojams priskirti įvykius, sukuriate kelių reikšmių lauką Kam_priskirta. Santykis tarp įvykių ir darbuotojų yra Daugelis su daugeliu. T. y. galite vienam įvykiui priskirti daug darbuotojų ir taip pat daugeliui įvykių priskirti vieną darbuotoją.
Užklausų pristatymas
Pirminė duomenų bazių paskirtis yra informacijos pateikimas: „Koks mūsų produktas geriausias? Kas mūsų geriausias klientas? Kada netenkiname pardavimų tikslų?“ Visus šiuos klausimus galite teisėtai užduoti gerai sukurtai duomenų bazei. Norėdami iš programos Access duomenų bazės gauti atsakymus, turite sukurti užklausą ir įvesti reikiamus kriterijus. Užklausoje esantys duomenys gali būti iš vienos ar daugiau lentelių. Programai Access grąžinus duomenis, atsakančius į jūsų klausimą, tuos duomenis galite peržiūrėti. Sukūrę užklausą galite ją naudoti kaip formos, ataskaitos, diagramos ar net kitos užklausos pagrindą.
Programa Office Access 2007 leidžia tam tikrais būdais kelių reikšmių laukus įtraukti į tam tikras užklausas. Naudodami kelių reikšmių laukus galite rodyti kelių reikšmių lauką užklausoje, užklausoje esančiame kelių reikšmių lauke rodyti atskiras reikšmes ir vykdyti tam tikras pasirinktas agregavimo operacijas ir veiksmų užklausas.
Kelių reikšmių lauko rodymas užklausoje
Kai kelių reikšmių lauką rodote užklausoje, turite nuspręsti, ar norite rodyti visą kelių reikšmių lauką, saugantį kableliais atskirtas reikšmes, ar atskirą kiekvienos reikšmės eilutę. Tarkime, kad turite lentelę Atvejai, kurioje saugomas laukas Priskirta (AssignedTo), naudojamas norint žmonėms priskirti atvejus. Galite kurti užklausą, kurioje yra laukas Priskirta (AssignedTo), atlikdami šią procedūrą.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite lentelę (šiuo atveju Problemos), kurioje yra kelių reikšmių laukas, tada spustelėkite Pridėti.
-
Spustelėkite Uždaryti.
-
Nuvilkite norimus naudoti laukus į užklausos kūrimo tinklelį. Šiuo atveju nuvilkite lauką Pavadinimas ir kelių reikšmių lauką Priskirta (AssignedTo) į užklausos tinklelį.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Jūsų užklausos rezultatas atrodys panašiai kaip ši iliustracija – viename stulpelyje rodomas atvejo pavadinimas, o kitame – kelių reikšmių laukas:
Kai kuriate užklausą naudodami dizaino rodinį, programa Access automatiškai sugeneruoja atitinkamą SQL (Structured Query Language) sakinį. SQL yra programos Access naudojama užklausų kalba. Galite pereiti į SQL rodinį, kad matytumėte SQL sakinį, atlikdami šią procedūrą.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
SQL sakinys atrodo taip:
SELECT Issues.Title,
Issues.AssignedTo
FROM Issues;
Atskirų reikšmių rodymas kelių reikšmių lauke
Tarkime, kad norite matyti išplėstą (kartais vadinamą išlygintu) kelių reikšmių lauką Priskirta (AssignedTo) taip, kad kiekvienas pavadinimas arba Priskirta (AssignedTo) reikšmė būtų rodoma atskiroje eilutėje. Norėdami tai atlikti, turite nurodyti ypatybę Reikšmė, pridėdami eilutę Reikšmė prie eilutėje Laukas esančios eilutės Priskirta (AssignedTo), kaip parodyta šiame užklausos tinklelyje:
Kai eilutėje Laukas nurodote Priskirta (AssignedTo), programa Access, vykdant užklausą, vienintelėje eilutėje rodo visas kelių reikšmių lauko reikšmes. Tačiau, kai naudojate ypatybę Reikšmė kaip Priskirta.Reikšmė (AssignedTo.Value), programa Access rodo kelių reikšmių lauką išplėstą, kad kiekviena reikšmė būtų rodoma atskiroje eilutėje. Galite kurti užklausą, norėdami rodyti atskiras reikšmes, atlikdami šią procedūrą.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite lentelę (šiuo atveju Problemos), kurioje yra kelių reikšmių laukas, tada spustelėkite Pridėti.
-
Spustelėkite Uždaryti.
-
Nuvilkite norimus naudoti laukus (šiuo atveju tai kelių reikšmių laukas Kam_priskirta.Reikšmė) į užklausos tinklelį.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Kai kuriate užklausą naudodami dizaino rodinį, programa Access automatiškai sugeneruoja atitinkamą SQL (Structured Query Language) sakinį. SQL yra programos Access naudojama užklausų kalba. Galite pereiti į SQL rodinį, kad matytumėte SQL sakinį, atlikdami šią procedūrą.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
SQL sakinys atrodo taip:
SELECT Issues.Title,
Issues.AssignedTo.Value
FROM Issues;
Susietosios reikšmės ir rodomos reikšmės peržvalgos lauke supratimas
Kelių reikšmių laukas yra peržvalgos laukas. Peržvalgos laukas yra lentelėje, kurios reikšmė nuskaityta iš kitos lentelės ar užklausos arba iš reikšmių sąrašo. Programa Access palaikydavo vienos reikšmės peržvalgos laukus keliose ankstesnėse versijose. Kelių reikšmių peržvalgos laukai programoje Office Access 2007 yra nauji. Peržvalgos lauko paskirtis yra pakeisti skaičiaus, pavyzdžiui, ID (arba kitos išorinio rakto reikšmės), rodymą prasmingesne reikšme, pavyzdžiui, vardu ir pavarde. Pavyzdžiui, vietoj rodomo kontakto ID numerio, programoje Access gali būti rodomas kontakto pavadinimas. Kontakto ID numeris yra susietoji reikšmė. Jo yra automatiškai ieškoma šaltinio lentelėje arba užklausoje ir jis pakeičiamas kontakto pavadinimu. Kontakto pavadinimas yra rodoma reikšmė.
Be vienos reikšmės peržvalgos lauko, turinčio rodymo reikšmę ir susietąją reikšmę, kelių reikšmių peržvalgos lauke yra vartotojo sąsajoje rodomos reikšmės ir lentelėje saugomos susietosios reikšmės. Kiekvieno kelių reikšmių lauko įrašo rodymo reikšmė yra peržiūrima, pagal susietąją reikšmę.
Tai reiškia, kad programoje Access dažnai pateikiama rasta rodoma reikšmė, kuri nesutampa su lauke saugoma susietąja reikšme. Pavyzdžiui, ankstesniame pavyzdyje, naudojančiame lauką Priskirta (AssignedTo), darbuotojo ID rinkinio reikšmės iš užklausos Papildoma informacija apie kontaktus saugomos lauke Priskirta (AssignedTo). Užklausa Papildoma informacija apie kontaktus buvo pasirinkta kaip eilutės šaltinis, sukūrus kelių reikšmių lauką.
Šie darbuotojo ID yra susietosios reikšmės. Kadangi laukas Priskirta (AssignedTo) yra peržvalgos laukas, programa Access kaip užklausos rezultatą rodo peržiūrėtas reikšmes, šiuo atveju kontaktų pavadinimus. Kontaktų pavadinimai yra rodymo reikšmės.
1. Rodymo reikšmės.
2. Susietosios reikšmės.
Dizaino rodinyje galite matyti kelių reikšmių lauko peržvalgos ypatybes. Štai kaip tai galite padaryti:
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pažymėkite ir atidarykite duomenų bazę.
-
Naršymo srityje dešiniuoju pelės mygtuku spustelėkite lentelę, kurioje saugomas kelių reikšmių laukas.
-
Spustelėkite komandą Dizaino rodinys.
-
Spustelėkite kelių reikšmių lauką (pvz., spustelėkite Kam priskirti (AssignedTo).
-
Dalyje Lauko ypatybės spustelėkite skirtuką Peržvalga.
Svarbu suprasti skirtumą tarp peržvalgos lauko rodomos reikšmės ir susietosios reikšmės. Pagal numatytuosius parametrus rodoma reikšmė automatiškai pateikiama duomenų lapo rodinyje. Tačiau susietoji reikšmė yra tai, kas saugoma, ką naudojate užklausos kriterijams ir tai, kas pagal numatytuosius parametrus programoje Access naudojama sujungiant su kitomis lentelėmis.
Susietosios reikšmės rodymas užklausoje
Pagal numatytuosius parametrus rodoma reikšmė automatiškai pateikiama duomenų lapo rodinyje. Kurdami užklausą galite anuliuoti šį veikimo būdą, kad būtų rodoma susietoji reikšmė. Veiksmai, kuriuos turėtumėte atlikti, parodyti šioje procedūroje:
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite lentelę (šiuo atveju Problemos), kurioje yra kelių reikšmių laukas, tada spustelėkite Pridėti.
-
Spustelėkite Uždaryti.
-
Nuvilkite norimus naudoti laukus į užklausos kūrimo tinklelį. Šiuo atveju, nuvilkite lauką Pavadinimas ir kelių reikšmių lauką Priskirta.Reikšmė (AssignedTo.Value) į užklausos tinklelį.
-
Užklausos tinklelyje spustelėkite lauką Priskirta.Reikšmė (AssignedTo.Value), kad šis laukas būtų aktyvintas.
-
Skirtuko Dizainas grupėje Rodymas/slėpimas spustelėkite Ypatybių lapas.
-
Ypatybių lape, esančiame skirtuke Peržvalga, pažymėkite ypatybės Rodymo valdiklis Teksto laukelį.
Kai ypatybę Rodymo valdiklis keičiate į Teksto laukelis, uždraudžiate normalų peržvalgos stulpelio veikimo būdą, taigi vietoj rodymo reikšmės rodoma susietoji reikšmė.
Paprastosios užklausos kriterijų įvedimas kelių reikšmių lauke
Tarkime, norite, kad Atvejai būtų priskirti Katerina Kolesnikova. Galite įvesti užklausos kriterijus į užklausos tinklelyje esančią eilutę Kriterijai, tačiau į peržvalgos lauką įvedus kriterijus, privalote įvesti susietąją reikšmę, o ne rodymo reikšmę. Tokiu atveju galite nustatyti, kad susietoji Katerina Kolesnikova reikšmė yra 6. Tai atitinkanti pirminė Katerina rakto reikšmė, esanti užklausoje Papildoma informacija apie kontaktus.
Norėdami kurti užklausą, rodančią Katerina priskirtus atvejus:
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite lentelę (šiuo atveju Problemos), kurioje yra kelių reikšmių laukas, tada spustelėkite Pridėti.
-
Spustelėkite Uždaryti.
-
Nuvilkite norimus naudoti laukus į užklausos tinklelį. Šiuo atveju, nuvilkite Pavadinimas į pirmą tinklelio stulpelį. Tada nuvilkite Priskirta (AssignedTo) į antrąjį stulpelį.
-
Užklausos tinklelio skirtuko dalyje Priskirta (AssignedTo), eilutėje Kriterijai, įveskite 6. Įsidėmėkite, kad įvedate susietąją reikšmę, o ne rodomą reikšmę.
-
Norėdami vykdyti užklausą, skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Vykdant užklausą, duomenų lapo rodinyje rodomas rezultatas. Įsidėmėkite, kad užklausa grąžina tik tas eilutes, kuriose rodoma „Katerina Kolesnikova".
Kai kuriate užklausą naudodami dizaino rodinį, programa Access automatiškai sugeneruoja atitinkamą SQL (Structured Query Language) sakinį. SQL yra programos Access naudojama užklausų kalba. Galite pereiti į SQL rodinį, kad matytumėte SQL sakinį, atlikdami šią procedūrą.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
SQL sakinys atrodo taip:
SELECT Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));
Teksto ieškojimas vietoj ID numerio
Ką daryti, jei ID numerių įvedimas yra sudėtingas ir todėl kaip ieškos reikšmę norėtumėte įvesti vardą ir pavardę Katerina Kolesnikova? Norint tai atlikti, užklausos rezultate privalo būti laukas, kuriame yra tekstinis pavadinimas. Tokiu būdu tame lauke galite ieškoti Katerina Kolesnikova.
Negalite naudoti lauko Priskirta.Reikšmė (AssignedTo.Value), nes jo susietoji reikšmė yra ID, taigi, norėdami tą lauką filtruoti, privalote įvesti ID.
Šiuo atveju kontakto pavadinimo laukas nepriklauso lentelei. Jis yra šaltinio užklausoje, kuri pateikia kelių reikšmių lauko Priskirta (AssignedTo) duomenis. Galite susieti šaltinio lentelę ar užklausą su kelių reikšmių lauku su lentele, kurioje yra kelių reikšmių laukai, norėdami į užklausos rezultatą iš šaltinio lentelės ar užklausos įtraukti lauką (šiuo atveju kontakto pavadinimą). Tada, vietoj kelių reikšmių lauko, galite ieškoti to lauko.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite lentelę (čia – Atvejai), kurioje yra kelių reikšmių laukas, tada spustelėkite Pridėti.
-
Dialogo lange Lentelės rodymas spustelėkite skirtuką Užklausos, tada spustelėkite užklausą (šiuo atveju Papildoma informacija apie kontaktus), esančią kelių reikšmių lauko šaltinis, ir spustelėkite Pridėti.
-
Spustelėkite Uždaryti.
-
Nuvilkite norimus naudoti laukus į užklausos tinklelį. Šiuo atveju nuvilkite Pavadinimas į pirmą tinklelio stulpelį. Tada Kontaktinis asmuo nuvilkite iš užklausos Papildoma informacija apie kontaktus į antrąjį stulpelį ir išvalykite žymės langelį Rodymas. Tada nuvilkite Priskirta (AssignedTo) į trečiąjį stulpelį.
-
Jei nematoma sujungimo linija tarp lauko ID, esančio užklausoje Papildoma informacija apie kontaktus, ir lauko Priskirta.Reikšmė (AssignedTo.Value) spustelėkite ir nuvilkite (kaip parodyta žemiau) iš lauko ID, esančio užklausoje Papildoma informacija apie kontaktus, į lentelėje Atvejai esantį lauką Priskirta.Reikšmė (AssignedTo.Value).
Rodoma sujungimo linija.
Jei matote bet kokias kitas sujungimo linijas – pašalinkite jas. Norėdami pašalinti sujungimo liniją, spustelėkite ją, kad pažymėtumėte, tada spauskite klavišą Delete.
-
Užklausos tinklelio skirtuko dalyje Kontaktinis asmuo, eilutėje Kriterijai, įveskite Katerina Kolesnikova.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti, norėdami vykdyti užklausą.
Vykdant užklausą, duomenų lapo rodinyje rodomas rezultatas. Įsidėmėkite, kad užklausa rodo tik tas eilutes, kuriose rodoma Katerina Kolesnikova. Šis būdas veikia, nes šaltinio lentelėje ar užklausoje esančio ID ir lauko Priskirta.Reikšmė (AssignedTo.Value) sujungimas grąžina atskirą kiekvienos kelių reikšmių lauke esančios reikšmės eilutę; kiekvienoje eilutėje taip pat yra laukas Kontakto pavadinimas, kuriame įvestas vardas ir pavardė. Kadangi Kontakto pavadinimas yra ne peržvalgos, o apskaičiavimo laukas, nėra nei susietosios, nei rodymo reikšmės. Yra tik viena reikšmė – kontakto pavadinimas. Tačiau galite pateikti, kad tekstas atitiktų, šiuo atveju Katerina Kolesnikova.
Kai kuriate užklausą naudodami dizaino rodinį, programa Access automatiškai sugeneruoja atitinkamą SQL (Structured Query Language) sakinį. SQL yra programos Access naudojama užklausų kalba. Galite pereiti į SQL rodinį, kad matytumėte SQL sakinį, atlikdami šią procedūrą.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
SQL sakinys atrodo taip:
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"));
Daugiau nei vienos reikšmės ieškojimas kelių reikšmių lauke
Kartais turite ieškoti daugiau nei vienos reikšmės atitikmens. Tarkime, norite matyti tuos rezultatus, kuriuose Katerina Kolesnikova ir Olga Turovceva Mulvad įtraukta į lauke Priskirta (AssignedTo) reikšmes. Susietoji Katerina Kolesnikova reikšmė yra 6, o Olga Turovceva Mulvad – 10. Norėdami nurodyti keletą kelių reikšmių lauko kriterijų, galite naudoti operatorius AND ir OR.
Norėdami kurti užklausą, atlikite šiuos veiksmus.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite lentelę (čia – Atvejai), kurioje yra kelių reikšmių laukas, tada spustelėkite Pridėti.
-
Spustelėkite Uždaryti.
-
Nuvilkite norimus naudoti laukus į užklausos tinklelį. Šiuo atveju nuvilkite Pavadinimas į pirmą tinklelio stulpelį. Tada nuvilkite Priskirta (AssignedTo) į antrąjį stulpelį.
-
Užklausos tinklelio dalyje Priskirta (AssignedTo), eilutėje Kriterijai, įveskite 6 And 10.
-
Norėdami vykdyti užklausą, skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Vykdant užklausą duomenų lapo rodinyje rodomas rezultatas.
Rezultatas rodo tik tuos atvejus, kuriems priskirta reikšmė Katerina Kolesnikova ir Olga Turovceva Mulvad. Kai kuriate užklausą naudodami dizaino rodinį, programa Access automatiškai sugeneruoja atitinkamą SQL (Structured Query Language) sakinį. SQL yra programos Access naudojama užklausų kalba. Galite pereiti į SQL rodinį, kad matytumėte SQL sakinį, atlikdami šią procedūrą.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
SQL sakinys atrodo taip:
SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
And (Issues.AssignedTo.Value)=10));
OR operatoriaus naudojimas vietoj AND operatoriaus
Tarkime, norite keisti užklausą, kad į sąrašą įtrauktumėte tas eilutes, kuriose rodoma Katerina KolesnikovaarbaOlga Turovceva Mulvad. Galite redaguoti SQL sakinį, norėdami vietoj AND operatoriaus naudoti OR operatorių. Tada sakinys turėtų atrodyti taip:
SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
Or (Issues.AssignedTo.Value)=10));
Vykdant užklausą, duomenų lapo rodinyje rodomas rezultatas.
Rezultatas rodo tik tuos atvejus, kuriems priskirta reikšmė Katerina Kolesnikova arba Olga Turovceva Mulvad.
Lauko .Reikšmė įtraukimo į laukų sąrašą poveikio supratimas
Svarbu suprasti lauko .Reikšmė įtraukimo į jūsų užklausos išvesties stulpelių sąrašą (sąrašą SELECT) poveikį. Vykdant užklausą, pirmiausia reikia pateikti rezultatą, nepaveiktą sąlygos WHERE arba filtro. Tada filtras taikomas pradiniam sąrašui. Todėl gali būti naudinga tą rezultatų rinkinį laikyti pirmiausiai kaip sugeneruotą, o po to sumažintą, naudojant sąlygos WHERE filtrą. Įsivaizduokite šį pavyzdį:
SELECT Issues.Title, AssignedTo
FROM Issues
WHERE NOT AssignedTo.Value = 3;
Pradinis rezultatų sąrašas prieš taikant filtrą galėtų atrodyti taip:
Pavadinimas |
Priskirta (AssignedTo) |
Atvejis 1 |
Mindaugas Kirdeika, Kristina Vaitaitė |
Atvejis 2 |
Monika Abromaitytė, Katerina Kolesnikova, Uršulė Jackienė, Olga Turovceva Mulvad |
Atvejis 3 |
Jonas Kielis, Katerina Kolesnikova, Kristina Vaitaitė, Naglis Gurbys |
Atvejis 4 |
Mykolas Justinaitis, Olga Turovceva Mulvad |
Atvejis 5 |
Mindaugas Kirdeika, Monika Abromaitytė |
Atvejis 6 |
Martynas Jokimas, Katerina Kolesnikova |
Atvejis 7 |
Jonas Kielis, Uršulė Jackienė |
Atvejis 8 |
Mindaugas Kirdeika |
Atvejis 9 |
Katerina Kolesnikova, Olga Turovceva Mulvad |
Atvejis 10 |
Kristina Vaitaitė, Naglis Gurbys |
Tada pradiniam rezultatų rinkiniui taikomas filtravimas, pažymintis eilutes, kuriose nėra Mindaugas Kirdeika, kurio ID yra 3:
Pavadinimas |
Priskirta (AssignedTo) |
Atvejis 2 |
Monika Abromaitytė, Katerina Kolesnikova, Uršulė Jackienė, Olga Turovceva Mulvad |
Atvejis 3 |
Jonas Kielis, Katerina Kolesnikova, Kristina Vaitaitė, Naglis Gurbys |
Atvejis 4 |
Mykolas Justinaitis, Olga Turovceva Mulvad |
Atvejis 6 |
Martynas Jokimas, Katerina Kolesnikova |
Atvejis 7 |
Jonas Kielis, Uršulė Jackienė |
Atvejis 9 |
Katerina Kolesnikova, Olga Turovceva Mulvad |
Atvejis 10 |
Kristina Vaitaitė, Naglis Gurbys |
Dabar įsivaizduokite antrą pavyzdį – tą, kurio laukų sąraše yra laukas .Reikšmė. Visų pirma įsidėmėkite, kaip laukas .Reikšmė keičia pradinį rezultatų sąrašą prieš taikant filtrą:
SELECT Issues.Title, AssignedTo.Value
FROM Issues
WHERE NOT AssignedTo.Value = 3;
Pradinis rezultatų sąrašas prieš taikant filtrą atrodo taip:
Pavadinimas |
Priskirta.Reikšmė (AssignedTo.Value) |
Atvejis 1 |
Mindaugas Kirdeika |
Atvejis 1 |
Kristina Vaitaitė |
Atvejis 2 |
Monika Abromaitytė |
Atvejis 2 |
Katerina Kolesnikova |
Atvejis 2 |
Olga Turovceva Mulvad |
Atvejis 2 |
Uršulė Jackienė |
Atvejis 3 |
Kristina Vaitaitė |
Atvejis 3 |
Jonas Kielis |
Atvejis 3 |
Katerina Kolesnikova |
Atvejis 3 |
Naglis Gurbys |
Atvejis 4 |
Olga Turovceva Mulvad |
Atvejis 4 |
Mykolas Justinaitis |
Atvejis 5 |
Mindaugas Kirdeika |
Atvejis 5 |
Monika Abromaitytė |
Atvejis 6 |
Katerina Kolesnikova |
Atvejis 6 |
Martynas Jokimas |
Atvejis 7 |
Jonas Kielis |
Atvejis 7 |
Uršulė Jackienė |
Atvejis 8 |
Mindaugas Kirdeika |
Atvejis 9 |
Katerina Kolesnikova |
Atvejis 9 |
Olga Turovceva Mulvad |
Atvejis 10 |
Naglis Gurbys |
Atvejis 10 |
Kristina Vaitaitė |
Dabar pradiniam rezultatų rinkiniui taikomas filtravimas, pažymintis tik tas eilutes, kuriose nėra Mindaugas Kirdeika, kurio ID yra 3:
Pavadinimas |
Priskirta.Reikšmė (AssignedTo.Value) |
Atvejis 1 |
Kristina Vaitaitė |
Atvejis 2 |
Monika Abromaitytė |
Atvejis 2 |
Katerina Kolesnikova |
Atvejis 2 |
Olga Turovceva Mulvad |
Atvejis 2 |
Uršulė Jackienė |
Atvejis 3 |
Kristina Vaitaitė |
Atvejis 3 |
Jonas Kielis |
Atvejis 3 |
Katerina Kolesnikova |
Atvejis 3 |
Naglis Gurbys |
Atvejis 4 |
Olga Turovceva Mulvad |
Atvejis 4 |
Mykolas Justinaitis |
Atvejis 5 |
Monika Abromaitytė |
Atvejis 6 |
Katerina Kolesnikova |
Atvejis 6 |
Martynas Jokimas |
Atvejis 7 |
Jonas Kielis |
Atvejis 7 |
Uršulė Jackienė |
Atvejis 9 |
Katerina Kolesnikova |
Atvejis 9 |
Olga Turovceva Mulvad |
Atvejis 10 |
Naglis Gurbys |
Atvejis 10 |
Kristina Vaitaitė |
Rezultatų sąrašo rodymas prieš filtrą taikant ir jį pritaikius turėtų palengvinti teisingą užklausos rezultato numatymą.
Skaičiavimas, grupavimas ir kitų agregavimo funkcijų naudojimas
Galite atlikti kelių reikšmių lauke saugomų reikšmių grupių skaičiavimus. Pavyzdžiui, kiek atvejų priskirta vienam asmeniui? Kiek asmenų priskirta vienam atvejui? Šio tipo skaičiavimus galite atlikti agregavimo funkciją įtraukdami į užklausą Sumos.
Agregavimo funkcija atlieka reikšmių rinkinio skaičiavimą ir grąžina vieną reikšmę. Pavyzdžiui, norėdami apskaičiuoti sumas, galite naudoti tris agregavimo funkcijas: Sum, Count ir Avg. Galite apskaičiuoti visų įrašų arba įrašų grupių sumas. Norėdami susumuoti pagal grupę, privalote pasirinkti lauką ar laukus, pagal kuriuos bus grupuojama užklausos tinklelyje.
Šis veiksmas parodo, kaip sukurti užklausą, norint suskaičiuoti kiekvienam asmeniui priskirtų atvejų skaičių.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite lentelę (šiuo atveju Problemos), kurioje yra kelių reikšmių laukas, tada spustelėkite Pridėti.
-
Spustelėkite Uždaryti.
-
Nuvilkite norimus naudoti laukus į užklausos tinklelį. Šiuo atveju nuvilkite Priskirta.Reikšmė (AssignedTo.Value) į pirmą tinklelio stulpelį. Tada nuvilkite Pavadinimas į antrąjį stulpelį.
-
Skirtuko Dizainas grupėje Rodymas/slėpimas spustelėkite Sumos.
Eilutė Suma rodoma užklausos tinklelyje. Grupuoti pagal pagal numatytuosius parametrus rodoma langelyje Suma, kiekviename užklausos lauke.
-
Užklausos tinklelio dalyje Pavadinimas, eilutėje Suma, spustelėkite Skaičiavimas.
-
Norėdami vykdyti užklausą, skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Kai kuriate užklausą, nurodote, kuriuos laukus naudoti grupuojant, o kuriuos naudoti skaičiuojant sumas. Šiuo atveju, laukas Priskirta.Reikšmė (AssignedTo.Value) buvo naudojamas grupuojant, o laukas Pavadinimas – apskaičiuojant sumą. Kai norite laukus naudoti grupuodami, eilutėje Suma pasirinkite Grupuoti pagal. Norėdami laukus naudoti apskaičiuodami sumą, pasirinkite skaičiavimo tipą (pvz., Sum arba Avg). Įsidėmėkite, kai grupuodami naudojate kelių reikšmių lauką, privalote naudoti lauką .Reikšmė. Šiuo atveju lauko Priskirta (AssignedTo) negalite naudoti grupuodami – privalote naudoti lauką Priskirta.Reikšmė (AssignedTo.Value). Lauką .Reikšmė taip pat privalote naudoti, kai kelių reikšmių lauką naudojate rūšiuodami.
Pastaba: Kai kelių reikšmių lauką naudojate grupuodami, privalote naudoti lauką .Reikšmė.
Vykdant užklausą, duomenų lapo rodinyje rodomas rezultatas.
Norėdami matyti šios užklausos SQL sakinį, perjunkite į SQL rodinį, atlikdami šią procedūrą.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite SQL rodinys.
SQL sakinys atrodo taip:
SELECT Issues.AssignedTo.Value,
Count(Issues.Title) AS CountOfTitle
FROM Issues
GROUP BY Issues.AssignedTo.Value;
Tarkime, norite sužinoti, kiek žmonių yra priskirta kiekvienam atvejui. Galite grupuoti pagal pavadinimą ir pasirinkti Count, kaip kelių reikšmių lauko skaičiavimą. Norėdami kurti užklausą, atlikite šiuos veiksmus.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite lentelę (šiuo atveju Problemos), kurioje yra kelių reikšmių laukas, tada spustelėkite Pridėti.
-
Spustelėkite Uždaryti.
-
Nuvilkite norimus naudoti laukus į užklausos tinklelį. Šiuo atveju, nuvilkite Pavadinimas į pirmą tinklelio stulpelį. Tada nuvilkite Priskirta (AssignedTo) į antrąjį stulpelį.
-
Skirtuko Dizainas grupėje Rodymas/slėpimas spustelėkite Sumos.
Eilutė Suma rodoma užklausos tinklelyje. Grupuoti pagal pagal numatytuosius parametrus rodoma langelyje Suma, užklausos lauke Pavadinimas. Išraiška pagal numatytuosius parametrus rodoma langelyje Suma lauke Priskirta (AssignedTo) – taip yra dėl to, kad negalite vykdyti operacijos Grupuoti pagal kelių reikšmių lauke. Tai atlikti galite tik kelių reikšmių lauke .Reikšmė.
-
Užklausos tinklelio dalyje Priskirta (AssignedTo), eilutėje Suma, spustelėkite Skaičiavimas.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti, norėdami vykdyti užklausą.
Vykdant užklausą duomenų lapo rodinyje rodomas rezultatas.
Norėdami matyti šios užklausos SQL sakinį, perjunkite į SQL rodinį, atlikdami šią procedūrą.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
SQL sakinys atrodo taip:
SELECT Issues.Title,
Count(Issues.AssignedTo) AS CountOfAssignedTo
FROM Issues
GROUP BY Issues.Title;
Pastaba: Šiame SQL SELECT sakinyje nėra svarbu, ar naudojate Count(Issues.AssignedTo) ar Count(Issues.AssignedTo.Value) – rezultatas toks pat.
Papildymo užklausos naudojimas kelių reikšmių lauke
Galite į kelių reikšmių lauką įterpti vieną reikšmę, naudodami įterpimo užklausą. Tarkime, kad norite į kelių reikšmių lauką AssignedTo įtraukti Katerina Kolesnikova kaip atvejį. Visų pirma, nustatytumėte atvejo ir kontakto įrašo Katerina pirminio rakto reikšmę. Tarkime, kad atvejo reikšmė yra 10, o Katerina – 6.
Toliau procedūroje nurodoma, kaip kurti užklausą.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite Uždaryti.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
-
SQL rodinyje įveskite šį SQL sakinį:
INSERT INTO Issues ( AssignedTo.[Value] )
VALUES (6)
WHERE ID = 10; -
Norėdami vykdyti užklausą, skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Programa Access gali paprašyti patvirtinti, ar pridėti pasirinktą eilutę. Spustelėkite Taip, norėdami įterpti eilutę, arba Ne, norėdami atšaukti.
Katerina dabar įtraukta į sąrašą to atvejo lauke Priskirta (AssignedTo). Tai vienintelė įterpimo užklausos forma, veikianti kelių reikšmių lauke.
Pastaba: Papildymo užklausa yra užklausa, kurią naudojate, norėdami vienoje lentelėje esančius duomenis įtraukti į kitą esamą lentelę. Programa Office Access 2007 neleidžia naudoti papildymo užklausos, nurodančios lentelę, kurioje yra kelių reikšmių laukas. Pavyzdžiui, ši užklausa yra negalima:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Naujinimo užklausos naudojimas kelių reikšmių lauke
Naujinimo užklausą galite naudoti norėdami keisti esamų įrašų reikšmes. Kai naujinimo užklausą naudojate norėdami naujinti lentelę, kurioje yra kelių reikšmių laukai, galite vieną kelių reikšmių lauke esančią reikšmę keisti kita. Tarkime, kad norite atnaujinti konkretaus atvejo keliu reikšmių lauką Priskirta (AssignedTo), pvz., keisti Katerina Kolesnikova į Olga Turovceva Mulvad. Pirmiausiai nustatote atvejo ir Katerina bei Olga pirminio rakto reikšmę. Tarkime, kad atvejo reikšmė yra 8, Katerina reikšmė – 6, o Olga reikšmė – 10.
Toliau procedūroje nurodoma, kaip kurti užklausą.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite Uždaryti.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
-
SQL rodinyje įveskite šį SQL sakinį:
UPDATE Issues
SET Issues.AssignedTo.Value = 10
WHERE (((Issues.AssignedTo.Value)=6)
AND ((Issues.ID)=8));Pastabos:
-
Visuomet turėtumėte įtraukti sąlygą WHERE, atpažįstančią tik norimus naujinti įrašus. Kitu atveju atnaujinsite įrašus, kurių keisti neketinote. Naujinimo užklausa, neįtraukianti sąlygos WHERE, keičia kiekvieną lentelės eilutę.
-
Galite nurodyti vieną norimą keisti reikšmę.
-
-
Norėdami vykdyti užklausą, skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Programa Access gali paprašyti patvirtinti, ar atnaujinti įrašą. Spustelėkite Taip, norėdami atnaujinti eilutę, arba Ne, norėdami atšaukti.
Olga Turovceva Mulvad įtraukta į šio atvejo lauką Priskirta (AssignedTo) vietoj Katerina Kolesnikova.
Naikinimo užklausos naudojimas kelių reikšmių lauke
Naikinimo užklausą galite naudoti norėdami iš lentelės pašalinti įrašus. Kai dirbate su lentele, įtraukiančia kelių reikšmių lauką, galite naudoti naikinimo užklausą, norėdami naikinti įrašus, kuriuose yra tam tikra kelių reikšmių lauko reikšmė, arba naikinti tam tikrą reikšmę iš kelių reikšmių lauko visose įrašo lentelėse.
Tarkime, kad norite pašalinti Katerina Kolesnikova iš visų lauko Priskirta (AssignedTo) visoje lentelėje. Užklausą kuriate atlikdami šiuos veiksmus.
-
Spustelėkite „Microsoft Office“ mygtuką
, tada spustelėkite Atidaryti.
-
Dialogo lange Atidaryti pasirinkite ir atidarykite duomenų bazę.
-
Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.
-
Dialogo lange Lentelės rodymas spustelėkite Uždaryti.
-
Skirtuko Dizainas grupėje Rezultatai spustelėkite po Rodinys esančią rodyklę, norėdami rodyti meniu Rodinys.
-
Spustelėkite komandą SQL rodinys.
-
SQL rodinyje įveskite šį SQL sakinį:
DELETE Issues.AssignedTo.Value
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6)); -
Norėdami vykdyti užklausą, skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Programa Access gali paprašyti patvirtinti, ar naikinti įrašus. Spustelėkite Taip, norėdami naikinti įrašus, arba Ne, norėdami atšaukti.
Šis užklausos pavyzdys nepanaikina visų įrašų iš lentelės Atvejai. Jis panaikina reikšmę iš kelių reikšmių lauko Priskirta (AssignedTo) visuose įrašuose, kuriuose rodoma reikšmė. Jei norite naikinti įrašus iš lentelės Atvejai, nenurodykite lauko, vadovaudamiesi SQL sakinyje pateikta sąlyga. Pavyzdžiui, norėdami naikinti visus atvejus, kuriuose „Katerina Kolesnikova" įtraukta į sąrašą žmonių, kuriems priskirtas atvejis, įveskite šį SQL sakinį.
DELETE
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));
Pastaba: Naudodami šią užklausą įrašus naikinkite atsargiai. Panaikinę įrašus, jų atkurti negalėsite.