Office
Conectare

Utilizarea câmpurilor multivaloare în interogări

Notă:  Dorim să vă oferim cel mai recent conținut de ajutor, cât mai rapid posibil, în limba dvs. Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Vă rugăm să ne spuneți dacă informațiile v-au fost utile, în partea de jos a acestei pagini. Aici se află articolul în limba engleză , ca să îl puteți consulta cu ușurință.

În Microsoft Office Access 2007, aveți posibilitatea să creați un câmp care conține mai multe valori, cum ar fi o listă de persoane cărora le-ați atribuit o problemă. Câmpurile multivaloare sunt potrivite pentru anumite situații, cum ar fi atunci când utilizați Office Access 2007 pentru a lucra cu informații stocate într-o listă Windows SharePoint Services 3.0 și această listă conține un câmp care utilizează unul din tipurile de câmp disponibile în Windows SharePoint Services 3.0.

Acest articol tratează câmpurile multivaloare și modul în care se utilizează acestea în interogări.

În acest articol

Ce este un câmp multi-valoare?

Introducere în interogări

Afișează un câmp multi-valoare într-o interogare

Afișează valorile individuale dintr-un câmp multi-valoare

Informații generale despre valoarea legate și valoarea afișat într-un câmp de căutare

Cum se afișează valoarea legate dintr-o interogare

Introducerea criteriilor de interogare simplă pentru un câmp multi-valoare

Căutarea mai multe valori dintr-un câmp multi-valoare

Înțelegerea impactul inclusiv o. Câmp valoare din lista de câmpuri

Numărare, utilizând alte funcții agregate și grupare

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

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

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

Începutul paginii

Ce este un câmp multi-valoare?

Să presupunem că este cazul să atribuiți o activitate unui angajat sau furnizor, dar decideți că trebuie să o atribuiți mai multor persoane. În Office Access 2007, aveți posibilitatea să creați un câmp multi-valoare care vă permite să selectați persoanele dintr-o listă.

Câmp multivaloare

Când faceți clic pe caseta combo, casetele de selectate se afișează bifate pentru a vă indica opțiunile. Aveți posibilitatea să bifați sau să goliți elementele din listă, apoi să faceți clic pe OK pentru a remite opțiunile dvs.

Un câmp multivaloare într-o casetă combo

Persoanele selectate se stochează într-un câmp multi-valoare și se separă prin virgulă (în mod implicit) la afișare.

Un câmp multivaloare cu valorile separate prin virgulă

Ideea de bază a câmpurilor multi-valoare este aceea de a facilita acceptarea instanțelor în care se dorește selectarea și stocarea mai multor opțiuni, fără a fi necesară crearea unei proiectări complexe a bazei de date. De asemenea, câmpurile multi-valoare sunt importante pentru a completa Windows SharePoint Services, deoarece listele SharePoint acceptă, de asemenea, câmpuri multi-valoare.

Probabil că vă întrebați de ce Office Access 2007 vă permite să stocați mai multe valori într-un câmp, în timp ce majoritatea sistemelor de gestionare a bazelor de date asociate interzic acest lucru. Răspunsul este că motorul bazei de date din Office Access 2007 nu stochează de fapt valorile într-un singur câmp. Cu toate că vedeți și lucrați cu un câmp care pare unic, valorile sunt stocate de fapt independent și sunt gestionate în tabele de sistem ascunse. Motorul bazei de date Access manevrează acest lucru pentru dvs, separând automat datele și îmbinându-le din nou, pentru a acoperi valorile într-un singur câmp.

Tehnic vorbind, un câmp multi-valoare Access modelează o relație multiformă în ambele sensuri. De exemplu, gândiți-vă la un tabel de evenimente în care atribuiți responsabilitatea fiecărui eveniment unuia sau mai multor angajați. Să presupunem că realizați un câmp multi-valoare denumit "AtribuitLui" pentru a atribui evenimente angajaților. Relația dintre evenimente și angajați este multiformă în ambele sensuri. Mai exact, aveți posibilitatea să atribuiți mai multor angajați un singur eveniment sau să atribuiți unui singur angajat mai multe evenimente.

Începutul paginii

Principii de bază despre interogări

Bazele de dată există pentru scopul principal de furniza informații: „Care este produsul nostru care se vinde cel mai bine? Cine este cel mai bun client al nostru? Unde nu atingem țintele noastre de vânzări?” Toate acestea sunt întrebări pe care le-ați adresa în mod legitim unei baze de date bine construite. Pentru a obține răspunsurile de la baza de date Access, creați o interogare și introduceți criteriile necesare. Datele dintr-o interogare pot proveni dintr-un tabel sau din mai multe tabele. După ce Access regăsește datele care răspund la întrebarea dvs., aveți posibilitatea să vizualizați și să analizați datele. Odată ce ați creat o interogare, aveți posibilitatea să o utilizați ca bază pentru un formular, un raport, un element grafic sau chiar o altă interogare.

Office Access 2007 permite implicarea câmpurilor multivaloare în anumite interogări și în anumite moduri. Aveți posibilitatea să afișați un câmp multivaloare într-o interogare, să afișați valorile individuale ale unui câmp multivaloare într-o interogare și să efectuați, cu ajutorul câmpurilor multivaloare, anumite operațiuni agregate selectate și interogări de acțiuni.

Începutul paginii

Afișarea unui câmp multivaloare într-o interogare

Când afișați un câmp multivaloare într-o interogare, trebuie să decideți dacă doriți să afișeze tot câmpul multivaloare care conține toate valorile separate prin virgulă, sau un rând distinct pentru fiecare valoare. De exemplu, să presupunem că aveți un tabel Probleme care conține un câmp AtribuitLa pe care îl utilizați pentru a atribui probleme persoanelor. Aveți posibilitatea să construiți o interogare care conține câmpul AtribuitLa, dacă utilizați următoarea procedură.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

    Imaginea panglicii Access

  4. În caseta de dialog Afișare tabel, faceți clic pe tabelul (în acest exemplu, pe "Sarcini") care conține câmpul multi-valoare, apoi faceți clic pe Adăugare.

  5. Faceți clic pe Închidere.

  6. Glisați câmpurile pe care le utilizați în grila de proiectare a interogării. În acest exemplu, glisați în grila de interogare câmpul Titlu și câmpul multivaloare numit AtribuitLa.

  7. Pe fila Proiectare, în grupul Rezultate, faceți clic pe Executare.

Rezultatul interogării va semăna cu următoarea ilustrație  - o coloană afișează titlul problemei și a doua coloană afișează câmpul multivaloare:

Rezultatul interogării care afișează câmpurile Titlu și AtribuitLa

Când creați o interogare în vizualizare Proiectare, Access generează în mod automat instrucțiunea SQL (Limbaj de Interogare structurat) corespunzătoare. SQL este limbajul de interogare utilizat de Access. Aveți posibilitatea să comutați în vizualizare SQL pentru a vedea instrucțiunea SQL, dacă utilizați următoarea procedură.

  1. Pe fila Proiectare din grupul Rezultate, faceți clic pe săgeata de sub Vizualizare pentru a afișa meniul Vizualizare.

  2. Faceți clic pe Vizualizare SQL.

Instrucțiunea SQL arată în felul următor:

SELECT Issues.Title, 
Issues.AssignedTo
FROM Issues;

Începutul paginii

Afișarea valorilor individuale într-un câmp multivaloare

Să presupunem că doriți să vizualizați câmpul multivaloare AtribuitLa extins (uneori este denumit aplatizat), în așa fel încât fiecare nume sau valoare AtribuitLa să se afișeze pe un alt rând. Pentru a efectua acest lucru, este nevoie să specificați proprietatea Value prin adăugarea la șir a instrucțiunii ".Value" la "AtribuitLa" în rândul Câmp, după cum se arată aici în grila de interogare:

Grilă de interogare care arată Titlu și valoarea Valoare.AtribuitLa

Când specificați AtribuitLa în rândul Câmp, Access afișează toate valorile din câmpul multivaloare într-un singur rând, la executarea interogării. Cu toate acestea, când utilizați proprietatea Valoare, ca în Value.AtribuitLa, Access afișează câmpul multivaloare în forma desfășurată, în așa fel încât fiecare valoare să se afișeze pe un alt rând. Aveți posibilitatea să creați o interogare pentru a afișa valorile individuale, dacă utilizați următoarea procedură.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

    Imaginea panglicii Access

  4. În caseta de dialog Afișare tabel, faceți clic pe tabelul (în acest exemplu, pe "Sarcini") care conține câmpul multi-valoare, apoi faceți clic pe Adăugare.

  5. Faceți clic pe Închidere.

  6. Glisați câmpurile pe care doriți să le utilizați (în acest exemplu, câmpul multi-valoare denumit "Valoare AtribuitLui") la grila de interogare.

  7. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

Rezultatul interogării, care afișează valorile Titlu și valorile individuale AtribuitLa

Când creați o interogare utilizând vizualizare Proiectare, Access generează automat instrucțiunea SQL (Limbaj de Interogare structurat) corespunzătoare. SQL este limbajul de interogare utilizat de Access. Aveți posibilitatea să comutați în vizualizare SQL pentru a vedea instrucțiunea SQL, dacă utilizați următoarea procedură.

  1. Pe fila Proiectare din grupul Rezultate, faceți clic pe săgeata de sub Vizualizare pentru a afișa meniul Vizualizare.

  2. Faceți clic pe Vizualizare SQL.

Instrucțiunea SQL arată în felul următor:

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

Începutul paginii

Informații despre valoarea de legătură și valoarea de afișare într-un câmp de căutare

Un câmp multivaloare este un câmp de căutare. Un câmp de căutare este un câmp dintr-un tabel a cărui valoare este regăsită din alt tabel sau din altă interogare sau dintr-o listă de valori. Pentru un număr de versiuni, Access a acceptat câmpurile de căutare cu o singură valoare. Câmpurile de căutare multivaloare sunt o noutate în Office Access 2007. Scopul unui câmp de căutare este de a înlocui afișarea unui număr, cum ar fi un ID (sau alte valori cheie străine), cu ceva cu mai mult înțeles, cum este un nume, De exemplu, în loc să se afișeze un număr ID de contact, Access afișează un nume de contact. Numărul ID pentru persoana de contact este valoarea de legătură. El este căutat în mod automat într-un tabel sursă sau într-o interogare și este înlocuit cu un nume de contact. Numele persoanei de contact este valoarea de afișare.

Așa cum se întâmplă și cu un câmp de căutare cu o singură valoare care are o valoare de afișare și o valoare de legătură, un câmp de căutare multivaloare are valori de afișare care apar în interfața de utilizator și valori de legătură care sunt stocate în tabel. Pentru fiecare intrare din câmpul multivaloare "se caută" o valoare de afișare, pe baza valorii de legătură.

Aceasta înseamnă că Access afișează adeseori o valoare de afișare căutată care nu este aceeași cu valoarea de legătură care este stocată în câmp. De exemplu, în exemplul anterior care utilizează câmpul AtribuitLa, un set de valori ID ale angajaților, din interogarea Persoane de contact (extins), sunt stocate în câmpul AtribuitLa. Interogarea Persoane de contact (extins) a fost selectată ca Sursa rândului când a fost creat câmpul multivaloare.

Aceste ID-uri ale angajaților sunt valorile de legătură. Cu toate acestea, deoarece câmpul AtribuitLa este un câmp de căutare, Access afișează în rezultatul interogării un set de valori de căutare  - în acest caz, numele de contact. Numele persoanelor de contact sunt valorile de afișare.

O foaie de date cu valorile de afișat versus o foaie de date cu valorile legate

1. Valorile de afișare.

2. Valorile de legătură.

Aveți posibilitatea să vizualizați proprietățile de căutare pentru un câmp multivaloare în vizualizare Proiectare. Iată cum:

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În Panoul de navigare, faceți clic cu butonul din dreapta în tabelul în care este stocat câmpul multivaloare.

  4. Faceți clic pe vizualizare Proiectare.

  5. Faceți clic pe câmpul multivaloare (de exemplu, faceți clic pe AtribuitLa).

  6. Sub Proprietăți câmp, faceți clic pe fila Căutare.

Proprietăți ale câmpului de căutare multi-valoare

Este important să înțelegeți distincția dintre valoarea de afișare a unui câmp de căutare și valoarea de legătură. Valoarea de afișare apare automat în vizualizarea foii de date, în mod implicit. Cu toate acestea, valoarea de legătură reprezintă ceea ce este stocat, ceea ce este utilizat în criteriile de stocare și ceea ce utilizează Access, în mod implicit, în legăturile cu alte tabele.

Începutul paginii

Cum se afișează valoarea de legătură într-o interogare

Valoarea de afișare apare automat în vizualizarea foii de date, în mod implicit. Când creați o interogare, aveți posibilitatea să înlocuiți acest comportament, astfel încât să se afișeze valoarea de legătură în locul valorii de afișare. Pașii necesari sunt descriși în următoarea procedură:

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

    Imaginea panglicii Access

  4. În caseta de dialog Afișare tabel, faceți clic pe tabelul (în acest exemplu, pe "Sarcini") care conține câmpul multi-valoare, apoi faceți clic pe Adăugare.

  5. Faceți clic pe Închidere.

  6. Glisați câmpurile pe care le utilizați în grila de proiectare a interogării. În acest exemplu, glisați în grila de interogare câmpul Titlu și câmpul multivaloare Valoare.AtribuitLa.

  7. Faceți clic pe câmpul Valoare.AtribuitLa din grila de interogare astfel încât acest câmp să fie focalizat.

  8. Pe fila Proiectare, în grupul Afișare/ascundere, faceți clic pe Foaie de proprietăți.

  9. În Foaia de proprietăți, pe fila Căutare din proprietatea Control afișare, selectați Casetă de text.

Proprietatea control afișare în proiectarea interogărilor

Când modificați proprietatea Control afișare la Casetă de text, dezactivați comportamentul uzual al coloanei de căutare în așa fel încât valoarea de legătură apare în locul valorii de afișare.

Valoarea de legătură afișată în rezultatul interogării

Începutul paginii

Introducerea criteriilor simple de interogare pentru un câmp multivaloare

Să presupunem că doriți să vedeți valorile atribuite lui „Kelly Rollin”. Aveți posibilitatea să introduceți criteriile de interogare în rândul Criterii din grila de interogare, dar când introduceți criteriile pentru un câmp de căutare trebuie să introduceți valoarea de legătură, nu valoarea de afișare. În acest caz, stabiliți că valoarea de legătură pentru Kelly Rollin este 6. Aceasta este valoarea cheie principală care corespunde în interogarea Persoane de contact (extins) cu Kelly.

Pentru a crea o interogare care afișează problemele atribuite lui Kelly:

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

    Imaginea panglicii Access

  4. În caseta de dialog Afișare tabel, faceți clic pe tabelul (în acest exemplu, pe "Sarcini") care conține câmpul multi-valoare, apoi faceți clic pe Adăugare.

  5. Faceți clic pe Închidere.

  6. Glisați în grila de interogare câmpurile pe care doriți să le utilizați. În acest exemplu, glisați câmpul Titlu în prima coloană din grilă. Apoi glisați câmpul AtribuitLa în a doua coloană.

  7. În fila grilei de interogare, sub AtribuitLa, pe rândul Criterii, introduceți 6. Rețineți că se introduce valoarea de legătură, iar nu valoarea de afișare.

    Grilă de interogare cu criterii într-un câmp multivaloare

  8. Pe fila Proiectare din grupul Rezultate faceți clic pe Executare pentru a executa interogarea.

Când executați interogarea, rezultatul se afișează în vizualizare Foaie de date. Rețineți că interogarea returnează numai rânduri în care se afișează "Kelly Rollin".

Rezultatul interogării în care valoarea AtribuitLa include 6

Când creați o interogare utilizând vizualizare Proiectare, Access generează automat instrucțiunea SQL (Limbaj de Interogare Structurat) corespunzătoare. SQL este limbajul de interogare utilizat de Access. Aveți posibilitatea să comutați în vizualizare SQL pentru a vedea instrucțiunea SQL, dacă utilizați următoarea procedură.

  1. Pe fila Proiectare din grupul Rezultate faceți clic pe săgeată sub Vizualizare pentru a afișa meniul Vizualizare.

  2. Faceți clic pe Vizualizare SQL.

Instrucțiunea SQL arată în felul următor:

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

Căutare de text în loc de număr ID

Ce se întâmplă dacă introducerea de numere ID vi se pare greoaie și preferați să introduceți numele „Kelly Rollin” ca valoare de căutare? Pentru ca aceasta să funcționeze, trebuie ca un câmp din rezultatul interogării să conțină numele sub formă de text. Modul de căutare al numelui „Kelly Rollin” din acel câmp.

Nu aveți posibilitatea să utilizați câmpul Valoare.AtribuitLa, deoarece valoarea sa de legătură este un ID, așadar este necesar să introduceți un ID pentru a filtra câmpul respectiv.

În acest exemplu, numele de contact nu se află în tabel. În schimb, acesta se află în interogarea sursă care furnizează date pentru câmpul multivaloare AtribuitLa. Aveți posibilitatea să asociați tabelul sursă sau interogarea pentru câmpul multivaloare cu tabelul care conține câmpul multivaloare pentru a include în rezultatul interogării un câmp (în acest exemplu, numele de contact) din tabelul sursă sau din interogare. Apoi, aveți posibilitatea să căutați acel câmp în loc de câmpul multivaloare.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

    Imaginea panglicii Access

  4. În caseta de dialog Afișare tabel, faceți clic pe tabelul (în acest exemplu, "Probleme") care conține câmpul multivaloare, apoi faceți clic pe Adăugare.

  5. În caseta de dialog Afișare tabel, faceți clic pe fila Interogări, faceți clic pe interogarea (în acest exemplu, "Persoane de contact (extins)") care este sursa câmpului multivaloare, apoi pe Adăugare.

  6. Faceți clic pe Închidere.

  7. Glisați în grila de interogare câmpurile pe care doriți să le utilizați. În acest exemplu, glisați Titlu din tabelul Probleme în prima coloană din grilă. Apoi glisați Nume persoană de contact din interogarea Persoane de contact (extins) în a doua coloană, apoi goliți caseta de selectare Afișare. Apoi glisați AtribuitLa în a treia coloană.

  8. Dacă nu este vizibilă o linie de unire între câmpul ID din interogarea Persoane de contact (extins) și câmpul Valoare.AtribuitLa așa cum se arată mai jos, faceți clic și glisați din câmpul ID aflat în interogarea Persoane de contact (extins) în câmpul Valoare.AtribuitLa din tabelul Probleme.

    Se afișează o linie de unire.

    Dacă se afișează orice altă linie de unire, eliminați-o. Pentru a elimina o linie de unire, faceți clic pentru a o evidenția, apoi apăsați Ștergere.

  9. În grila de interogare, sub Nume persoană de contact, din rândul Criterii, introduceți "Kelly Rollin".

    Grila de interogare cu criteriile AtribuitLa care conțin "Kelly Rollin"

  10. Pe fila Proiectare din grupul Rezultate faceți clic pe Executare pentru a executa interogarea.

Când executați interogarea, rezultatul se afișează în vizualizare Foaie de date.. Rețineți că rezultatele interogării afișează numai rândurile în care se afișează "Kelly Rollin". Această tehnică funcționează deoarece unirea dintre ID-ul din tabelul sursă sau interogare și câmpul Valoare.AtribuitLa returnează un rând separat pentru fiecare valoare din câmpul multivaloare; fiecare rând conține, de asemenea, un câmp Nume persoană de contact cu numele întreg. Deoarece Nume persoană de contact este un câmp calculat, iar nu un câmp de căutare, nu există valoare de legătură și valoare de afișare. Există numai o singură valoare  - numele persoanei de contact. În acest fel, aveți posibilitatea să furnizați textul care să se potrivească, în acest caz "Kelly Rollin."

Rezultatul interogării cu criteriile AtribuitLa conținând "Kelly Rollin"

Când creați o interogare utilizând vizualizare Proiectare, Access generează automat instrucțiunea SQL (Limbaj de Interogare Structurat) corespunzătoare. SQL este limbajul de interogare utilizat de Access. Aveți posibilitatea să comutați în vizualizare SQL pentru a vedea instrucțiunea SQL, dacă utilizați următoarea procedură.

  1. Pe fila Proiectare din grupul Rezultate faceți clic pe săgeată sub Vizualizare pentru a afișa meniul Vizualizare.

  2. Faceți clic pe Vizualizare SQL.

Instrucțiunea SQL arată în felul următor:

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"));

Începutul paginii

Căutarea a mai mult de o valoare într-un câmp multivaloare

Uneori, este necesar să căutați o valoare corespunzătoare pentru mai mult de o valoare. Să presupunem că doriți să vedeți acele elemente în care "Kelly Rollin" și "Lisa Miller" se numără printre valorile din câmpul AtribuitLa. Valoarea de legătură pentru Kelly Rollin este 6, iar valoarea de legătură pentru Lisa Miller este 10. Pentru a specifica mai multe criterii pentru un câmp multivaloare, aveți posibilitatea să utilizați operatorii AND și OR.

Pentru a crea interogarea, utilizați următoarea procedură.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

  4. În caseta de dialog Afișare tabel, faceți clic pe tabelul (în acest exemplu, "Probleme") care conține câmpul multivaloare, apoi faceți clic pe Adăugare.

  5. Faceți clic pe Închidere.

  6. Glisați în grila de interogare câmpurile pe care doriți să le utilizați. În acest exemplu, glisați câmpul Titlu în prima coloană din grilă. Apoi, glisați AtribuitLa în a doua coloană.

  7. În grila interogării, sub Atribuitla, în rândul criterii , tastați 6 și 10.

    Interogare afișând utilizarea AND în câmpul multivaloare

  8. Pe fila Proiectare din grupul Rezultate faceți clic pe Executare pentru a executa interogarea.

Când executați interogarea, rezultatul se afișează în vizualizare Foaie de date.

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

Rezultatul afișează numai problemele cărora le sunt atribuite atât Kelly Rollin, cât și Lisa Miller. Când creați o interogare utilizând vizualizare Proiectare, Access generează automat instrucțiunea SQL (Limbaj de Interogare Structurat) corespunzătoare. SQL este limbajul de interogare utilizat de Access. Aveți posibilitatea să comutați în vizualizare SQL pentru a vedea instrucțiunea SQL, dacă utilizați următoarea procedură.

  1. Pe fila Proiectare din grupul Rezultate faceți clic pe săgeată sub Vizualizare pentru a afișa meniul Vizualizare.

  2. Faceți clic pe Vizualizare SQL.

Instrucțiunea SQL arată în felul următor:

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

Utilizarea operatorului OR în loc de operatorul AND

Să presupunem că doriți să modificați interogarea astfel încât să listeze rândurile în care se afișează "Kelly Rollin" sau "Lisa Miller". Aveți posibilitatea de a edita instrucțiunea SQL astfel încât să utilizeze operatorul OR în loc de operatorul AND. Instrucțiunea SQL ar trebui să arate în felul următor:

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

Când executați interogarea, rezultatul se afișează în vizualizare Foaie de date.

Interogarea care utilizează operatorul Or operator în câmpul multivaloare

Rezultatul afișează numai problemele cărora le sunt atribuite fie Kelly Rollin, fie Lisa Miller.

Începutul paginii

Înțelegerea impactului includerii unui câmp .Valoare în lista de câmpuri

Este important să înțelegeți impactul includerii unui câmp .Valoare în lista coloanelor de ieșire (lista SELECTARE) din interogare. Când se procesează interogarea, primul pas este să se producă un set de rezultate fără efectul unei clauze sau a unui filtru WHERE. Filtrul se aplică apoi setului inițial. Este de util, așadar, să vă gândiți la acel set de rezultate ca fiind generat primul, apoi fiind redus de către filtrul din clauza WHERE. De exemplu, luați în considerare următoarea situație:

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

Rezultatul inițial ar putea arăta în felul următor, înainte de filtrare:

Titlu

AtribuitLa

Problema 1

David Hamilton, Eva Valverde

Problema 2

Kathleen Gail Jensen, Kelly Rollin, Susan Burk, Lisa Miller

Problema 3

Jesper Aaberg, Kelly Rollin, Eva Valverde, Tom Michaels

Problema 4

Wei Yu, Lisa Miller

Problema 5

David Hamilton, Kathleen Gail Jensen

Problema 6

Sanjay Jacob, Kelly Rollin

Problema 7

Jesper Aaberg, Susan Burk

Problema 8

David Hamilton

Problema 9

Kelly Rollin, Lisa Miller

Problema 10

Eva Valverde, Tom Michaels

Pasul de filtrare parcurge rezultatul inițial și selectează rândurile care nu conțin David Hamilton, al cărui ID este 3:

Titlu

AtribuitLa

Problema 2

Kathleen Gail Jensen, Kelly Rollin, Susan Burk, Lisa Miller

Problema 3

Jesper Aaberg, Kelly Rollin, Eva Valverde, Tom Michaels

Problema 4

Wei Yu, Lisa Miller

Problema 6

Sanjay Jacob, Kelly Rollin

Problema 7

Jesper Aaberg, Susan Burk

Problema 9

Kelly Rollin, Lisa Miller

Problema 10

Eva Valverde, Tom Michaels

Acum, luați în considerare un al doilea caz , unul care include câmpul .Valoare în lista de câmpuri. Rețineți mai întâi cum prezența câmpului .Valoare modifică setul inițial de rezultate, înaintea filtrării:

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

Setul de rezultate inițiale arată în felul următor, înaintea filtrării:

Titlu

Valoare.AtribuitLa

Problema 1

David Hamilton

Problema 1

Eva Valverde

Problema 2

Kathleen Gail Jensen

Problema 2

Kelly Rollin

Problema 2

Lisa Miller

Problema 2

Susan Burk

Problema 3

Eva Valverde

Problema 3

Jesper Aaberg

Problema 3

Kelly Rollin

Problema 3

Tom Michaels

Problema 4

Lisa Miller

Problema 4

Wei Yu

Problema 5

David Hamilton

Problema 5

Kathleen Gail Jensen

Problema 6

Kelly Rollin

Problema 6

Sanjay Jacob

Problema 7

Jesper Aaberg

Problema 7

Susan Burk

Problema 8

David Hamilton

Problema 9

Kelly Rollin

Problema 9

Lisa Miller

Problema 10

Tom Michaels

Problema 10

Eva Valverde

Acum, pasul de filtrare parcurge setul inițial de rezultate și selectează numai rândurile care nu conțin David Hamilton, al cărui ID este 3:

Titlu

Valoare.AtribuitLa

Problema 1

Eva Valverde

Problema 2

Kathleen Gail Jensen

Problema 2

Kelly Rollin

Problema 2

Lisa Miller

Problema 2

Susan Burk

Problema 3

Eva Valverde

Problema 3

Jesper Aaberg

Problema 3

Kelly Rollin

Problema 3

Tom Michaels

Problema 4

Lisa Miller

Problema 4

Wei Yu

Problema 5

Kathleen Gail Jensen

Problema 6

Kelly Rollin

Problema 6

Sanjay Jacob

Problema 7

Jesper Aaberg

Problema 7

Susan Burk

Problema 9

Kelly Rollin

Problema 9

Lisa Miller

Problema 10

Tom Michaels

Problema 10

Eva Valverde

Vizualizarea setului de rezultate înainte și după aplicarea filtrului ar trebui să simplifice anticiparea corectă a rezultatului interogării.

Începutul paginii

Contorizarea, gruparea și utilizarea altor funcții agregate

Este posibil să doriți să efectuați calcule pe grupuri de valori care sunt stocate într-un câmp multivaloare. De exemplu, câte probleme îi sunt atribuite fiecărei persoane? Câte persoane sunt atribuite fiecărei probleme? Aveți posibilitatea să efectuați acest tip de calcul prin implicarea unei funcții agregate într-o interogație Totaluri.

O funcție agregată efectuează un calcul pe un set de valori, apoi returnează o valoare unică. De exemplu, Sum, Count și Avg sunt trei dintre funcțiile agregate care se pot utiliza pentru a calcula totaluri. Aveți posibilitatea să calculați totaluri pentru toate înregistrările sau pentru grupuri de înregistrări. Pentru a sintetiza după grup, trebuie să selectați câmpul sau câmpurile după care să grupați, în grila de interogare.

Următoarea procedură arată cum să creați o interogare pentru a contoriza numărul de probleme atribuit fiecărei persoane.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

    Imaginea panglicii Access

  4. În caseta de dialog Afișare tabel, faceți clic pe tabelul (în acest exemplu, pe "Sarcini") care conține câmpul multi-valoare, apoi faceți clic pe Adăugare.

  5. Faceți clic pe Închidere.

  6. Glisați în grila de interogare câmpurile pe care doriți să le utilizați. În acest exemplu, ați glisa Valoare.AtribuitLa în prima coloană din grilă. Apoi glisați Titlu în a doua coloană.

  7. Pe fila Proiectare din grupul Afișare/Ascundere faceți clic pe Totaluri.

    Se afișează rândul Total în grila de interogare. Se afișează în mod implicit Grupare după în celula Total sub fiecare câmp din interogare.

  8. În grila de interogare, sub Titlu, din rândul Total, faceți clic pe Contorizare.

  9. Pe fila Proiectare din grupul Rezultate faceți clic pe Executare pentru a executa interogarea.

Când proiectați interogarea, specificați care câmpuri se utilizează la grupare și care câmpuri se utilizează la totaluri (calcule). În acest exemplu, Valoare.AtribuitLa a fost câmpul utilizat pentru grupare, iar Titlu a fost câmpul utilizat pentru un calcul al totalului. Pentru câmpurile pe care doriți să le utilizați pentru grupare, selectați Grupare după din rândul Total. Pentru câmpurile pe care doriți să le utilizați pentru un calcul al totalului, selectați un tip de calcul (cum ar fi Sum sau Avg). Rețineți că atunci când utilizați un câmp multivaloare pentru grupări, trebuie să utilizați câmpul .Valoare. În acest exemplu, nu aveți posibilitatea să utilizați câmpul AtribuitLa pentru grupări  - trebuie să utilizați câmpul Valoare.AtribuitLa. De asemenea, trebuie să utilizați câmpul .Valoare când utilizați pentru sortare un câmp multivaloare.

Notă: Când utilizați pentru grupare un câmp multivaloare, trebuie să utilizați câmpul .Valoare. Când utilizați un câmp multivaloare pentru sortare, trebuie să utilizați câmpul .Valoare.

Când executați interogarea, rezultatul se afișează în vizualizare Foaie de date.

O interogare care contorizează problemele atribuite fiecărei persoane

Pentru a vedea instrucțiunea SQL pentru această interogare, comutați în vizualizare SQL prin utilizarea procedurii următoare.

  1. Pe fila Proiectare din grupul Rezultate, faceți clic pe săgeata de sub Vizualizare pentru a afișa meniul Vizualizare.

  2. Faceți clic pe vizualizare SQL.

Instrucțiunea SQL arată în felul următor:

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

Să presupunem că doriți să aflați câte persoane sunt atribuite fiecărei probleme. Aveți posibilitatea să grupați după Titlu și să selectați Contorizare ca și calcul pentru câmpul multivaloare. Pentru a crea interogarea, utilizați următoarea procedură.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

    Imaginea panglicii Access

  4. În caseta de dialog Afișare tabel, faceți clic pe tabelul (în acest exemplu, pe "Sarcini") care conține câmpul multi-valoare, apoi faceți clic pe Adăugare.

  5. Faceți clic pe Închidere.

  6. Glisați în grila de interogare câmpurile pe care doriți să le utilizați. În acest exemplu, ați glisa Titlu în prima coloană din grilă. Apoi, glisați AtribuitLa în a doua coloană.

  7. Pe fila Proiectare din grupul Afișare/Ascundere faceți clic pe Totaluri.

    Se afișează rândul Total în grila de interogare. În mod implicit, se afișează Grupare după în celula Total, sub câmpul Titlu din interogare. În mod implicit, se afișează Expresie în celula Total, sub câmpul AtribuitLa  - deoarece nu aveți posibilitatea să efectuați o operație Grupare după pe un câmp multivaloare. Aveți posibilitatea să efectuați această operație numai pe un câmp multivaloare .Valoare.

  8. În grila de interogare, sub AtribuitLa, în rândul Total, faceți clic pe Contorizare.

  9. Pe fila Proiectare din grupul Rezultate faceți clic pe Executare pentru a executa interogarea.

Când executați interogarea, rezultatul se afișează în vizualizare Foaie de date.

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

Pentru a vedea instrucțiunea SQL pentru această interogare, comutați în vizualizare SQL prin utilizarea procedurii următoare.

  1. Pe fila Proiectare din grupul Rezultate faceți clic pe săgeată sub Vizualizare pentru a afișa meniul Vizualizare.

  2. Faceți clic pe Vizualizare SQL.

Instrucțiunea SQL arată în felul următor:

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

Notă: În această instrucțiune SQL SELECT, nu contează dacă utilizați Contorizare(Probleme.AtribuitLa) sau Contorizare(Probleme.AtribuitLa.Valoare)  - rezultatul este același.

Începutul paginii

Utilizarea unei Interogări de adăugare într-un câmp multivaloare

Aveți posibilitatea să inserați o singură valoare într-un câmp multivaloare, dacă utilizați o Interogare de inserare. De exemplu, să presupunem că doriți să adăugați "Kelly Rollin" la câmpul multivaloare AtribuitLa pentru o problemă. În primul rând, ați stabili valoarea cheie primară pentru problemă și pentru înregistrarea numelui persoanei de contact pentru Kelly. Să presupunem că valorile sunt 10 pentru problemă și 6 pentru Kelly.

Următoarea procedură arată cum se creează interogarea.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

    Imaginea panglicii Access

  4. În caseta de dialog Afișare tabel, faceți clic pe Închidere.

  5. Pe fila Proiectare din grupul Rezultate faceți clic pe săgeată sub Vizualizare pentru a afișa meniul Vizualizare.

  6. Faceți clic pe Vizualizare SQL.

  7. În Vizualizare SQL, tastați următoarea instrucțiune SQL:

    INSERT INTO Issues ( AssignedTo.[Value] )
    VALUES (6)
    WHERE ID = 10;
  8. Pe fila Proiectare din grupul Rezultate faceți clic pe Executare pentru a executa interogarea.

    Este posibil ca Access să vă solicite confirmarea adăugării rândului selectat. Faceți clic pe Da pentru a insera rândul, sau faceți clic pe Nu, pentru a revoca.

Kelly este acum listat în câmpul AtribuitLa pentru problema respectivă. Aceasta este singura formă a Interogării de inserare care va funcționa cu un câmp multivaloare.

Notă: O Interogare de adăugare este o interogare pe care o utilizați pentru a adăuga înregistrări dintr-un tabel într-un alt tabel existent. În Office Access 2007 nu aveți posibilitate să utilizați o Interogare de adăugare care se referă la un tabel care conține un câmp multivaloare. 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 într-un câmp multivaloare

Aveți posibilitatea să utilizați o Interogare de actualizare pentru a modifica valorile din înregistrările existente. Când utilizați o Interogare de actualizare într-un tabel care conține câmpuri multivaloare, aveți posibilitatea să modificați o singură valoare dintr-un câmp multivaloare la o altă valoare. Să presupunem că doriți să actualizați câmpul multivaloare AtribuitLa pentru o anumită problemă  - de exemplu, să înlocuiți "Kelly Rollin" cu "Lisa Miller." În primul rând, aflați valoarea cheie primară pentru problemă și pentru înregistrările persoanelor de contact pentru Kelly și Lisa. Să presupunem că 8 este valoarea pentru problemă, 6 este valoarea pentru Kelly, iar 10 este valoarea pentru Lisa.

Următoarea procedură arată cum se creează interogarea.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

  4. În caseta de dialog Afișare tabel, faceți clic pe Închidere.

  5. Pe fila Proiectare din grupul Rezultate faceți clic pe săgeată sub Vizualizare pentru a afișa meniul Vizualizare.

  6. Faceți clic pe Vizualizare SQL.

  7. În vizualizare SQL, tastați următoarea instrucțiune SQL:

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

    Note: 

    • Se recomandă să includeți întotdeauna o clauză WHERE care identifică numai înregistrările pe care doriți să le actualizați. În caz contrar, veți actualiza înregistrările pe care nu ați intenționat să le modificați. O Interogare de actualizare care nu conține o clauză WHERE modifică fiecare rând din tabel.

    • Aveți posibilitatea să specificați o valoare de modificat.

  8. Pe fila Proiectare din grupul Rezultate faceți clic pe Executare pentru a executa interogarea.

    Este posibil ca Access să vă solicite confirmarea dacă să efectueze sau nu actualizarea înregistrării. Faceți clic pe Da pentru a actualiza rândul, sau faceți clic pe Nu pentru a revoca.

Lisa Miller este listată acum în locul lui Kelly Rollin în câmpul AtribuitLa pentru respectiva problemă.

Începutul paginii

Utilizarea unei Interogări de ștergere într-un câmp multivaloare

Aveți posibilitatea să utilizați o Interogare de ștergere pentru a elimina înregistrările dintr-un tabel. Când lucrați cu un tabel care conține un câmp multivaloare, aveți posibilitatea să utilizați o Interogare de ștergere pentru a șterge înregistrările care conțin o anumită valoare într-un câmp multivaloare, sau să ștergeți o anumită valoare dintr-un câmp multivaloare în toate înregistrările din tabel.

Să presupunem că doriți să eliminați "Kelly Rollin" din câmpul AtribuitLa în tot tabelul. Creați o interogare prin utilizarea următoarei proceduri.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

  4. În caseta de dialog Afișare tabel, faceți clic pe Închidere.

  5. Pe fila Proiectare din grupul Rezultate faceți clic pe săgeată sub Vizualizare pentru a afișa meniul Vizualizare.

  6. Faceți clic pe Vizualizare SQL.

  7. În Vizualizare SQL, tastați următoarea instrucțiune SQL:

    DELETE Issues.AssignedTo.Value
    FROM Issues
    WHERE (((Issues.AssignedTo.Value)=6));
  8. Pe fila Proiectare din grupul Rezultate faceți clic pe Executare pentru a executa interogarea.

    Este posibil ca Access să vă solicite confirmarea dacă să efectueze sau nu ștergerea înregistrărilor. Faceți clic pe Da pentru a șterge înregistrările, sau pe Nu pentru a revoca.

Următorul exemplu de interogare nu șterge nicio înregistrare din tabelul Probleme. Șterge o valoare din câmpul multivaloare AtribuitLa din fiecare înregistrare unde apare valoarea. Dacă doriți să ștergeți înregistrările din tabelul Probleme, nu specificați un câmp care urmează clauzei DELETE în instrucțiunea SQL. De exemplu, pentru a șterge toate problemele care au listat numele "Kelly Rollin" printre persoanele cărora li s-a atribuit problema, introduceți următoarea instrucțiune SQL:

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

Notă: Fiți atenți când ștergeți înregistrările utilizând o Interogare de ștergere. După ștergerea lor, este imposibil să recuperați înregistrările.

Începutul paginii

Extindeți-vă competențele Office
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×