Programoje "Access" galite sukurti kelių reikšmių lauką, kuriame yra kelios reikšmės (iki 100). Taip pat galite sukurti peržvalgos lauką, kuriame rodoma vartotojui aiški reikšmė, susieta su kito duomenų šaltinio reikšme. Kai pateikiate peržvalgos arba kelių reikšmių lauko užklausą, yra unikalių aspektų. Daugiau informacijos rasite kelių reikšmių lauko kūrimas arba naikinimas ir Peržvalgos lauko kūrimas arba naikinimas.
Šiame straipsnyje:
- Užklausos peržvalgos lauko susietosios reikšmės peržiūra
- Užklausos peržvalgos lauko rodomos reikšmės naudojimas
- Kelių reikšmių lauko naudojimas užklausoje
- Kriterijų įtraukimas užklausoje į kelių reikšmių lauką
- Kelių kriterijų įtraukimas užklausos kelių reikšmių lauke
- Grouping and counting a multivalue field in a query
- Papildymo užklausos naudojimas kelių reikšmių lauke
- Naujinimo užklausos naudojimas kelių reikšmių lauke
- Naikinimo užklausos naudojimas kelių reikšmių lauke
Užklausos peržvalgos lauko susietosios reikšmės peržiūra
Pagal numatytuosius parametrus, peržvalgos lauko rodoma reikšmė automatiškai rodoma užklausos duomenų lapo rodinyje. Kai kuriate užklausą, galite perrašyti šį veikimą, kad vietoj jos būtų rodoma susietoji reikšmė. Šiame pavyzdyje, tarkime, norite pamatyti susietąją peržvalgos lauko reikšmę būstinės lentelėje, kuri "ieško" Naujosios Anglijos valstijos pavadinimo.
Atidarykite užklausą naudodami dizaino rodinį.
Šiame pavyzdyje įtraukite lenteles Būstinė ir Naujoji Anglija .
Šios dvi lentelės turi būti sujungtos.
Daugiau informacijos ieškokite Lentelių ir užklausų sujungimas.
Nuvilkite lauką a kartu su peržvalgos lauku į užklausos dizaino tinklelį. Šiame pavyzdyje įtraukite laukus Miestas ir Numeris .
Spustelėkite peržvalgos lauką, tada skirtuko Dizainas grupėje Rodymas/slėpimas spustelėkite Ypatybių lapas. Šiame pavyzdyje naudokite lauką NEState .
Ypatybių lape pasirinkite skirtuką Peržvalga , tada ypatybėje Rodymo valdiklis pasirinkite Teksto laukas.
Rezultatas Dabar, kai peržiūrite užklausą duomenų lapo rodinyje, matote atitinkamą rodomos reikšmės susietąją reikšmę.
Užklausos peržvalgos lauko rodomos reikšmės naudojimas
Kai sukuriate peržvalgos lauką, sukuriama jungtis tarp susietosios ir rodomos reikšmės. Nors negalite tiesiogiai užklausoje naudoti rodomos reikšmės, galite naudoti atitinkamą reikšmę iš kito duomenų šaltinio. Šiame pavyzdyje, tarkime, užklausoje norite naudoti užklausos būstinės lentelės peržvalgos lauko "NEState" rodomą reikšmę kaip kriterijų.
Atidarykite užklausą naudodami dizaino rodinį.
Šiame pavyzdyje pridėkite lenteles "Headquarters" ir "NewEngland".
Šios dvi lentelės turi būti sujungtos. Daugiau informacijos ieškokite Lentelių ir užklausų sujungimas.Vilkite laukus, kuriuos norite naudoti, į užklausos tinklelį. Šiame pavyzdyje vilkite City iš lentelės Headquarters į pirmą stulpelį, NEState iš lentelės Headquarters į antrą stulpelį ir StateName iš lentelės NewEngland į trečią stulpelį.
Užklausos tinklelyje išvalykite žymės langelį RodytiStateName .
Užklausos tinklelyje, dalyje StateName, eilutėje Kriterijai, įveskite Vermont.
Užklausos kriterijai yra pagrįsti stulpeliu StateName , kuris žinoma yra tokia pati reikšmė kaip rodoma reikšmė NEState, bet nėra rodomas duomenų lapo rodinyje.
Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Rezultatas Rodoma tik eilutė, kurioje yra Vermontas .
Kelių reikšmių lauko naudojimas užklausoje
Kai užklausoje rodomas kelių reikšmių laukas, galima rodyti visą kelių reikšmių lauką, kuriame yra visos reikšmės, atskirtos kableliais vienoje eilutėje, arba suploti duomenys su atskira kiekvienos reikšmės eilute. Tarkime, turite lentelę Problemos , kurioje yra kiekvienos problemos pavadinimo laukas ir kelių reikšmių laukas Priskirta, kad problemas būtų galima priskirti žmonėms.
Visų kelių reikšmių lauko reikšmių reikšmių rodymas vienoje eilutėje
- Atidarykite užklausą naudodami dizaino rodinį.
- Šiame pavyzdyje pridėkite lentelę Problemos .
- Nuvilkite laukus į užklausos dizaino tinklelį. Šiame pavyzdyje nuvilkite lauką Pavadinimas ir lauką Priskirta Kam kelių reikšmių.
- Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Rezultatas Kaip galima tikėtis, viename stulpelyje rodomas laukas Pavadinimas, o antrame stulpelyje rodomas kelių reikšmių laukas Priskirta:
Kiekvieną kelių reikšmių lauko reikšmę rodyti vienoje eilutėje (suplokštintas rodinys)
- Atidarykite užklausą naudodami dizaino rodinį.
- Šiame pavyzdyje pridėkite lentelę Problemos .
- Nuvilkite laukus į užklausos tinklelį. Šiame pavyzdyje vilkite lauką Pavadinimas ir kelių reikšmių lauką Priskirta.Reikšmė .
Formatas, <Lauko pavadinimas>. Value, prideda ypatybę Value kaip eilutę . Reikšmę į lauką Priskirta (AssignedTo ). - Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Rezultatas Duomenys suplokštinami taip, kad būtų kartojamas laukas Pavadinimas ir kiekviena kelių reikšmių lauko Priskirta reikšmė būtų rodoma atitinkamoje eilutėje:
Kriterijų įtraukimas užklausoje į kelių reikšmių lauką
Tų pačių kriterijų įtraukimas užklausos tinklelyje į skirtingus tinklelio stulpelius turi didelę įtaką užklausos rezultatams.
Kriterijų, kurie rodo visas kelių reikšmių lauko reikšmes vienoje eilutėje, įtraukimas
"Access" pirmiausia sukuria rezultatų rinkinį, tada įtraukia kriterijus.
Atidarykite užklausą naudodami dizaino rodinį.
Šiame pavyzdyje pridėkite lentelę Problemos .
Nuvilkite laukus į užklausos tinklelį. Šiame pavyzdyje nuvilkite lauką Pavadinimas, kelių reikšmių lauką Priskirta.Reikšmė ir kelių reikšmių lauką Priskirta.Reikšmė.
Užklausos tinklelyje išvalykite AssignedTo.Value žymės langelį Rodyti.
Užklausos tinklelyje, dalyje Priskirta.Reikšmė, eilutėje Kriterijai , įveskite "NOT "David Hamilton".
Naudinga matyti SQL rodinį:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Rezultatas Trys klausimai, nepriskirti Davidui Hamiltonui, rodomi numatytąja reikšme.
Įtraukti kriterijus, pagal kuriuos kiekviena kelių reikšmių lauko reikšmė rodoma vienoje eilutėje (suplokštinamas rodinys)
"Access" pirmiausia sukuria išlygintą rezultatų rinkinį, tada įtraukia kriterijus.
Atidarykite užklausą naudodami dizaino rodinį.
Šiame pavyzdyje pridėkite lentelę Problemos .
Nuvilkite laukus į užklausos tinklelį. Šiame pavyzdyje vilkite lauką Pavadinimas ir kelių reikšmių lauką Priskirta.Reikšmė .
Užklausos tinklelyje, dalyje Priskirta.Reikšmė, eilutėje Kriterijai įveskite NOT "David Hamilton".
Naudinga matyti SQL rodinį:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Rezultatas Kiekvienas klausimas, nepriskirtas Davidui Hamiltonui, rodomas suplokštia reikšme.
Kelių kriterijų įtraukimas užklausos kelių reikšmių lauke
Kartais kelių reikšmių lauke reikia ieškoti atitikmens pagal daugiau nei vieną reikšmę. Pavyzdžiui, tarkime, norite pamatyti tas problemas, kuriose ir Kotryna Rotin, ir Lisa Miller yra tarp lauko Priskirta (AssignedTo) reikšmių
- Atidarykite užklausą naudodami dizaino rodinį.
- Šiame pavyzdyje pridėkite lentelę Problemos .
- Nuvilkite laukus į užklausos tinklelį. Šiame pavyzdyje nuvilkite lauką Pavadinimas ir lauką Priskirta Kam kelių reikšmių.
- Užklausos tinklelyje, dalyje Priskirta, eilutėje Kriterijai įveskite "Kotryna Sveikatin" AND "Lisa Miller".
- Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Rezultatas Tie du numeriai, kurie yra priskirti "Kelly Rollin" ir "Lisa Miller" yra rodomi.
Grouping and counting a multivalue field in a query
Norėdami skaičiuoti, grupuoti ir rūšiuoti reikšmes, saugomas <kelių reikšmių lauke, naudokite "Fieldname>". Reikšmės laukas. Daugiau informacijos apie grupės užklausas rasite Duomenų skaičiavimas naudojant užklausą.
Norėdami apskaičiuoti kiekvienam asmeniui priskirtų problemų skaičių
- Atidarykite užklausą naudodami dizaino rodinį.
- Šiame pavyzdyje pridėkite lentelę Problemos .
- Vilkite laukus, kuriuos norite naudoti, į užklausos tinklelį. Šiame pavyzdyje vilkite AssignedTo.Value į pirmą stulpelį, o Title – į antrą stulpelį.
- Skirtuko Dizainas grupėje Rodyti/slėpti spustelėkite Sumos.
Užklausos tinklelyje rodoma eilutė Sumos . Grupuoti pagal pagal nustatymus rodoma langelyje Suma po kiekvienu užklausos lauku. - Užklausos tinklelyje, dalies Pavadinimas, eilutėje Suma , spustelėkite Skaičiuoti.
- Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Rezultatas Vienam asmeniui priskirtų problemų skaičius rodomas suplokštiame rodinyje.
Norėdami suskaičiuoti, kiek žmonių priskirta kiekvienai problemai
- Atidarykite užklausą naudodami dizaino rodinį.
- Šiame pavyzdyje pridėkite lentelę Problemos .
- Vilkite laukus, kuriuos norite naudoti, į užklausos tinklelį. Šiame pavyzdyje vilkite pavadinimą į pirmą stulpelį ir vilkite PriskirtaKam į antrą stulpelį.
- Skirtuko Dizainas grupėje Rodyti/slėpti spustelėkite Sumos.
Užklausos tinklelyje rodoma eilutė Sumos . Grupuoti pagal pagal nustatymus rodoma užklausos langelyje Suma po lauku Pavadinimas. Pagal numatytuosius nustatymus išraiška rodoma lauko Priskirta langelyje Suma, nes operacijos Grupuoti pagal negalima atlikti tiesiogiai kelių reikšmių lauke, tik <lauko pavadinimas.> Reikšmės laukas. - Užklausos tinklelyje, dalyje Priskirta, eilutėje Suma , spustelėkite Skaičiuoti.
- Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Rezultatas Vienai problemai priskirtų žmonių skaičius rodomas suplokštiame rodinyje.
Papildymo užklausos naudojimas kelių reikšmių lauke
Vieną reikšmę į kelių reikšmių lauką galite įterpti naudodami papildymo užklausą. Tarkime, kad norite įtraukti "Tom Michaels" į kelių reikšmių lauką Priskirta, esantį lentelėje Problemos.
Atkreipkite dėmesį Tai vienintelis papildymo užklausos tipas, kuris veikia su kelių reikšmių lauku.
- Atidarykite užklausą naudodami dizaino rodinį.
- Įtraukite lentelę Problemos.
- Skirtuke Dizainas spustelėkite Papildyti.
- Dialogo lange Papildymas pasirinkite Problemos, tada spustelėkite Gerai.
- Dizaino tinklelio eilutėje Pridėti prie pasirinkite Priskirta.Reikšmė.
- Dizaino tinklelio eilutėje Laukas įveskite "Tomas Michaels".
- Norėdami apriboti papildymo operaciją iki konkrečių problemų, į dizaino tinklelį įtraukite lauką, pvz., Pavadinimas, pašalinkite pavadinimą iš eilutės Papildyti ir įveskite kriterijus, pvz., "3 problema".
- Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Programa Access gali paprašyti patvirtinti, ar pridėti pasirinktą eilutę. Spustelėkite Taip , kad įterptumėte eilutę, arba spustelėkite Ne , jei norite atšaukti.
Rezultatas "Tom Michaels" dabar įtraukiamas į 3 problemos lauką Priskirta .
Svarbu Negalima naudoti papildymo užklausos, nurodančios lentelę, kurioje yra kelių reikšmių laukas. Pavyzdžiui, ši užklausa yra neleistina:
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 kelių reikšmių lauke pakeisti vieną reikšmę į kitą. Šiame pavyzdyje norite atnaujinti kelių reikšmių lauką Priskirta Kam, kad vietoje "Kotryna Rollin" būtų "Lisa Miller".
- Atidarykite užklausą naudodami dizaino rodinį.
- Įtraukite lentelę Problemos.
- Skirtuke Dizainas spustelėkite Naujinti.
- Vilkite AssignedTo.Value į užklausos tinklelį.
- Eilutėje Naujinti į įveskite "Lisa Miller".
- Eilutėje Kriterijai įveskite "Kelly Rollin".
- Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
Programa Access gali paprašyti patvirtinti, ar pridėti pasirinktą eilutę. Spustelėkite Taip , kad įterptumėte eilutę, arba spustelėkite Ne , jei norite atšaukti.
Rezultatas Lisa Miller pakeičia Kelly Rollin lauke Priskirta (AssignedTo) visose atitinkamose problemose.
Naikinimo užklausos naudojimas kelių reikšmių lauke
Kai dirbate su lentele, kurioje yra kelių reikšmių laukas, galite naudoti naikinimo užklausą, kad panaikintumėte įrašus, kuriuose yra konkreti reikšmė kelių reikšmių lauke, arba norėdami panaikinti konkrečią reikšmę iš kelių reikšmių lauko visuose lentelės įrašuose. Toliau pateiktame pavyzdyje, tarkime, norite panaikinti "Davidas Hamiltonas" iš lentelės Problemos.
Svarbu Naudodami naikinimo užklausą kelių reikšmių laukui, kuriame yra duomenų, panaikinsite tuos duomenis visam laikui, o panaikinimo nebus galima anuliuoti. Dėl šios priežasties reikėtų sukurti atsarginę duomenų bazės kopiją prieš naikinant lentelės laukus ar kitus duomenų bazės komponentus.
Norėdami naikinti tam tikrą reikšmę iš kelių reikšmių lauko visuose įrašuose
- Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.
- Įtraukite lentelę Problemos.
- Atidarykite užklausą naudodami dizaino rodinį.
- Skirtuke Dizainas spustelėkite Naikinti.
- Eilutėje Kriterijai įveskite "David Hamilton".
- Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
"Access" gali paprašyti patvirtinti, ar norite panaikinti įrašus. Spustelėkite Taip , kad panaikintumėte įrašus, arba spustelėkite Ne , jei norite atšaukti.
Rezultatas Davidas Hamiltonas pašalinamas iš visų atitinkamų klausimų.
Įrašų, kurių kelių reikšmių lauke yra konkreti reikšmė, naikinimas
Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.
Įtraukite lentelę Problemos.
Atidarykite užklausą naudodami dizaino rodinį.
Skirtuke Dizainas spustelėkite Naikinti grupę.
Skirtuko Dizainas grupėje Rezultatai spustelėkite rodyklę, esančią po rodiniu , tada spustelėkite SQL rodinys.
Įveskite šį SQL sakinį:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));Atkreipkite dėmesį Šiuo atveju galite naudoti tik SQL sakinį, o ne dizaino tinklelį. Jei perjungiate į dizaino tinklelio rodinį, "Access" po sakinio DELETE prideda žvaigždutę (*), kurią turėtumėte pašalinti iš SQL rodinio.
Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.
"Access" gali paprašyti patvirtinti, ar norite panaikinti įrašus. Spustelėkite Taip , kad panaikintumėte įrašus, arba spustelėkite Ne , jei norite atšaukti.
Rezultatas Visi klausimai, kuriuose priskirtas Davidas Hamiltonas, pašalinami.