Uneori, puteți dori să examinați înregistrările dintr-un tabel Access doar dacă există înregistrări corespondente în alt tabel Access care conține unul sau mai multe câmpuri cu date care se potrivesc. De exemplu, puteți dori să examinați înregistrările de angajat ale angajaților care au procesat cel puțin o comandă, pentru a determina ce angajați sunt eligibili pentru un bonus. Sau puteți dori să revizuiți informațiile de contact pentru clienții care locuiesc în același oraș cu un angajat, astfel încât să puteți asocia angajații cu clienții, pentru întâlniri față în față.
Atunci când doriți să comparați două tabele Access și să găsiți datele care se potrivesc, puteți:
-
Să creați o interogare care asociază câmpurile din fiecare tabel, atunci când acele câmpuri conțin informații ce corespund, utilizând o relație existentă sau o asociere pe care o creați pentru interogare. Această metodă oferă o performanță optimă (viteza cu care interogarea returnează rezultate), dar nu puteți asocia câmpuri cu tipuri de date diferite.
-
Să creați o interogare care compară câmpuri, utilizând un câmp drept criteriu pentru celălalt. Utilizarea unui câmp drept criteriu pentru alt câmp este în general mai lentă decât utilizarea asocierilor, deoarece asocierile elimină rânduri din rezultatele unei interogări înainte să se citească tabelele subiacente, întrucât criteriile se aplică la rezultatele unei interogări după ce se citesc tabelele subiacente. Cu toate acestea, puteți utiliza un câmp drept criteriu de câmp pentru a compara câmpuri cu tipuri de date diferite, lucru care nu se poate face utilizând asocierile.
Acest articol descrie cum să comparați două tabele pentru a identifica datele corespunzătoare și furnizează date eșantion pe care le puteți utiliza cu procedurile date drept exemplu.
Ce intenționați?
Comparați două tabele utilizând asocieri
Pentru a compara două tabele utilizând asocieri, creați o interogare de selectare care include ambele tabele. Dacă nu există deja o relație între tabele prin câmpurile care conțin datele ce corespund, puteți crea o asociere pentru câmpurile pe care doriți să le examinați pentru potriviri. Puteți crea oricâte asocieri doriți, dar fiecare pereche de câmpuri asociate trebuie să fie de același tip de date sau de un tip compatibil.
Să presupunem că sunteți cercetător instituțional la un colegiu și doriți vedeți cum au afectat modificările recente ale programei din departamentul de matematică notele studenților. Vă interesează în mod specific notele studenților care se specializează în matematică. Aveți deja un tabel care stochează date despre specializările studenților și un tabel care stochează date despre înscrierea la cursuri. Datele despre note sunt stocate în tabelul Înscriere la cursuri, iar datele despre specializările studenților sunt stocate în tabelul Specializări studenți. Pentru a vedea cum s-au schimbat notele studenților specializați în matematică în urma modificărilor recente ale programei, trebuie să revizuiți înregistrările din tabelul de înscrieri care au înregistrări corespondente în tabelul de specializări.
Pregătirea datelor eșantion
În acest exemplu, construiți o interogare care determină cum au afectat modificările recente ale programei din departamentul de matematică notele studenților la matematică. Utilizați următoarele două tabele eșantion, Specializări studenți și Înscrieri la cursuri. Adăugați aceste două tabele eșantion, Specializări studenți și Înscrieri la cursuri, într-o bază de date.
Access furnizează mai multe modalități de a adăuga aceste tabele eșantion într-o bază de date. Puteți să introduceți datele manual, să copiați fiecare tabel într-un program pentru foi de calcul, apoi să importați foile de lucru în Access sau să lipiți datele într-un editor de text, cum ar fi Notepad, apoi să importați datele din fișierele text rezultate.
Pașii din această secțiune vă arată cum să introduceți datele manual într-o foaie de date necompletată și cum să copiați tabelele eșantion în Excel, apoi să le importați în Access.
Specializări studenți
ID student |
An |
Specializare |
---|---|---|
123456789 |
2005 |
MATEMATICĂ |
223334444 |
2005 |
ENGL |
987654321 |
2005 |
MATEMATICĂ |
135791357 |
2005 |
ISTORIE |
147025836 |
2005 |
BIOL |
707070707 |
2005 |
MATEMATICĂ |
123456789 |
2006 |
MATEMATICĂ |
223334444 |
2006 |
ENGL |
987654321 |
2006 |
PSIH |
135791357 |
2006 |
ARHIT |
147025836 |
2006 |
BIOL |
707070707 |
2006 |
MATEMATICĂ |
Înscrieri la cursuri
ID student |
An |
Semestre |
Programă |
Curs nr. |
Notă |
---|---|---|---|---|---|
123456789 |
2005 |
3 |
MATEMATICĂ |
221 |
A |
123456789 |
2005 |
3 |
ENGL |
101 |
B |
123456789 |
2006 |
1 |
MATEMATICĂ |
242 |
C |
123456789 |
2006 |
1 |
MATEMATICĂ |
224 |
C |
223334444 |
2005 |
3 |
ENGL |
112 |
A |
223334444 |
2005 |
3 |
MATEMATICĂ |
120 |
C |
223334444 |
2006 |
1 |
ȘTPOL |
110 |
A |
223334444 |
2006 |
1 |
ENGL |
201 |
B |
987654321 |
2005 |
3 |
MATEMATICĂ |
120 |
A |
987654321 |
2005 |
3 |
PSIH |
101 |
A |
987654321 |
2006 |
1 |
MATEMATICĂ |
221 |
B |
987654321 |
2006 |
1 |
MATEMATICĂ |
242 |
C |
135791357 |
2005 |
3 |
ISTORIE |
102 |
A |
135791357 |
2005 |
3 |
ARHIT |
112 |
A |
135791357 |
2006 |
1 |
MATEMATICĂ |
120 |
B |
135791357 |
2006 |
1 |
MATEMATICĂ |
141 |
C |
147025836 |
2005 |
3 |
BIOL |
113 |
B |
147025836 |
2005 |
3 |
CHIM |
113 |
B |
147025836 |
2006 |
1 |
MATEMATICĂ |
120 |
D |
147025836 |
2006 |
1 |
STAT |
114 |
B |
707070707 |
2005 |
3 |
MATEMATICĂ |
221 |
B |
707070707 |
2005 |
3 |
STAT |
114 |
A |
707070707 |
2006 |
1 |
MATEMATICĂ |
242 |
D |
707070707 |
2006 |
1 |
MATEMATICĂ |
224 |
C |
Dacă doriți să utilizați un program pentru foi de calcul spre a introduce datele eșantion, puteți omite următoarea secțiune.
Introduceți manual datele eșantion
-
Deschideți o bază de date nouă sau existentă.
-
Pe fila Creare, în grupul Tabele, faceți clic pe Tabel.
Access adaugă un tabel nou, necompletat la baza de date.
Notă: Nu trebuie să urmați acest pas dacă deschideți o bază de date nouă, necompletată, dar va trebui să-l urmați ori de câte ori trebuie să adăugați un tabel în baza de date.
-
Faceți dublu clic pe prima celulă din rândul antet și tastați numele câmpului din tabelul eșantion.
În mod implicit, Access semnalizează câmpurile necompletate din rândul antet cu textul Adăugare câmp nou, cum ar fi:
-
Utilizați tastele săgeată pentru a trece la următoarea celulă antet necompletată, apoi tastați al doilea nume de câmp. (De asemenea, puteți face dublu clic pe celula nouă.) Repetați acest pas pentru fiecare nume de câmp.
-
Introduceți datele în tabelul eșantion.
Pe măsură ce introduceți datele, Access deduce un tip de date pentru fiecare câmp. Fiecare câmp are un anumit tip de date, cum ar fi Număr, Text sau Dată/Oră. Setarea tipurilor de date asigură o introducere corectă a datelor și vă ajută să preveniți greșelile, cum ar fi utilizarea unui număr de telefon într-un calcul. Pentru aceste tabele eșantion, permiteți ca Access să deducă tipul de date, dar nu uitați să examinați tipul de date dedus de Access pentru fiecare câmp.
-
După ce terminați de introdus datele, faceți clic pe Salvare sau apăsați CTRL+S.
Apare caseta de dialog Salvare ca.
-
În caseta Nume tabel, tastați numele tabelului eșantion, apoi faceți clic pe OK.
Utilizați numele fiecărui tabel eșantion (de exemplu, Specializări studenți), deoarece și interogările din secțiunile de procedură din acest articol utilizează acele nume.
După ce terminați de introdus datele eșantion, sunteți gata să comparați cele două tabele.
Treceți la secțiunea următoare (Crearea foilor de lucru eșantion), cu excepția cazului în care doriți să învățați cum să creați o foaie de lucru care se bazează pe datele eșantion din tabelele din secțiunea anterioară.
Crearea foilor de lucru eșantion
-
Porniți programul pentru foi de calcul și creați un fișier nou, necompletat. Dacă utilizați Excel, un registru de lucru nou și necompletat este creat în mod implicit atunci când porniți programul.
-
Copiați primul tabel eșantion din secțiunea anterioară și lipiți-l în prima foaie de lucru, începând de la prima celulă. Aveți grijă să copiați și rândul antet, deoarece conține numele câmpurilor din tabelul eșantion.
-
Folosind tehnica oferită de programul pentru foi de calcul, dați foii de lucru același nume cu al tabelului eșantion. De exemplu, atunci când lipiți datele eșantion Înscrieri la cursuri, denumiți foaia de lucru Înscrieri la cursuri.
-
Repetați pașii 2 și 3, copiind al doilea tabel eșantion într-o foaie de lucru necompletată și redenumind foaia de lucru.
Notă: Poate fi nevoie să adăugați foile de lucru la fișierul foaie de calcul. Pentru informații despre adăugarea de foi de lucru la fișierul foaie de calcul, consultați ajutorul pentru programul pentru foi de calcul.
-
Salvați registrul de lucru într-o locație convenabilă de pe computer sau din rețea și treceți la următorul set de pași.
Crearea tabelelor bazei de date din foile de lucru
-
În baza de date nouă sau existentă:
Pe fila Date externe, în grupul Import, faceți clic pe Excel.
- sau -
Faceți clic pe Mai multe, apoi selectați un program pentru foi de calcul din listă.
Apare caseta de dialog Preluare date externe - foaie de calcul nume program.
-
Faceți clic pe Navigare, găsiți și deschideți fișierul foaie de calcul creat în pașii anteriori, apoi faceți clic pe OK.
Expertul Import foaie de calcul pornește.
În mod implicit, expertul selectează prima foaie de lucru din registrul de lucru (Specializări studenți, dacă ați urmat pașii din secțiunea anterioară), iar datele din foaia de lucru respectivă apar în secțiunea inferioară a paginii expertului.
-
Faceți clic pe Next (Următorul).
-
Pe pagina următoare a expertului, bifați caseta de selectare Primul rând conține titluri de coloană, apoi faceți clic pe Următorul.
-
Pe pagina următoare, puteți utiliza casetele text și listele de sub Opțiuni pentru câmp pentru a modifica numele câmpurilor și tipurile de date sau pentru a omite câmpuri din operațiunea de import. Pentru acest exemplu, nu trebuie să efectuați nicio modificare. Faceți clic pe Următorul.
-
Pe pagina următoare, selectați opțiunea Fără cheie primară, apoi faceți clic pe Următorul.
-
În mod implicit, Access aplică numele foii de lucru pentru tabelul nou. Acceptați numele în caseta Import în tabelul, apoi faceți clic pe Terminare.
-
Pe pagina Salvare pași de import, faceți clic pe Închidere pentru a finaliza expertul.
-
Repetați pașii 1-7 până când ați creat un tabel din fiecare foaie de lucru din fișierul foaie de calcul.
Comparați tabelele eșantion și găsiți înregistrări care se potrivesc utilizând asocieri
Acum sunteți gata să comparați tabelul Înscrieri la cursuri și tabelul Specializări studenți. Pentru că nu ați definit relații între cele două tabele, trebuie să creați asocieri între câmpurile corespunzătoare din interogare. Tabelele au mai multe câmpuri în comun și va trebui să creați o asociere pentru fiecare pereche de câmpuri comune: ID student, An și Programă (tabelul Înscrieri la cursuri) și Specializare (tabelul Specializări studenți). În acest exemplu, vă interesează doar studenții specializați în matematică, așa că veți utiliza un criteriu de câmp pentru a limita rezultatele interogării.
-
Deschideți baza de date în care ați salvat tabelele eșantion.
-
Pe fila Creare, faceți clic Proiectare interogare.
-
Faceți dublu clic pe tabelul care conține înregistrările pe care doriți să le afișați, în acest exemplu, tabelul Înscrieri la cursuri, apoi faceți dublu clic pe tabelul cu care îl comparați, în acest exemplu, tabelul Specializări studenți .
-
Glisați câmpul ID student din tabelul Înscrieri la cursuri spre câmpul ID student din tabelul Specializări studenți. Apare o linie între cele două tabele în grila de proiectare, indicând că ați creat o asociere. Faceți dublu clic pe linie pentru a deschide caseta de dialog Proprietăți asociere.
-
Revizuiți cele trei opțiuni din caseta de dialog Proprietăți asociere. În mod implicit, este selectată opțiunea 1. În unele cazuri, trebuie să ajustați proprietățile asocierii pentru a include rânduri suplimentare dintr-un tabel. Pentru că încercați să găsiți doar datele care corespund, lăsați asocierea setată la opțiunea 1. Închideți caseta de dialog Proprietăți asociere, făcând clic pe Anulare.
-
Va trebui să creați alte două asocieri. Faceți acest lucru prin glisarea câmpului An din tabelul Înscrieri la cursuri spre câmpul An din tabelul Specializări studenți, apoi prin glisarea câmpului Programă din tabelul Înscrieri la cursuri spre câmpul Specializare din tabelul Specializări studenți.
-
În tabelul Înscrieri la cursuri, faceți dublu clic pe asterisc (*) pentru a adăuga toate câmpurile de tabel în grila de proiect a interogării.
Notă: Atunci când utilizați asteriscul pentru a adăuga toate câmpurile, apare o singură coloană în grila de proiectare. Coloana care apare are numele tabelului, urmat de un punct (.) și un asterisc (*). În acest exemplu, coloana se numește Înscrieri la cursuri.*.
-
În tabelul Specializări studenți, faceți dublu clic pe câmpul Specializări pentru a-l adăuga la grilă.
-
Debifați caseta de selectare din rândul Afișare al coloanei Specializare din grila de proiect a interogării.
-
În rândul Criterii din coloana Specializare, tastați MATEMATICĂ.
-
Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.
Interogarea rulează, apoi afișează notele la matematică pentru studenții specializați în matematică.
Comparați două tabele utilizând un câmp drept criteriu
Uneori, este posibil să doriți să comparați tabele pe baza câmpurilor care au date corespondente, dar tipuri de date diferite. De exemplu, un câmp dintr-un tabel poate avea un tip de date Număr și doriți să comparați câmpul respectiv cu un câmp din alt tabel care are un tip de date Text. Câmpurile care conțin date similare, dar au tipuri diferite de câmp, pot apărea atunci când numerele sunt stocate ca text, fie în mod implicit, fie din alte motive, cum ar fi importul datelor din alt program. Deoarece nu puteți crea asocieri între câmpuri care au tipuri de date diferite, va trebui să utilizați o altă metodă pentru a compara câmpurile. Puteți compara două câmpuri care au tipuri diferite de date utilizând un câmp drept criteriu pentru celelalte.
Să presupunem că sunteți cercetător instituțional la un colegiu și doriți vedeți cum au afectat modificările recente ale programei din departamentul de matematică notele studenților. Vă interesează în mod specific notele studenților care se specializează în matematică. Aveți deja un tabel Specializări studenți și un tabel Înscrieri la cursuri. Datele despre note sunt stocate în tabelul Înscriere la cursuri, iar datele despre specializările studenților sunt stocate în tabelul Specializări studenți. Pentru a vedea cum s-au schimbat notele studenților specializați în matematică, trebuie să analizați înregistrările din tabelul de înscrieri care au înregistrări corespondente în tabelul de specializări. Cu toate acestea, unul dintre câmpurile pe care doriți să-l utilizați pentru a compara tabelele are un tip de date diferit de cel al omologului său.
Pentru a compara două tabele utilizând un câmp drept criteriu, creați o interogare de selectare care include ambele tabele. Includeți câmpurile pe care doriți să le afișați și câmpul care corespunde celui pe care doriți să-l utilizați drept criteriu. Apoi creați un criteriu pentru a compara tabelele. Puteți crea oricâte criterii pentru a compara câmpurile.
Pentru a ilustra această metodă, veți utiliza tabelele eșantion din secțiunea anterioară, dar veți modifica tipul de date din câmpul ID student al tabelului Specializări studenți din Număr în Text. Deoarece nu puteți crea o asociere între două câmpuri cu tipuri diferite de date, va trebui să comparați cele două câmpuri ID student utilizând un câmp drept criteriu pentru celălalt.
Modificați tipul de date al câmpului ID student din Specializări studenți
-
Deschideți baza de date în care ați salvat tabelele eșantion.
-
În Panoul de navigare, faceți clic dreapta pe tabelul Specializări studenți apoi faceți clic pe Vizualizare proiect în meniul de comenzi rapide.
Tabelul Specializări studenți se deschide în vizualizarea Proiect.
-
În coloana Tip de date, modificați setarea pentru ID student din Număr în Text.
-
Închideți tabelul Specializări studenți. Când vi se solicită să salvați modificările, faceți clic pe Da.
Comparați tabelele eșantion și găsiți înregistrările care se potrivesc utilizând un criteriu de câmp
Următoarea procedură arată cum să comparați cele două câmpuri ID student prin utilizarea unui câmp din Înscrieri la cursuri drept criteriu pentru câmpul din Specializări studenți. Utilizând cuvântul cheie Like, puteți compara câmpurile, chiar dacă acestea au tipuri de date diferite.
-
Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.
-
Faceți dublu clic pe Înscrieri la cursuri, apoi faceți dublu clic pe Specializări studenți.
-
Glisați câmpul An din tabelul Înscrieri la cursuri spre câmpul An din tabelul Specializări studenți, apoi glisați câmpul Programă din tabelul Înscrieri la cursuri spre câmpul Specializare din tabelul Specializări studenți. Pentru că aceste câmpuri au aceleași tipuri de date, le puteți compara utilizând asocieri. Asocierile sunt metoda preferată pentru compararea câmpurilor care conțin același tip de date.
-
Faceți dublu clic pe asterisc (*) în tabelul Înscrieri la cursuri pentru a adăuga toate câmpurile tabelului respectiv în grila de proiect a interogării.
Notă: Atunci când utilizați asteriscul pentru a adăuga toate câmpurile, apare o singură coloană în grila de proiectare. Coloana care apare are numele tabelului, urmat de un punct (.) și un asterisc (*). În acest exemplu, coloana se numește Înscrieri la cursuri.*.
-
În tabelul Specializări studenți, faceți dublu clic pe câmpul ID student pentru a-l adăuga la grilă.
-
Debifați caseta de selectare din rândul Afișare al coloanei ID student din grila de proiect. În rândul Criterii din coloana ID student, tastați like [Înscrieri la cursuri].[ID student].
-
În tabelul Specializări studenți, faceți dublu clic pe câmpul Specializări pentru a-l adăuga la grilă.
-
Debifați caseta de selectare din rândul Afișare al coloanei Specializare din grila de proiect. În rândul Criterii, tastați MATEMATICĂ.
-
Pe fila Proiectare, în grupul Rezultate, faceți clic pe Rulare.
Interogarea rulează, apoi afișează notele la matematică pentru studenții specializați în matematică.