Utilizarea câmpurilor multi-valoare și de căutare în interogări

Se aplică la
Access pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

În Access, aveți posibilitatea să creați un câmp multi-valoare care conține mai multe valori (până la 100). De asemenea, puteți crea un câmp de căutare care afișează o valoare prietenoasă cu utilizatorul legată la o valoare din altă sursă de date. Atunci când interogați o căutare sau un câmp multi-valoare, există considerații unice. Pentru mai multe informații, consultați Crearea sau ștergerea unui câmp multi-valoare și Crearea sau ștergerea unui câmp de căutare.

În acest articol

Vizualizarea valorii de legătură a unui câmp de căutare într-o interogare

Valoarea de afișat a unui câmp de căutare se afișează automat în mod implicit în vizualizarea foaie de date a interogării. Când creați o interogare, aveți posibilitatea să înlocuiți acest comportament, astfel încât să se afișeze în schimb valoarea de legătură. În acest exemplu, să presupunem că doriți să vedeți valoarea de legătură a unui câmp de căutare dintr-un tabel Sediu central care "caută" un nume de stat din New England.

Tabelele de câmpuri de căutare

  1. Deschideți interogarea în Vizualizarea proiect.

  2. În acest exemplu, adăugați tabelele Sediu central și Noua Anglie .
    Cele două tabele ar trebui să fie unite.

    The Lookup field schema

    Pentru mai multe informații, consultați Asocierea tabelelor și interogărilor.

  3. Glisați câmpul împreună cu câmpul de căutare în grila de proiectare a interogării. În acest exemplu, adăugați câmpurile Localitate și NEState .

  4. Faceți clic pe câmpul de căutare, apoi, pe fila Proiectare , în grupul Afișare/ascundere , faceți clic pe Foaie de proprietăți. În acest exemplu, utilizați câmpul NEState .

  5. În foaia de proprietăți, selectați fila Căutare , apoi, în proprietatea Control afișare , selectați Casetă text.
    Proprietatea control afișare în proiectarea interogărilor

Rezultat Acum, când vizualizați interogarea în Vizualizarea foaie de date, vedeți valoarea de legătură corespunzătoare a valorii de afișare.

Rezultatul interogării care afișează valoarea de legătură Începutul paginii

Utilizarea valorii de afișare pentru un câmp de căutare dintr-o interogare

Când creați un câmp de căutare, se creează o asociere între valoarea de legătură și valoarea de afișare. Deși nu puteți utiliza direct valoarea de afișare într-o interogare, puteți utiliza valoarea corespunzătoare din altă sursă de date. În acest exemplu, să presupunem că doriți să utilizați pe post de criterii valoarea afișată a câmpului de căutare, NEState, în tabelul Sediu central dintr-o interogare.

  1. Deschideți interogarea în Vizualizarea proiect.

  2. În acest exemplu, adăugați tabelele Headquarters și NewEngland .
    Cele două tabele ar trebui să fie unite. Pentru mai multe informații, consultați Asocierea tabelelor și interogărilor.

  3. Glisați câmpurile pe care doriți să le utilizați în grila de interogare. În acest exemplu, glisați City din tabelul Sediu central în prima coloană, NEState din tabelul Sediu central în a doua coloană și StateName din tabelul NewEngland în a treia coloană.

  4. Debifați caseta de selectare Afișare a NumeDeStat în grila de interogare.

  5. În grila de interogare, sub NumeJudețe, în rândul Criterii, introduceți Vermont.

    Grilă de interogare care afișează valoarea de legătură a unui câmp de căutare

    Criteriile de interogare se bazează pe coloana StateName , care desigur este aceeași valoare ca valoarea de afișare, NEState, dar nu este afișată în vizualizarea Foaie de date.

  6. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.

Rezultat Se afișează numai rândul care conține Vermont .

Rezultatele interogării Începutul paginii

Utilizarea unui câmp multivaloare într-o interogare

Când afișați un câmp multi-valoare într-o interogare, puteți afișa câmpul multi-valoare complet, care conține toate valorile separate prin virgulă pe un rând sau datele aplatizate cu un rând separat pentru fiecare valoare. De exemplu, să presupunem că aveți un tabel Probleme care conține un câmp Titlu pentru fiecare problemă și un câmp multi-valoare AtribuitLa pentru a atribui probleme persoanelor.

Afișarea tuturor valorilor dintr-un câmp multi-valoare într-un singur rând

  1. Deschideți interogarea în Vizualizarea proiect.
  2. În acest exemplu, adăugați tabelul Probleme .
  3. Glisați câmpurile în grila de proiectare a interogării. În acest exemplu, glisați câmpul Titlu și câmpul multi-valoare AtribuitCătre.
  4. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.

Rezultat După cum vă puteți aștepta, o coloană afișează câmpul Titlu și a doua coloană afișează câmpul multi-valoare AtribuitCătre :

Câmpuri multi-valoare interogare cu rezultate neaplatizate Afișarea fiecărei valori a unui câmp multi-valoare într-un singur rând (vizualizarea aplatizată)

  1. Deschideți interogarea în Vizualizarea proiect.
  2. În acest exemplu, adăugați tabelul Probleme .
  3. Glisați câmpurile în grila de interogare. În acest exemplu, glisați câmpul Titlu și câmpul multi-valoare AtribuitLa.Valoare .
    Formatul, <numecâmp.> Valoare, adaugă proprietatea Valoare ca șir. Valoarea câmpului AtribuitCătre.
  4. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.

Rezultat Datele sunt aplatizate astfel încât câmpul Titlu se repetă și fiecare valoare din câmpul multi-valoare AtribuitLa se afișează într-un rând corespunzător:

Interogare de câmpuri multi-valoare cu rezultate aplatizate Începutul paginii

Adăugarea de criterii la un câmp multi-valoare dintr-o interogare

Plasarea acelorași criterii în grila de interogare în coloane diferite ale grilei are un impact major asupra rezultatelor interogării.

Adăugarea de criterii care afișează toate valorile dintr-un câmp multi-valoare într-un singur rând

Access creează mai întâi un set de rezultate, apoi adaugă criteriile.

  1. Deschideți interogarea în Vizualizarea proiect.

  2. În acest exemplu, adăugați tabelul Probleme .

  3. Glisați câmpurile în grila de interogare. În acest exemplu, glisați câmpul Titlu , câmpul multi-valoare AtribuitLa și câmpul multi-valoare AtribuitLa.Valoare .

  4. Debifați caseta de selectare Afișare a valorii AtribuitLa în grila de interogare.

  5. În grila de interogare, sub Valoare.AtribuitLa, în rândul Criterii , introduceți "NOT "Daniel Hamilton".

    Grila de proiectare a interogării cu câmp de căutare drept

    Este util să vedeți vizualizarea SQL:
    SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";

  6. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.

Rezultat Cele trei probleme care nu i-au fost atribuite lui David Hamilton sunt afișate într-o valoare implicită.

Rezultatele pentru câmpul multivaloare utilizând <Fieldname> Adăugați criterii care afișează fiecare valoare dintr-un câmp multi-valoare într-un singur rând (vizualizarea aplatizată)

Access creează mai întâi un set de rezultate aplatizat, apoi adaugă criteriile.

  1. Deschideți interogarea în Vizualizarea proiect.

  2. În acest exemplu, adăugați tabelul Probleme .

  3. Glisați câmpurile în grila de interogare. În acest exemplu, glisați câmpul Titlu și câmpul multi-valoare AtribuitLa.Valoare .

  4. În grila de interogare, sub Valoare.AtribuitLa, în rândul Criterii , introduceți NOT "Daniel Hamilton".

    Grila de proiectare a interogărilor cu . Formatul valorii pentru câmpul de căutare

    Este util să vedeți vizualizarea SQL:
    SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"

  5. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.

Rezultat Fiecare problemă care nu i-a fost atribuită lui David Hamilton este afișată într-o valoare aplatizată.

Rezultatele pentru câmpul multivaloare utilizând <Nume> câmp. Valoare Începutul paginii

Adăugarea mai multor criterii la un câmp multi-valoare dintr-o interogare

Uneori, trebuie să căutați o potrivire pentru mai multe valori dintr-un câmp multi-valoare. De exemplu, să presupunem că doriți să vedeți acele probleme în care atât "Cipriana Rollin", cât și "Lisa Moldovan" se află printre valorile din câmpul AtribuitLa

  1. Deschideți interogarea în Vizualizarea proiect.
  2. În acest exemplu, adăugați tabelul Probleme .
  3. Glisați câmpurile în grila de interogare. În acest exemplu, glisați câmpul Titlu și câmpul multi-valoare AtribuitCătre.
  4. În grila de interogare, sub AtribuitLa , în rândul Criterii , introduceți "Cipriana Rollin" AND "Lisa Moldovan".
  5. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.

Rezultat Acele două numere care sunt atribuite lui "Kelly Rollin" și "Lisa Miller" sunt afișate.

Rezultatul interogării afișând utilizarea AND într-un câmp multivaloare

Începutul paginii

Grouping and counting a multivalue field in a query

Pentru a efectua calcule, grupări și sortări ale valorilor stocate într-un <câmp multi-valoare, utilizați Fieldname>. Câmp valoare. Pentru mai multe informații despre interogările de grup, consultați Contorizarea datelor utilizând o interogare.

Pentru a contoriza numărul de probleme atribuite fiecărei persoane

  1. Deschideți interogarea în Vizualizarea proiect.
  2. În acest exemplu, adăugați tabelul Probleme .
  3. Glisați câmpurile pe care doriți să le utilizați în grila de interogare. În acest exemplu, glisați AssignedTo.Value în prima coloană și Titlu în a doua coloană.
  4. Pe fila Proiectare, în grupul Afișare/Ascundere faceți clic pe Totaluri.
    Rândul Total apare în grila de interogare. Grupare după apare implicit în celula Total de sub fiecare câmp din interogare.
  5. În grila de interogare, sub Titlu, în rândul Total , faceți clic pe Contor.
  6. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.

Rezultat Numărul de probleme atribuite pentru fiecare persoană este afișat într-o vizualizare aplatizată.

O interogare care contorizează problemele atribuite fiecărei persoane

Pentru a contoriza câte persoane sunt atribuite fiecărei probleme

  1. Deschideți interogarea în Vizualizarea proiect.
  2. În acest exemplu, adăugați tabelul Probleme .
  3. Glisați câmpurile pe care doriți să le utilizați în grila de interogare. În acest exemplu, glisați Titlu în prima coloană și glisați AtribuitLa în a doua coloană.
  4. Pe fila Proiectare, în grupul Afișare/Ascundere faceți clic pe Totaluri.
    Rândul Total apare în grila de interogare. Grupare după apare în mod implicit în celula Total de sub câmpul Titlu din interogare. Expresia apare implicit în celula Total de sub câmpul Atribuitcă, deoarece nu se poate efectua o operațiune de Grupare după direct într-un câmp multi-valoare, ci doar pe <un nume de câmp>. Câmp valoare.
  5. În grila de interogare, sub AtribuitLa , în rândul Total , faceți clic pe Contorizare.
  6. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.

Rezultat Numărul de persoane atribuite pentru fiecare problemă este afișat într-o vizualizare aplatizată.

Rezultatul interogării care arată contorizarea numărului de persoane pe problemă

Începutul paginii

Utilizarea unei interogări de adăugare cu un câmp multi-valoare

Aveți posibilitatea să inserați o singură valoare într-un câmp multi-valoare, utilizând o interogare de adăugare. De exemplu, să presupunem că doriți să adăugați "Emil Michel" la câmpul multi-valoare AtribuitLa din tabelul Probleme.

Notă Acesta este singurul tip de interogare de adăugare care funcționează cu un câmp multi-valoare.

  1. Deschideți interogarea în Vizualizarea proiect.
  2. Adăugați tabelul Probleme .
  3. Pe fila Proiectare , faceți clic pe Adăugare.
  4. În caseta de dialog Adăugare , selectați Probleme, apoi faceți clic pe OK.
  5. În rândul Adăugare la din grila de proiectare, selectați AtribuitLa.Valoare.
  6. În rândul Câmp din grila de proiectare, introduceți "Tom Michaels".
  7. Pentru a limita operațiunea de adăugare la anumite probleme, adăugați un câmp în grila de proiectare, cum ar fi Titlu, eliminați Titlul din rândul Adăugare la , apoi introduceți criterii cum ar fi "Problema 3".
  8. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.
    Access vă poate solicita să confirmați adăugarea rândului selectat. Faceți clic pe Da pentru a insera rândul sau pe Nu pentru a anula.

Rezultat "Tom Michaels" este acum adăugat la câmpul AtribuitCătre pentru problema 3.

Important Nu puteți utiliza o interogare de adăugare care face referire la un tabel ce conține un câmp multi-valoare. De exemplu, următoarea interogare nu este validă:

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

Începutul paginii

Utilizarea unei interogări de actualizare cu un câmp multi-valoare

Aveți posibilitatea să utilizați o interogare de actualizare pentru a transforma o singură valoare dintr-un câmp multi-valoare într-o altă valoare. În acest exemplu, doriți să actualizați câmpul multi-valoare AtribuitLa pentru a înlocui "Cipriana Dobre" cu "Ioana Moldovan".

  1. Deschideți interogarea în Vizualizarea proiect.
  2. Adăugați tabelul Probleme .
  3. Pe fila Proiectare , faceți clic pe Actualizare.
  4. Glisați AssignedTo.Value în grila de interogare.
  5. În rândul Actualizare la, introduceți "Lisa Miller".
  6. În rândul Criterii , introduceți "Kelly Rollin".
  7. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.
    Access vă poate solicita să confirmați adăugarea rândului selectat. Faceți clic pe Da pentru a insera rândul sau pe Nu pentru a anula.

Rezultat Lisa Miller o înlocuiește pe Cipriana Rollin în câmpul AtribuitLa pentru toate problemele corespunzătoare.

Începutul paginii

Utilizarea unei interogări de ștergere cu un câmp multi-valoare

Când lucrați cu un tabel care conține un câmp multi-valoare, puteți utiliza o interogare de ștergere pentru a șterge înregistrările care conțin o anumită valoare într-un câmp multi-valoare sau pentru a șterge o anumită valoare dintr-un câmp multi-valoare din toate înregistrările din tabel. În exemplul următor, să presupunem că doriți să ștergeți "David Hamilton" din tabelul Probleme.

Important Atunci când utilizați o interogare de ștergere pentru a șterge un câmp multi-valoare care conține date, veți pierde definitiv acele date; nu puteți anula ștergerea. Din acest motiv, trebuie să faceți backup bazei de date înainte să ștergeți câmpuri de tabel sau alte elemente de bază de date.

Pentru a șterge o anumită valoare dintr-un câmp multi-valoare din toate înregistrările

  1. În fila Creare, în grupul Interogări, faceți clic pe Proiectare interogare.
  2. Adăugați tabelul Probleme .
  3. Deschideți interogarea în Vizualizarea proiect.
  4. Pe fila Proiectare , faceți clic pe Ștergere.
  5. În rândul Criterii , introduceți "David Hamilton".
  6. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.
    Access vă poate solicita să confirmați dacă ștergeți înregistrările. Faceți clic pe Da pentru a șterge înregistrările sau pe Nu pentru a anula.

Rezultat David Hamilton este eliminat din pentru toate problemele corespunzătoare.

Ștergerea înregistrărilor care conțin o anumită valoare într-un câmp multi-valoare

  1. În fila Creare, în grupul Interogări, faceți clic pe Proiectare interogare.

  2. Adăugați tabelul Probleme .

  3. Deschideți interogarea în Vizualizarea proiect.

  4. Pe fila Proiectare , faceți clic pe Ștergere grup.

  5. Pe fila Proiectare , în grupul Rezultate , faceți clic pe săgeată sub Vizualizare , apoi faceți clic pe Vizualizare SQL.

  6. Introduceți următoarea instrucțiune SQL:

    DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
    

    Notă În acest caz, puteți utiliza doar o instrucțiune SQL, nu grila de proiectare. În cazul în care comutați la vizualizarea grilă de proiectare, Access adaugă un asterisc (*) după instrucțiunea DELETE, pe care trebuie să o eliminați din vizualizarea SQL.

  7. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.
    Access vă poate solicita să confirmați dacă ștergeți înregistrările. Faceți clic pe Da pentru a șterge înregistrările sau pe Nu pentru a anula.

Rezultat Toate problemele în care este atribuit David Hamilton sunt eliminate.

Începutul paginii