Sunteți pe pagina 1din 41

Crearea tabelelor

1 Crearea tabelelor..........................................................................................................2
1.1 Crearea unei tabele..............................................................................................2
1.2 Crearea unei tabele în modul Design View.........................................................5
1.3 Crearea unei tabele cu o aplicaţie vrăjitor.........................................................10
1.4 Introducerea datelor în tabele............................................................................13
1.4.1 Câmpuri de tip numeric.............................................................................14
1.4.2 Definirea unor casete tip listă şi listă combinată pentru introducerea
datelor 15
1.4.3 Introducerea datelor de tip boolean...........................................................19
1.4.4 Introducerea şi afişarea datelor de tipul Date / Time.................................20
1.4.5 Definirea valorii implicite a unui câmp.....................................................21
1.5 Definirea cheii primare a tabelei........................................................................21
1.6 Meniurile unei tabele.........................................................................................23
1.7 Sortarea şi filtrarea liniilor unei tabele..............................................................26
1.7.1 Sortarea liniilor unei tabele........................................................................26
1.7.2 Filtrarea liniilor unei tabele.......................................................................28
1.8 Adăugarea, modificarea şi ştergerea datelor din tabele....................................30
1.9 Modificarea structurii unei tabele......................................................................32
1.9.1 Adăugarea unei coloane prin modificarea definiţiei tabelei......................32
1.9.2 Adăugarea unei coloane prin modificarea tabelei cu date.........................34
1.9.3 Stergerea unei coloane...............................................................................35
1.9.4 Modificarea tipului datelor unei coloane...................................................36
1.10 Formatarea tabelelor..........................................................................................36
1.11 Probleme propuse..............................................................................................38
1.12 Intrebări de control............................................................................................40

1
1 Crearea tabelelor
1.1 Crearea unei tabele
Crearea unei tabele se face în două etape:
1. etapa de definire a tabelei: pentru fiecare coloană a tabelei se precizează numele
coloanei şi tipul datelor din coloană,
2. etapa de umplere a tabelei cu date.
Instrucţiunea SQL de creare a unei tabele are forma

CREATE TABLE table_name


(
column_name1 data_type [constraints],
column_name2 data_type [constraints],
column_name3 data_type [constraints],
...
);

Instrucţiunea CREATE TABLE conţine descrierea (schema) tabelei pentru fiecare


coloană a tabelei, defineşte numele coloanei, column_name, şi tipul datelor din coloană,
data_type. Instrucţiunea poate conţine şi constrângeri opţionale pentru fiecare coloană,
[constraints]. Constrângerile pot fi cele din Tabelul 1.

Constrângere Semnificaţie
NOT NULL Coloana nu poate conţine o valoare NULL
UNIQUE Valoarea este unică în coloană
PRIMARY KEY Coloana este cheie primară
FOREIGN KEY Coloana este o cheie externă
Tabelul 1. Constrângerile coloanelor unei tabele.
Cheia primară a unei tabele identifică unic liniile tabelei. Ea conţine totdeauna o valoare
unică şi nu poate conţine valoarea NULL. Orice tabelă poate avea o singură cheie
primară.
Cheia externă a unei tabele indică o cheie primară din altă tabelă.
In baza de date există atât descrierea tabelei (schema), numele coloanelor, tipurile de date
din coloane şi constrângerile, cât şi tabela cu date.
După cum vom vedea mai jos, fiecărei etape de creare a tabelei îi corespunde o vedere:
 etapei de proiectare, în care descriem tabela, îi corespunde vederea Design View,
 etapei de umplere cu date a tabelei îi corespund vederile Datasheet View şi Form
View.
Pentru a crea o tabelă într-o bază de date se procedează astfel:
1. se crează o nouă bază de date dacă este cazul, sau se deschide o bază de date
existentă. Pentru aceasta în fereastra Task Pane din dreapta ecranului se afişază
fereastra New File ca în Figura 1,

2
Figura 1. Ferestra New File.
2. în secţiunea Open a file, clic pe numele bazei de date ce trebuie deschisă, care afişază
fereastra Database din Figura 2,

3
Figura 2. Fereastra Database pentru selectarea unei operaţii cu baza de date.
3. în partea stângă a ferestrei Database este meniul Objects cu opţiunile pentru
operaţiile cu baza de date; clic pe opţiunea Tables ce afişază în partea dreaptă
opţiunile pentru crearea unei tabele din Tabelul 2.

Opţiune Semnificaţie
Create table in Design view Definirea unei tabele
Create table by using wizard Crearea unei tabele cu aplicaţia vrăjitor
Create table by entering data Crearea uneu tabele prin introducerea datelor
Tabelul 2. Opţiuni de creare a unei tabele.
Alternativ, clic pe butonul New din bara de instrumente a ferestrei Database, sau pe
meniul Insert  Table, care afişază caseta New Table din Figura 3, cu aceleaşi opţiuni;
se alege opţiunea dorită.

4
Figura 3. Caseta New Table.

1.2 Crearea unei tabele în modul Design View


Modul DesignView permite definirea tabelelor bazei de date. Definirea unei tabele constă
în specificarea numelui fiecărei coloane a tabelei şi tipul datelor din coloane. Clic pe
opţiunea Create table in Design View din Figura 2, sau Design View din Figura 3, care
afişază fereastra Table din Figura 4. In această casetă definim tabela de date, vezi
instrucţiunea CREATE TABLE: coloanele (atributele) tabelei, tipul datelor din coloane şi
constrângerile; coloanele unei tabele pot avea orice nume.
Aplicaţia Access atribuie tabelelor de date nume implicite: Table1, Table2, etc. O tabelă
poate avea orice nume ales de utilizator, atribuit tabelei la salvarea ei. Numele ferestrei
este NumeTabela : Table.

5
Figura 4. Caseta Table pentru definirea unei tabele.

In stânga liniei curente apare cursorul , care poate fi deplasat de la o linie la alta cu
tastele săgeţi.
Fereastra Table conţine o tabelă cu trei coloane; fiecare linie a tabelei defineşte un câmp
(coloană, atribut) al tabelei de date:
1. Field Name va conţine numele coloanelor tabelei,
2. Data Type va conţine tipul datelor coloanelor,
3. Description va conţine o descriere a datelor din coloane.
Menţionăm că, pentru indicaţii asupra câmpurilor unei tabele selectăm câmpul cu clic şi
apăsăm tasta F1, vezi bara de stare a aplicaţiei din Figura 4.
Pentru a exemplificare vom defini o tabelă ANGAJATI cu definiţia de mai jos, a
angajaţilor unei intreprinderi
ANGAJATI

ID Nume Prenume Data_angajarii Varsta

Câmpurile au următoarea semnificaţie:


1. ID, numărul de identificare a angajatului, care va fi cheia primară a tabelei,
2. Nume,
3. Prenume,
4. Data angajării,
5. Varsta.

6
Fiecare coloană (atribut, câmp) a tabelei se defineşte într-o linie a tabelei din fereastra
Table. Trecerea de la un câmp la altul se face cu tasta Tab sau cu tastele săgeţi,  şi .
Atunci când cursorul se află în câmpul Data Type, se afişază lista din Figura 5, din care
se alege tipul dorit:
 Text conţine cel mult 50 caractere,
 Memo conţine text de orice lungime,
 Number conţine numere,
 Date/Time conţine date calendaristice sau timp,
 Currency descrie câmpuri ce conţin valori băneşti,
 AutoNumber generează automat numere consecutive la fiecare linie,
 Yes/No conţine o valoare de tip Boolean, adevărat sau fals, etc.

Figura 5. Tipuri de date ale câmpurilor unei tabele.


Figura 6 arată definirea primei coloane a tabelei ANGAJATI. In coloana Field Name se
introduce numele coloanei, ID. Tipul coloanei ID s-a ales AutoNumber. El se introduce
în coloana Data Type din caseta din Figura 5. Tipul AutoNumber face ca la umplerea
tabelei cu date, la fiecare nou angajat introdus se generează automat un număr ce creşte
cu unu. In coloana Description se introduce un text cu semnificaţia coloanei ID. In
coloana Description se introduce o scurtă descriere a câmpului, aici Cod angajat.

7
Figura 6. Definirea tipului unei coloane a tabelei.
Menţionăm că, la alegerea tipului câmpului în coloana Data Type, în partea de jos a
ferestrei se afişază caseta Field Properties din Figura 6:
 secţiunea General afişază proprietăţile generale, dimensiunea câmpului, etc.,
 secţiunea Lookup specifică opţiunile de afişare a datelor, la cele mai multe tipuri
de date opţiunea text. Opţiunile de afişare corespund domeniului datelor.
Câteva din proprietăţile generale sunt următoarele:
 Field Size specifică lungimea maximă a câmpului,
 Format dă formatul de afişare a datelor introduse, vezi Figura 6. Formatele
predefinite, disponibile pentru fiecare tip de câmp, vor fi prezentate în continuare.
Există posibilitatea de a defini propriile formate de afişare, după cum se va arăta
într-o lucrare următoare,
 Input Mask permite definirea unei măşti de introducere a datelor,
 Caption este titlul câmpului, vezi Figura 6. Dacă această proprietate primeşte o
valoare, ea este afişată ca nume al câmpului la afişarea tabelei cu date, în vederea
Datasheet. In caz contrar numele câmpului este cel din definiţia tabelei,
 .Default Value permite specificarea valorii implicite a câmpului. După cum se
vede în Figura 6, valoarea implicită a unui câmp numeric este 0,
 Validation Rule permite definirea unei reguli de validare pentru a preveni
introducerea de date eronate în tabelă,
 Validation Text permite definirea unui mesaj de eroare afişat la introducerea unei
valori incorecte (când proprietatea Validation Rule nu este satisfăcută),
 .Required, dacă are valoarea Yes, câmpul nu poate fi lăsat gol.
In cazul câmpurilor numerice mai apare şi proprietatea
 Decimal Places specifică numărul de zecimale. In cazul tipurilor întregi numărul
de zecimale este zero

8
Modul de formatare a datelor unei tabele, (Font, înălţimea şi lăţimea câmpului, etc.), va fi
prezentat ulterior.
In exemplul nostru definiţiile coloanelor tabelei ANGAJATI sunt cele din Figura 7.

Figura 7. Definiţiile coloanelor tabelei angajaţilor unei intreprinderi.


Se defineşte cheia primară a tabelei, în cazul nostru coloana ID astfel:
1. se selectează linia ID,
2. clic pe butonul al barei de instrumente, vezi Figura 7,
3. se salvează apoi tabela proiectată. Clic pe opţiunea Save As a meniului File şi se
afişază caseta Save As din Figura 8. Se modifică numele Table1, acordat de Access, în
ANGAJATI şi clic pe butonul OK.

Figura 8. Caseta Save As pentru salvarea unei tabele.


Se crează o tabelă vidă care se poate umple cu date în mai multe moduri. Un mod este de
a afişa tabela în vederea Datasheet View cu un clic pe butonul al barei de instrumente.
Se afişază tabela vidă ca în Figura 9, şi se introduc datele selectând câte un câmp al unei
linii cu un clic de mous şi introducând valoarea dorită.

Figura 9. Tabela ANGAJATI afişată în vederea Datasheet.


Tabela completată cu date este arătată în Figura 10.

9
Figura 10. Tabela ANGAJATI completată cu date.
Deoarece nu am completat proprietatea Caption a câmpurilor tabelei, acestea apar afişate
cu numele lor din definiţia tabelei. Dacă dorim de exemplu ca numele câmpului
Data_angajarii să apară ca Data angajarii (fără _), vom completa proprietatea Caption a
acestui câmp ca Data angajarii.
Navigarea în tabelă se face cu butoanele barei de navigare din partea de jos a tabelei.
Semnificaţia lor este cea din Tabelul 3.

Buton Semnificaţie
Mergi la prima linie
Mergi la linia precedentă
Mergi la linia următoare
Mergi la ultima linie
Crează o nouă linie
Tabelul 3. Butoanele barei de navigare.
In mijlocul barei de navigare este caseta cu numărul liniei curente.
Se poate merge direct la o linie din tabelă cu dublu clic pe caseta cu numărul liniei
curente şi apoi se înscrie în această casetă numărul liniei unde vrem să mergem.
Un alt mod de introducere a datelor în tabele este cu ajutorul unui formular, după cum se
va arăta ulterior.

1.3 Crearea unei tabele cu o aplicaţie vrăjitor


Crearea unei tabele se poate face cu aplicaţia vrăjitor cu un clic pe opţiunea Table
Wizard din Figura 3. Se afişază caseta Table Wizard din Figura 11, în care se selectează
câmpurile din tabelele disponibile. Numele câmpurilor se pot modifica după dorinţă. Vom
exemplifica mai jos crearea unei tabele cu aplicaţia Table Wizard.

10
Figura 11. Caseta Table Wizard.
1. se selectează pe rând tabelele dorite din lista Sample Tables şi apoi câmpurile dorite
din aceste tabele din lista Sample Fields; se poate modifica numele câmpului selectat
cu clic pe butonul Rename Field; după selectarea câmpurilor dorite clic pe butonul
Next şi se afişază caseta din Figura 13,

Figura 12. Pasul I. Selectarea câmpurilor.


2. în caseta din Figura 13 se alege cheia primară, de către vrăjitor sau manual; clic pe
butonul Next şi se afişază caseta din Figura 14,

11
Figura 13. Pasul II. Alegerea numelui şi a cheii primare.
3. în caseta din Figura 14 se definesc, dacă este cazul, relaţiile cu alte tabele; clic pe
butonul Next şi se afişază caseta din Figura 15,

Figura 14. Pasul III. Definirea relaţiilor cu alte tabele.


4. în caseta din Figura 15 se alege modul de introducere a datelor; dacă se marchează
opţiunea Enter data into the table using a form the wizard creates for me, se
crează un formular de introducere şi afişare a datelor. In caz contrar, datele se introduc

12
direct în tabelă, în vederea Datasheet View. Clic pe butonul Finish şi tabela este
creată.

Figura 15. Caseta Table Wizard. Pasul IV alegerea modului de introducere a datelor.
Tabela vidă este afişată în vederea Datasheet View ca în Figura 16.

Figura 16. Afişarea tabelei create de vrăjitor.


Proiectarea tabelei de către vrăjitor este cea din Figura 17.

Figura 17. Proiectarea tabelei create de vrăjitor.

1.4 Introducerea datelor în tabele


Există două moduri de a introduce date într-o tabelă:
 prin introducerea directă a datelor,
 prin crearea unui formular.
In primul mod se afişază tabela de date în unul din următoarele moduri:

13
 cu un clic pe opţiunea Open a meniului din Tabelul 8a,
 cu clic pe butonul al barei de instrumente a ferestrei Database,
 cu dublu clic pe icoana tabelei din fereastra Database.
Se introduc apoi datele. Un exemplu de tabelă completată cu date este cel din Figura 18.

Figura 18. Tabelă cu date.


Introducerea datelor într-o tabelă prin crearea unui formular va fi arătată într-o lucrare
ulterioară.

1.4.1 Câmpuri de tip numeric


Câmpurile de tip numeric pot memora numere întregi sau reale. Dimensiunea câmpului
pentru tipurile numerice poate fi una din următoarele:
 dimensiunile Byte, Integer şi Long Integer corespund numerelor întregi reprezentate
pe 1, 2, respectiv 4 octeţi,
 dimensiunea Decimal reprezintă numere întregi cu cel mult 18 cifre,
 dimensiunile Single şi Double corespund numerelor reale reprezentate pe 4, respectiv
8 octeţi. Precizia acestor tipuri este de 7 şi respective 15 cifre zecimale.
Tipurile numerice disponibile sunt cele din Tabelul 4, unde se arată şi dimensiunea
câmpului, proprietatea Field Size.

Tip Dimensiunea câmpului

AutoNumber

Number

14
Currency

Tabelul 4. Tipuri numerice şi dimensiunile lor.


 tipul AutoNumber reprezintă numere întregi pe 4 octeţi (Long Integer), iar valorile
sunt generate automat, incrementate cu un pas sau aleatoare.
 tipul Number reprezintă numere întregi sau reale, după cum s-a arătat mai sus. In
cazul câmpurilor Single şi Double numărul real are partea întreagă separată de cea
subunitară prin punct, (.), iar grupele de câte trei cifre din partea întreagă se pot separa
prin virgulă. Numerele reale se pot introduce de asemenea cu exponent.
 tipul Currency corespunde valorilor băneşti. Semnul monetar se poate alege ca în
Tabelul 4, dolar, euro. Numărul introdus poate avea cel mult două zecimale. Dacă se
introduce o valoare negativă, ea se reprezintă în paranteze rotunde.
Valorile proprietăţii Format ale tipului Currency sunt modurile de afişare predefinite ale
tuturor tipurilor numerice. Definirea altor moduri de afişare se va prezenta într-o altă
lucrare.
Figura 19 arată o tabelă în care tipurile câmpurilor sunt numerice.

Figura 19. Câmpuri cu tipuri numerice.


Figura 20 arată tabela proiectată în Figura 19, completată cu date.

Figura 20. Exemple de câmpuri numerice.

1.4.2 Definirea unor casete tip listă şi listă combinată pentru


introducerea datelor
In cazul în care datele unei coloane pot avea un număr mic de valori, putem crea o casetă
tip listă sau listă combinată cu acele valori, din care alegem valoarea dorită. Pentru

15
exemplificare, vom considera tabela PROIECTE_ANGAJATI de mai jos cu proiectele
unei intreprinderi şi angajaţii ce lucrează la aceste proiecte.

PROIECTE_ANGAJATI

ID_PRJ ID_ANG NUME_ANG DPT_ANG SAL_ORA ORE

Proiectarea tabelei este cea din Figura 21.

Figura 21. Proiectarea tabelei PROIECTE_ANGAJATI.


Câmpurile DPT_ANG şi SAL_ORA pot conţine doar câteva valori, “Informatica”,
“Suport” şi “Documentare” pentru DPT_ANG şi 60, 40, 25 pentru SAL_ORA. In
consecinţă, este avantajos să creăm câte o casetă cu listă combinată din care să
introducem aceste valori. Vom prezenta două metode pentru crearea acestei casete.
In prima metodă o asemenea casetă se defineşte în secţiunea Lookup a casetei Field
Properties şi valorile ei se introduc manual. Proprietatea Display Control are ca valori:
 Text Box (casetă text),
 List Box (casetă tip listă),
 Combo Box (casetă combinată)
care se aleg din caseta din Figura 22.

Figura 22. Proprietatea Display Control.


După alegerea uneia dintre aceste valori în secţiunea Lookup se afişază proprietăţile
specifice ale casetelor din Tabelul 5.

16
a) Combo Box b) List Box
Tabelul 5. Opţiunile zonei Lookup.
Semnificaţia unora dintre ele este arătată în Tabelul 6.

Proprietate Semnificaţie
Display Control Modul de afişare
Row Source Type Tipul sursei de date
Row Source Sursa de date
Tabelul 6. Semnificaţia opţiunilor zonei Lookup.
In cazul nostru, proprietatea Display Control se pune la valoarea Combo Box.
Proprietatea Row Source Type arată tipul sursei de date. In general, sursa de date poate fi
o tabelă, (Table / Query), o listă de valori, (Value List), sau o listă de câmpuri din tabelă,
(Field List). Valoarea proprietăţii se alege din caseta Row Source Type din Figura 23. In
cazul nostru proprietatea Row Source Type se pune la valoarea Value List.

Figura 23. Proprietatea Row Source Type.


Proprietatea Row Source conţine sursa de date. In cazul nostru, proprietatea Row Source
a câmpului DPT_ANG este iniţializată cu lista de valori ce vor apărea în casetă, separate
de caracterul ; ca în Figura 24. Sirurile de caractere se scriu între ghilimele.

Figura 24. Proprietatea Row Source a câmpului DPT_ANG.


La fel procedăm şi cu câmpul SAL_ORA. Rezultatul este cel din Figura 25.

17
Figura 25. Proprietatea Row Source a câmpului SAL_ORA.
La introducerea valorilor în tabelă, caseta apare ca în Figura 26.

Figura 26. Casetă pentru introducerea valorilor.


A doua metodă de creare a unei casete Combo Box este următoarea: în cazul câmpurilor
ale căror valori se vor introduce din caseta Combo Box (în cazul nostrum DPT_ANG şi
SAL_ORA) se alege tipul câmpului Lookup Wizard, vezi Figura 5. Se lansează aplicaţia
Lookup Wizard ce crează caseta tip Combo Box în trei paşi:
1. se alege opţiunea I will type in the values that I want, vezi Figura 27, clic Next,
2. se introduce valorile dorite, vezi Figura 28, clic Next,
3. se introduce numele câmpului, vezi Figura 29, clic Finish.

Figura 27. Aplicaţia Lookup Wizard. Pasul I.

18
Figura 28. Aplicaţia Lookup Wizard. Pasul II.

Figura 29. Aplicaţia Lookup Wizard. Pasul III.


Obţinem aceleaşi câmpuri ale tabelei ca în Figura 24 şi Figura 25.

1.4.3 Introducerea datelor de tip boolean


Coloane ce conţin date de tip boolean au tipul Yes/No. Datele de tip boolean pot fi afişate
şi introduse în două moduri:

19
 modul Check Box, în care se afişază o casetă de validare, care poate fi marcată cu un
clic pentru valoarea True. Figura 30a arată o asemenea coloană cu numele
BooleanField.

a) Modul Check Box b) Modul Text Box


Figura 30. Afişarea coloanelor de tip boolean.
 modul Text Box, în care datele afişate şi introduse sunt de tip text ca în Figura 30b.
In acest mod de afişare valorile se introduc ca Yes, True, On pentru valoarea True şi
No, False, Off pentru valoare False. Valorile sunt afişate ca Yes sau No.
Implicit, modul de afişare este Check Box (coloana afişază o casetă de validare). Pentru a
trece în modul Text Box se afişază secţiunea Lookup în modul Design View şi se alege
opţiunea Text Box din lista Display Control, ca în Figura 31.

Figura 31. Secţiunea Lookup pentru coloane de tip Yes/No.


Trecerea de la modul Text Box la modul Check Box se face în acelaşi fel. La trecerea de
la un mod la altul, datele existente în tabelă sunt automat convertite la noul mod.

1.4.4 Introducerea şi afişarea datelor de tipul Date / Time


Datele de tipul Date / Time pot fi introduce şi afişate în multe formate. Aceste formate
vor fi prezentate pe larg într-o lucrare ulterioară.
Data, respectiv timpul, se poate introduce în orice format disponibil. La afişare, valoarea
introdusă este convertită în formatul ales.
Formatele predefinite de introducere a datelor sunt cele din Tabelul 7.

Format Denumire
ll/zz/aaaa hh:mm:ss AM / PM General Date
zz-Luna - aa Medium Date
ll/zz/aaaa Short Date
hh:mm:ss AM / PM Long Time
hh:mm AM / PM Medium Time
hh:mm Short Time
Tabelul 7. Formate predefinite de introducere a datelor calendaristice.
In acest tabel ll este luna (1 la 12), zz este ziua (1 la 31), aaaa este anul, hh este ora, mm
este minutul (0 la 59), ss este secunda (0 la 59).

20
Formatele predefinite de afişare a datelor calendaristice (proprietatea Format) sunt cele
din Figura 32.

Figura 32. Formatele predefinite de afişare a câmpurilor Date / Time.


Exemplu. Fie tabela DATA_TIMP a cărei proiectare este cea din Figura 33. Formatele de
afişare a datelor pentru fiecare câmp sunt cele din zona Description a tabelei.

Figura 33. Proiectarea tabelei DATA_TIMP.


Tabela cu date este cea din Figura 34. Dacă în câmpul DATA2 se introduce data sub
forma 8/19/2011, ea este convertită automat în forma 19-Aug-11.

Figura 34. Tabela cu date DATA_TIMP.


Dacă lăţimea unei coloane este prea mică, ea se poate modifica cu clic pe meniul Format
 Column Width.
Access memorează câmpurile de tip Date / Time în virgulă mobilă în dublă precizie.
Partea întreagă reprezintă data, zilele trecute de la 30 Decembrie 1899. Partea subunitară
reprezintă timpul ca o fracţiune din 24 de ore.

1.4.5 Definirea valorii implicite a unui câmp


Valoarea implicită a unui câmp se introduve în proprietatea Default Value. După cum se
vede în Figura 6, valoarea implicită a unui câmp numeric este specificată de Access ca 0.

21
1.5 Definirea cheii primare a tabelei
In general, una sau mai multe dintre coloane constituie cheia primară a tabelei, care
identifică unic liniile tabelei.
Coloana sau coloanele ce reprezintă cheia primară sunt marcate în definiţia tabelei cu
simbolul , ca în Figura 7.
Definiţia unei tabele se salvează cu clic pe opţiunile Save / Save As ale meniului File,
sau pe butonul de închidere al ferestrei, sau pe opţiunea Close a meniului asociat icoanei
ferestrei. Se afişază caseta din Figura 35.

Figura 35. Caseta Save As a meniului File.


In casetă se poate introduce numele dorit pentru tabelă.
Dacă încercăm să salvăm o tabelă fără a preciza cheia primară, se afişază mesajul din
Figura 36, care avertizează că nu s-a definit o cheie primară. La un clic pe butonul Yes se
crează automat cheia primară prin definirea unei coloane de tip AutoNumber, ca primă
coloană a tabelei.

Figura 36. Mesaj afişat când cheia primară nu este definită.


Pentru a defini cheia primară şi pentru a efectua alte operaţii asupra câmpurilor
(coloanelor) tabelei cu date, se utilizează meniul contextual din Figura 37, afişat cu un
clic cu butonul drept în stânga liniei ce descrie un câmp (o coloană) a tabelei. Cu acest
meniu se poate defini cheia primară a tabelei, se pot şterge sau insera câmpuri, se poate
lucra cu Clipboardul, etc.
Pentru a defini cheia primară a tabelei se selectează coloanele ce vor constitui cheia
primară şi clic pe butonul al barei de instrumente sau pe opţiunea Primary Key a
meniului contextual din Figura 37.

22
Figura 37. Meniu contextual al unui câmp al tabelei.
Cheia primară poate fi compusă din mai multe câmpuri. Aceste câmpuri se selectează cu
tasta Ctrl apăsată.
Odată ce tabela a fost creată, ea este afişată la deschiderea bazei de date, ca în Figura 38,
unde este afişată tabela cu numele Table1.

Figura 38. Baza de date cu tabela creată.


La un clic dublu cu butonul stâng pe icoana sau numele tabelei, se afişază tabela cu date.

1.6 Meniurile unei tabele


Obiectele bazei de date, tabele, formulare de introducere a datelor, rapoarte, etc., au
meniuri specifice.
La un clic cu butonul drept pe icoana sau numele tabelei în fereastra Database se afişază
meniul contextual din Tabelul 8a. Opţiunile acestui meniu sunt următoarele:

23
 Open, afişază tabela cu date,
 Design View, afişază definiţia tabelei,
 Print, tipăreşte tabela,
 Print Preview, afişază tabela pe ecran,
 Cut, mută tabela în Clipboard,
 Copy, copiază tabela în Clipboard,
 Save As, salvează tabela sub un alt nume,
 Export, exportă tabela într-o altă bază de date,
 Create Shortcut, crează o comandă rapidă (shortcut) pentru tabelă,
 Delete, şterge tabela,
 Rename, schimbă numele tabelei.

b) Bara de instrumente a ferestrei


a) Meniu contextual
Database
Tabelul 8. Meniuri pentru operaţii cu tabele.
Operaţiile Open, Design View şi Delete se pot executa şi cu butoanele barei de
instrumente din Tabelul 8b, a ferestrei Database din Figura 38.
O tabelă poate fi afişată în două moduri (în două vederi):
 modul Proiectare (Design View), în care este afişată definiţia tabelei,
 modul Foaie de date (Datasheet View), în care se afişază tabela cu date.
Fiecare vedere are meniuri şi bare de instrumente specifice, vezi Figura 40 şi Figura 39.

Figura 39. Barele de meniu şi de instrumente Design View.

24
Figura 40. Barele de meniu şi de instrumente Datasheet View.
Meniurile View ale celor două vederi sunt arătate în Tabelul 9. Meniurile contextuale,
afişate la un clic pe bara de titlu a ferestrei în care este afişată definiţia tabelei sau tabela
cu date, sunt cele din Tabelul 10.

a) în modul Datasheet View b) în modul Design View


Tabelul 9. Meniul View al unei tabele.

a) în modul Datasheet View b) în modul Design View


Tabelul 10. Meniurile contextuale ale unei tabele.
Comutarea între cele două vederi se face în următoarele moduri:
 cu opţiunile Table Design şi Datasheet View din meniurile contextuale din Tabelul
10,
 cu aceleaşi opţiuni ale meniurilor View ale vederilor, vezi Tabelul 9,
 cu butoanele şi din bara de instrumente a casetei Database,

25
 cu butoanele şi ale barelor de instrumente ale aplicaţiei din Figura 40 şi
Figura 39; la un clic pe săgeata din dreapta butonului se afişază lista din Figura 41 cu
vederile unei tabele.

Figura 41. Lista vederilor unei tabele.


Operaţiile Cut, Copy şi Paste cu Clipboardul se pot executa cu meniurile contextuale, cu
butoanele barelor de instrumente şi cu opţiunile meniurilor Edit, vezi Figura 49. Alte
operaţii ce se pot efectua asupra unei tabele, selectarea şi ştergerea liniilor, căutarea unui
şir de caractere se fac tot cu opţiunile meniului Edit şi vor fi prezentate ulterior.

1.7 Sortarea şi filtrarea liniilor unei tabele


Sortarea liniilor unei tabele constă în afişarea tuturor liniilor tabelei, ordonate după un
criteriu. Filtrarea liniilor unei tabele constă în afişarea liniilor tabelei ce satisfac un
criteriu.

1.7.1 Sortarea liniilor unei tabele


Liniile tabelei de date se pot sorta crescător sau descrescător. Sortarea după un câmp se
face astfel:
 se selectează coloana după care se va face sortarea şi se utilizează:
 butoanele şi ale barei de instrumente, sau,
 opţiunile Sort Ascending, Sort descending, vezi meniul Records  Sort.
Dacă în coloana după care se face sortarea avem linii cu valori egale, acestea apar una
după alta, fără a se ţine cont de valorile altor câmpuri din alte linii. Putem face sortarea
după mai multe câmpuri. Liniile sunt sortate după valoarea primului câmp şi, dacă există
linii cu valori egale, acestea se sortează după al doilea câmp, etc. Fie tabela din Figura 42
care va fi sortată după câmpurile Nume şi Prenume.

Figura 42. Tabele ce va fi sortată după două câmpuri.


Pentru sortare se procedează astfel:

26
 clic pe meniul Records  Filter  Advanced Filter/Sort, ca în Figura 43,

Figura 43. Activarea opţiunii Advanced Filter/Sort.


 se afişază fereastra Filter din Figura 44 în care se vor defini câmpurile după care se va
face sortarea şi modul de sortare, ascendent sau descendent; în linia Field se vor
introduce numele câmpurilor, în linia Sort se va alege modul de sortare Ascending /
Descending,

Figura 44. Fereastra Filter.


 câmpurile după care se face sortarea se introduc în celulele liniei Field în două
moduri: clic pe o celulă şi se alege numele câmpului din caseta cu numele câmpurilor,
ca în Figura 45; alternativ, se trage în celulă numele câmpului cu mousul din lista din
partea superioară a ferestrei Filter,

27
Figura 45. Alegerea câmpurilor de sortat.
 opţiunea Ascending / Descending se alege din caseta fiecărei celule a liniei Sort,
 clic pe opţiunea Apply Filter/Sort a meniului Filter, sau pe butonul al barei de
instrumente.
Rezultatul sortării este tabela din Figura 46.

Figura 46. Tabela sortată după criteriile Nume şi Prenume.

1.7.2 Filtrarea liniilor unei tabele


Liniile tabelei se pot filtra, pentru a afişa doar acele linii ce satisfac un criteriu. Filtrarea
prin selectarea valorilor se face astfel:
1. se găseşte într-o coloană o instanţă a valorii ce trebuie să apară în rezultatul filtrării,
(o celulă),
2. se selectează toată celula sau se plasează cursorul la începutul celulei,
3. clic pe butonul al barei de instrumente.
Pentru a îndepărta filtrul creat clic pe butonul al barei de instrumente.
Pentru a selecta linii ce încep cu acelaşi caracter, se selectează acest prim caracter într-o
celulă şi se procedează ca mai sus.

28
Pentru a selecta liniile ce conţin un anumit subşir de caractere, se selectează acest subşir
într-o celulă şi se procedează ca mai sus.
Este posibil de a filtra liniile tabelei după criterii mai complicate. Pentru aceasta se
procedează astfel:
 se afişază fereastra Filter din Figura 44,
 se introduce câmpurile după care se face filtrarea în celulele liniei Field ca în Figura
45,
 se alege modul de sortare a liniilor tabelei ca mai sus,
 în liniile Criteria şi or din Figura 44 se introduce criteriile de filtare. Creiteriile sunt
expresii booleene, formate din expresii relaţionale şi operatorii booleeni not, and şi
or.
Vrem să afişăm liniile tabelei cu angajaţii cu vârsta cuprinsă între 35 şi 39 de ani. Liniile
afişate vor fi sortate în ordine crescătoare după câmpurile Nume şi Prenume. Condiţia de
filtare va fi
Varsta > 34 and Varsta < 40
Ea se introdusă ca în Figura 47.

Figura 47. Introducerea condiţiilor de filtrare.


Rezultatul filtrării este cel din Figura 48.

Figura 48. Tabela filtrată.

29
Menţionăm că, sortarea şi filtrarea datelor, cu specificarea unor criterii în fereastra Filter
se realizează printr-o interogare a bazei de date. Ea se poate salva sub forma unei
interogări cu clic pe butonul sau pe meniul File  Save As Query.

1.8 Adăugarea, modificarea şi ştergerea datelor din tabele


O tabelă de date odată creată, poate fi modificată. Câmpurile unei linii pot fi modificate şi
se pot şterge şi insera linii. Aceste operaţii se fac cu opţiunile meniului Edit din Figura 49
sau ale meniurilor contextuale ale tabelei.

Figura 49. Meniul Edit.


Modificarea unui câmp al unei linii se face astfel:
1. se poziţionează cursorul pe câmp, cu un clic, cu tasta Tab sau cu tastele săgeţi,
2. se modifica valoarea din câmpului.
Stergerea unei linii se face ca în Figura 50:
1. se selectează linia cu un clic la stânga liniei,
2. se afişază meniul contextual al liniei cu un clic cu butonul drept pe linie,
3. un clic pe opţiunea Delete Record şterge linia.
In acelaşi mod se şterge o linie cu opţiunile Delete sau Delete Record ale meniului Edit,
sau cu butonul Delete, , al barei de instrumente.

30
Figura 50. Meniu contextual al unei linii a tabelei de date.
Inserarea unei linii într-o tabelă se face totdeauna după ultima linie a tabelei. Pentru
inserarea unei linii se procedează astfel:
1. se afişază meniul contextual din Figura 50, cu un clic cu butonul drept în stânga liniei,
2. clic pe opţiunea New Record care poziţionează cursorul după ultima linie a tabelei,
3. se inserează noua linie.
Inserarea unei noi linii se poate face şi cu un clic pe meniul Insert  New Record sau
pe butonul New Record, , al barei de instrumente, sau pe butonul New Record, ,
al formularului de introducere a datelor.
In unele cazuri avem nevoie să căutăm şi să înlocuim date în tabele. Acest lucru se face
cu caseta Find and Replace din Figura 51. Se selectează coloana în care se va face
căutarea şi se afişează caseta cu clic pe meniului Edit  Find.

Figura 51. Caseta Find and Replace.


Caseta are două secţiuni, Find şi Replace. Secţiunea Find nu are butoanele Replace şi
Replace All şi caseta de text Replace With.
In lista Match se pot alege opţiunile : Whole Field (găseşte câmpurile care corespund
exact textului specificat), Start of Field (găseşte câmpurile care încep cu textul
specificat) şi Any Part of Field (găseşte câmpurile care conţin textul specificat). In lista

31
Search se pot alege opţiunile : All (caută toate câmpurile), Down (caută înainte) şi Up
(caută înapoi).

1.9 Modificarea structurii unei tabele


Modificarea structurii unei tabele constă în adăugarea sau ştergerea de coloane din tabelă,
sau în modificarea tipului datelor unor coloane.

1.9.1 Adăugarea unei coloane prin modificarea definiţiei tabelei


Fie tabela din Figura 52 a cărei structură trebuie modificată. Se va introduce o coloană
Prenume cu prenumele angajatului, pentru a obţine tabela din Figura 7.
Definiţia tabelei este cea din Figura 52.

Figura 52. Tabelă a cărei definiţie va fi modificată.


Tabela completată cu date este cea din Figura 53.

Figura 53. Tabela cu date cu structura din Figura 52.


Pentru a modifica structura tabelei se procedează astfel:
1. se afişază caseta Table cu definiţia tabelei,
2. se selectează linia înaintea căreia se va insera noua linie ce descrie câmpul,
3. clic pe linie şi se afişază meniul contextual din Figura 54,

32
Figura 54. Meniul contextual al unei linii din definiţia unei tabele.
4. un clic pe opţiunea Insert Rows inserează o linie în definiţia tabelei; se completează
linia cu definiţia câmpului, ca în Figura 55,

Figura 55. Noua definiţie a tabelei din Figura 52.


Tabela de date după modificarea definiţiei este cea din Figura 56.

Figura 56. Tabela din Figura 53 după modificarea structurii.


Tabela cu câmpul Prenume completat este cea din Figura 57.

Figura 57. Tabela din Figura 53 modificată.

33
1.9.2 Adăugarea unei coloane prin modificarea tabelei cu date
A doua metodă de inserare a unui câmp este următoarea:
1. în tabela cu date se selectează coloana înaintea căreia se va insera noul câmp,
2. clic pe meniul Insert  Column din Figura 58, sau pe opţiunea Insert Column a
meniului contextual al unei coloane din Tabelul 11, care crează o nouă coloana ca în
Figura 59,

Figura 58. Meniul Insert al unei coloane.

Figura 59. Tabela din Figura 53 cu o coloană inserată.


Coloana nou introdusă are numele Field1, ce poate fi modificat. Procedăm astfel:
1. se selectează coloana nou introdusă,
2. se afişază meniul contextual al coloanei cu un clic pe numele coloanei sau meniul
Format, din Tabelul 11,

34
a) meniul contextual al unei coloane b) meniul Format
Tabelul 11. Meniuri pentru redenumirea unei coloane.
3. se execută clic pe opţiunea Rename Column şi se modifică numele coloanei, în cazul
nostru numele coloanei va fi Prenume,
4. se completează câmpul pentru toate liniile tabelei.
Proiectarea tabelei este automat modificată pentru a include noua coloană.

1.9.3 Stergerea unei coloane


Fie tabela din Figura 57 la care dorim să ştergem coloana Prenume. Procedăm în felul
următor:
1. se selectează coloana din tabelă ce trebuie ştearsă, ca în Figura 60,

Figura 60. Tabela de date cu o coloană selectată.


2. se afişază meniul contextual din Tabelul 11a sau meniul Edit şi clic pe opţiunea
Delete Column,
3. în caseta de mesaj din Figura 61 clic pe butonul Yes.

35
Figura 61. Caseta de mesaj la ştergerea unei linii.
Talela de date devine cea din Figura 53, iar proiectarea ei cea din Figura 52.

1.9.4 Modificarea tipului datelor unei coloane


Modificarea tipului datelor unei coloane se face astfel:
1. se afişază proiectare tabelei ca mai înainte: se afişază meniul contextual al tabelei din
Tabelul 8 şi clic pe opţiunea Design View,
2. se modifică câmpul Data Type pentru coloana respectivă.
Dacă datele existente nu sunt compatibile cu noul tip, ele sunt automat şterse.

1.10 Formatarea tabelelor


In unele cazuri este necesară formatarea tabelei: modificarea lăţimii coloanelor, a
fontului, a culorilor, etc. Formatarea tabelelor se face cu opţiunile meniului Format din
Tabelul 11b, sau cu opţiunile meniurilor contextuale ale coloanei sau tabelei.
Modificarea lăţimii coloanelor se face face astfel. Se selectează coloana, apoi clic pe
opţiunea Column Width a meniului contextual al coloanei sau a meniului Format, vezi
Tabelul 11b. Se afişază caseta Column Width din Figura 62, în care se alege lăţimea
coloanei.
In acelaşi mod se modifică înălţimea unei linii cu clic pe meniul Format  Row Height
ce afişează caseta Row Height din Figura 63.

Figura 62. Caseta Column Width de modificare a lăţimii unei coloane.

Figura 63. Caseta Row Height de modificare a înălţimii unei coloane.

36
Formatarea tabelei se face cu caseta Datasheet Formatting din Figura 64. Caseta se
afişază cu clic pe opţiunea Datasheet a meniului contextual al unei tabele din Tabelul 10
sau pe meniul Format  Datasheet.
In caseta Datasheet Formatting se aleg stilurile liniilor şi marginilor tabelei, culorile
liniilor si fondului, etc.

Figura 64. Caseta Datasheet Formatting pentru formatarea tabelei.


Fontul tabelei se poate alege din caseta Font din Figura 65 care se afişază cu clic pe
opţiunea Font a meniului contextualal tabelei din Tabelul 10a sau pe meniul Format 
Font.

37
Figura 65. Caseta Font.
O tabelă poate fi salvată într-un document Word. Pentru aceasta clic pe meniul Tools 
Office Links  Publish It with Microsoft Word, vezi Figura 66. Se lansează aplicaţia
Word ce crează automat un fişier Word ce conţine tabela, care este apoi salvat în
directorul dorit.

Figura 66. Salvarea unei tabele într-un document Word.


O tabelă poate fi salvată într-un fişier Word şi în felul următor:
 se copiază tabela în Clipboard în Access cu clic pe meniul Edit  Copy,
 în fişierul Word clic pe meniul Edit  Paste.

1.11 Probleme propuse


Se va crea o bază de date cu numele Exercitiu 1, în care se vor rezolva exerciţiile de mai
jos.
In tabelele de mai jos, coloanele ce reprezintă cheia primară sunt subliniate.
1. Să se definească tabela PROIECTE de mai jos, cu proiectele unei intreprinderi şi
angajaţii ce lucrează la aceste proiecte. Câmpurile ID_PRJ, ID_ANG, SAL_ORA şi
ORE sunt numerice, celelalte câmpuri sunt şiruri de caractere. Cheia primară este
formată din câmpurile ID_PRJ şi ID_ANG. Câmpul DPT_ANG poate conţine doar

38
valorile Informatica, Suport, Documentare. Câmpul NUME_PRJ poate conţine doar
valorile Web, Clienti, Furnizori, Personal.

PROIECTE

ID_PRJ NUME_PRJ ID_ANG NUME_ANG DPT_ANG SAL_ORA ORE


100 Web 1290 Popescu Informatica 60 10
100 Web 1295 Ionescu Suport 40 8
100 Web 1045 Georgescu Documentare 25 12
200 Clienti 1192 Vasilescu Informatica 65 20
200 Clienti 1351 Filipescu Suport 45 15
300 Furnizori 1348 Popa Informatica 60 20
300 Furnizori 1284 Nicolae Suport 45 14
300 Furnizori 1067 Marinescu Documentare 35 12
400 Personal 1095 Gheorghe Informatica 60 15

 se va defini câte o casetă combinată pentru introducerea valorilor în coloanele


NUME_PRJ şi DPT_ANG,
 se va încărca tabela cu valorile specificate,
 se vor adăuga, şterge şi modifica manual câteva linii; se va modifica stilul liniilor şi
marginii tabelei şi culoarea fondului şi fontul,
 se va copia tabela sub numele PROIECTE2 cu clic pe meniul File  Export,
 se va copia tabela sub numele PROIECTE3 cu ajutorul opţiunii Import a meniului
File,
 se va filtra tabela pentru a afişa angajaţii ce au prestat mai mult de 10 ore. Liniile
tabelei se vor afişa sortate după câmpul NUME_PRJ,
 se va copia tabela creată într-un document Word.

2. Să se definească tabelele PROIECTE şi PROIECTE_ANGAJATI de mai jos, cu


proiectele unei intreprinderi şi angajaţii ce lucrează la aceste proiecte.

PROIECTE

ID_PRJ NUME_PRJ
100 Web
200 Clienti
300 Furnizori
400 Personal

PROIECTE_ANGAJATI

ID_PRJ ID_ANG NUME_ANG DPT_ANG SAL_ORA ORE


100 1290 Popescu Informatica 60 10
100 1295 Ionescu Suport 40 8
100 1045 Georgescu Documentare 25 12

39
200 1192 Vasilescu Informatica 65 20
200 1351 Filipescu Suport 45 15
300 1348 Popa Informatica 60 20
300 1284 Nicolae Suport 45 14
300 1067 Marinescu Documentare 35 12
400 1095 Gheorghe Informatica 60 15

Câmpurile ID_PRJ, ID_ANG, SAL_ORA şi ORE sunt numerice, celelalte câmpuri sunt
şiruri de caractere. Cheia primară a tabelei PROIECTE este formată din câmpul ID_PRJ.
Cheia primară a tabelei PROIECTE_ANGAJATI este formată din câmpurile ID_PRJ şi
ID_ANG. Câmpul DPT_ANG poate conţine doar valorile Informatica, Suport,
Documentare. Câmpul NUME_PRJ poate conţine doar valorile Web, Clienti, Furnizori.
 să se încarce tabela PROIECTE_ANGAJATI; se va defini o casetă tip listă combinată
pentru câmpul DPT_ANG. Tipul câmpului se va lege Text şi proprietatea Display
Control se va alege Combo Box,
 să se încarce tabela PROIECTE prin definirea unei casete tip listă combinată pentru
câmpul NUME_PRJ. Tipul câmpului se va alege Lookup Wizard,
 se vor filtra liniile tabelei pentru a arăta angajaţii ce au prestat mai mult de 12 ore,
 se vor copia tabelele create într-un document Word.

3. Să se definească tabela ANGAJATI de mai jos cu angajaţii unei intreprinderi.

ANGAJATI

ID_ANG NUME FUNCTIE SALARIU CASATORIT


1299 Ionescu Manager 2400 Da
3178 Popescu Manager 2670 Nu
2160 Georgescu Muncitor 1470 Da
2398 Popa Inginer 2370 Nu
1690 Nicolae Muncitor 1820 Da

Câmpul SALARIU va avea tipul Currency, iar câmpul CASATORIT va avea tipul Yes /
No. Câmpul FUNCTIE poate conţine doar valorile Manager, Muncitor, Inginer.
 să se încarce tabela cu date; se va crea o casetă de tip listă combinată pentru coloana
FUNCTIE,
 se vor sorta liniile tabelei după valorile câmpului CASATORIT.
4. Să se proiecteze o tabelă cu informaţiile despre studenţii unei grupe. Informaţiile sunt:
codul numeric personal (CNP), nume, prenume, vârsta, an de studii, specialitatea şi
facultatea. Câmpul CNP are 13 cifre, el va fi de tipul Decimal.
 pentru câmpurile an de studii, specialitate şi facultate se vor crea casete de tip listă
combinată,
 se va umple tabela cu date.

1.12 Intrebări de control


1. Care este forma instrucţiunii SQL de creare a unei tabele?
2. Care este rolul cheii primare a unei tabele?

40
3. Care sunt proprietăţile unui câmp?
4. Cum se crează o tabelă în modul Design View?
5. Care sunt tipurile de date ale câmpurilor unei tabele?
6. Cum se defineşte o casetă de tip listă pentru introducerea datelor?
7. Cum se face sortarea liniilor unei tabele?
8. Cum se modifică structura unei tabele?

41

S-ar putea să vă placă și