Using Lookup and kelių reikšmių laukai užklausose

Taikoma
„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

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

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.

Peržvalgos lauko lentelės

  1. Atidarykite užklausą naudodami dizaino rodinį.

  2. Šiame pavyzdyje įtraukite lenteles Būstinė ir Naujoji Anglija .
    Šios dvi lentelės turi būti sujungtos.

    The Lookup field schema

    Daugiau informacijos ieškokite Lentelių ir užklausų sujungimas.

  3. Nuvilkite lauką a kartu su peržvalgos lauku į užklausos dizaino tinklelį. Šiame pavyzdyje įtraukite laukus Miestas ir Numeris .

  4. Spustelėkite peržvalgos lauką, tada skirtuko Dizainas grupėje Rodymas/slėpimas spustelėkite Ypatybių lapas. Šiame pavyzdyje naudokite lauką NEState .

  5. Ypatybių lape pasirinkite skirtuką Peržvalga , tada ypatybėje Rodymo valdiklis pasirinkite Teksto laukas.
    Valdiklio ypatybės rodymas užklausos dizaine

Rezultatas Dabar, kai peržiūrite užklausą duomenų lapo rodinyje, matote atitinkamą rodomos reikšmės susietąją reikšmę.

Užklausos rezultatas, rodantis susietąją reikšmę Puslapio viršus

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ų.

  1. Atidarykite užklausą naudodami dizaino rodinį.

  2. Š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.

  3. 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į.

  4. Užklausos tinklelyje išvalykite žymės langelį RodytiStateName .

  5. Užklausos tinklelyje, dalyje StateName, eilutėje Kriterijai, įveskite Vermont.

    Užklausos tinklelis, rodantis peržvalgos lauko susietąją reikšmę

    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.

  6. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Rezultatas Rodoma tik eilutė, kurioje yra Vermontas .

Užklausos rezultatai Puslapio viršus

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

  1. Atidarykite užklausą naudodami dizaino rodinį.
  2. Šiame pavyzdyje pridėkite lentelę Problemos .
  3. Nuvilkite laukus į užklausos dizaino tinklelį. Šiame pavyzdyje nuvilkite lauką Pavadinimas ir lauką Priskirta Kam kelių reikšmių.
  4. 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:

Kelių reikšmių laukai užklausa su neišlygintais rezultatais Kiekvieną kelių reikšmių lauko reikšmę rodyti vienoje eilutėje (suplokštintas rodinys)

  1. Atidarykite užklausą naudodami dizaino rodinį.
  2. Šiame pavyzdyje pridėkite lentelę Problemos .
  3. 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 ).
  4. 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:

Kelių reikšmių laukai užklausa su suplotais rezultatais Puslapio viršus

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.

  1. Atidarykite užklausą naudodami dizaino rodinį.

  2. Šiame pavyzdyje pridėkite lentelę Problemos .

  3. 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ė.

  4. Užklausos tinklelyje išvalykite AssignedTo.Value žymės langelį Rodyti.

  5. Užklausos tinklelyje, dalyje Priskirta.Reikšmė, eilutėje Kriterijai , įveskite "NOT "David Hamilton".

    Užklausos kūrimo tinklelis su tiesiu peržvalgos lauku

    Naudinga matyti SQL rodinį:
    SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";

  6. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Rezultatas Trys klausimai, nepriskirti Davidui Hamiltonui, rodomi numatytąja reikšme.

Kelių reikšmių lauko rezultatai naudojant <Lauko pavadinimas> Į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.

  1. Atidarykite užklausą naudodami dizaino rodinį.

  2. Šiame pavyzdyje pridėkite lentelę Problemos .

  3. Nuvilkite laukus į užklausos tinklelį. Šiame pavyzdyje vilkite lauką Pavadinimas ir kelių reikšmių lauką Priskirta.Reikšmė .

  4. Užklausos tinklelyje, dalyje Priskirta.Reikšmė, eilutėje Kriterijai įveskite NOT "David Hamilton".

    Užklausos dizaino tinklelis su . Peržvalgos lauko reikšmės formatas

    Naudinga matyti SQL rodinį:
    SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Rezultatas Kiekvienas klausimas, nepriskirtas Davidui Hamiltonui, rodomas suplokštia reikšme.

Kelių reikšmių lauko rezultatai naudojant <Lauko pavadinimas>. Reikšmė Puslapio viršus

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ų

  1. Atidarykite užklausą naudodami dizaino rodinį.
  2. Šiame pavyzdyje pridėkite lentelę Problemos .
  3. Nuvilkite laukus į užklausos tinklelį. Šiame pavyzdyje nuvilkite lauką Pavadinimas ir lauką Priskirta Kam kelių reikšmių.
  4. Užklausos tinklelyje, dalyje Priskirta, eilutėje Kriterijai įveskite "Kotryna Sveikatin" AND "Lisa Miller".
  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Rezultatas Tie du numeriai, kurie yra priskirti "Kelly Rollin" ir "Lisa Miller" yra rodomi.

Užklausos rezultatas, rodantis operatoriaus AND naudojimą kelių reikšmių lauke

Puslapio viršus

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ų

  1. Atidarykite užklausą naudodami dizaino rodinį.
  2. Šiame pavyzdyje pridėkite lentelę Problemos .
  3. Vilkite laukus, kuriuos norite naudoti, į užklausos tinklelį. Šiame pavyzdyje vilkite AssignedTo.Value į pirmą stulpelį, o Title – į antrą stulpelį.
  4. 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.
  5. Užklausos tinklelyje, dalies Pavadinimas, eilutėje Suma , spustelėkite Skaičiuoti.
  6. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Rezultatas Vienam asmeniui priskirtų problemų skaičius rodomas suplokštiame rodinyje.

Užklausa, apskaičiuojanti kiekvienam asmeniui priskirtus atvejus

Norėdami suskaičiuoti, kiek žmonių priskirta kiekvienai problemai

  1. Atidarykite užklausą naudodami dizaino rodinį.
  2. Šiame pavyzdyje pridėkite lentelę Problemos .
  3. Vilkite laukus, kuriuos norite naudoti, į užklausos tinklelį. Šiame pavyzdyje vilkite pavadinimą į pirmą stulpelį ir vilkite PriskirtaKam į antrą stulpelį.
  4. 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.
  5. Užklausos tinklelyje, dalyje Priskirta, eilutėje Suma , spustelėkite Skaičiuoti.
  6. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Rezultatas Vienai problemai priskirtų žmonių skaičius rodomas suplokštiame rodinyje.

Užklausos rezultatas, rodantis žmonių skaičiaus, tenkančio vienai užklausai, skaičiavimą.

Puslapio viršus

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.

  1. Atidarykite užklausą naudodami dizaino rodinį.
  2. Įtraukite lentelę Problemos.
  3. Skirtuke Dizainas spustelėkite Papildyti.
  4. Dialogo lange Papildymas pasirinkite Problemos, tada spustelėkite Gerai.
  5. Dizaino tinklelio eilutėje Pridėti prie pasirinkite Priskirta.Reikšmė.
  6. Dizaino tinklelio eilutėje Laukas įveskite "Tomas Michaels".
  7. 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".
  8. 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;

Puslapio viršus

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".

  1. Atidarykite užklausą naudodami dizaino rodinį.
  2. Įtraukite lentelę Problemos.
  3. Skirtuke Dizainas spustelėkite Naujinti.
  4. Vilkite AssignedTo.Value į užklausos tinklelį.
  5. Eilutėje Naujinti į įveskite "Lisa Miller".
  6. Eilutėje Kriterijai įveskite "Kelly Rollin".
  7. 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.

Puslapio viršus

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

  1. Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.
  2. Įtraukite lentelę Problemos.
  3. Atidarykite užklausą naudodami dizaino rodinį.
  4. Skirtuke Dizainas spustelėkite Naikinti.
  5. Eilutėje Kriterijai įveskite "David Hamilton".
  6. 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

  1. Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.

  2. Įtraukite lentelę Problemos.

  3. Atidarykite užklausą naudodami dizaino rodinį.

  4. Skirtuke Dizainas spustelėkite Naikinti grupę.

  5. Skirtuko Dizainas grupėje Rezultatai spustelėkite rodyklę, esančią po rodiniu , tada spustelėkite SQL rodinys.

  6. Į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.

  7. 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.

Puslapio viršus