Sunteți pe pagina 1din 8

MS Access – Tabele

În exercițiul următor vom crea în MS Access 2013 tabele pentru următoarele relații:

Magazin (CodMagazin, Judet, Oras, Adresa, NumeMagazin)

Bon (CodBon, DataBon, CodMagazin)

Produs (CodProdus, NumeProdus, Pret, TVA)

ContinutBon (CodBon, CodProdus, Cantitate)

După cum ați intuit deja, este vorba despre un lanț de magazine, pentru care vrem să înregistrăm
bonurile emise și mărfurile vândute pe fiecare bon.

Începem prin a deschide MS Acces și din opțiunile disponibile de creare alegem Blank Desktop
Database, pentru a crea o bază de date stocată într-un fișier pe discul local al calculatorului la care
lucrăm. Apăsăm simbolul de folder și navigăm pe desktop (pentru a regăsi mai ușor fișierul) apoi la
denumire trecem Bonuri.accdb. Ecranul trebuie să arate în felul următor:

Apăsăm apoi butonul Create. Puteți minimiza fereastra Access și veți regăsi pe Desktop fișierul
Bonuri.accdb. Să observăm că spre diferență de Excel sau Word, unde putem introduce date într-un
document nou fără să salvăm în prealabil, Access necesită salvarea bazei de date pentru a începe
lucrul. Extensia .accdb denotă un fișier Access Database. Acest fișier va stoca tabelele precum și
celelalte obiecte pe care le vom crea în baza noastră de date.

După ce am apăsat butonul Create, ecranul trebuie să arate în felul următor:


Distingem următoarele zone:

1. Bara de meniuri;
2. Lista de obiecte (All Access Objects). Deocamdată avem o singură tabelă, creată automat la
deschiderea programului, denumită implicit Table 1;
3. Zona de lucru. Aici se editează toate obiectele cu care lucrăm. Deocamdată avem deschisă
aici Table 1 în modul de introducere de date, care este foarte similar cu ecranul Excel. Table
1 are o singură coloană, denumită ID și creată implicit;
4. În această zonă avem două butoane pentru comutarea tabelei în modul de introducere date
(stânga) denumit Datasheet View și modul de editare (dreapta) – Design View. Mergeți cu
mausul deasupra celor două butoane și veți observa că apar denumirile.

Apăsați acum pe butonul Design View pentru a edita tabela, salvați-o sub numele „Magazin”;
ecranul va arăta astfel:
Acum suntem în modul Design și observăm următoarele zone:

1. Lista obiectelor, unde observăm că numele tabelei s-a modificat și acum este Magazin;
2. Zona de editare a câmpurilor (coloanelor) tabelei.
a. Selectați câmpul ID și schimbați-l în CodMagazin, conform cu numele cheii primare
din tabela noastră Magazin (vezi începutul documentului pentru numele tabelelor și
al coloanelor);
b. La Data Type lăsăm tipul AutoNumber, care va genera automat o secvență de
numere crescătoare, potrivită pentru cheia primară a tabelei;
c. La Description putem adăuga o descriere opțională a câmpului; scrieți „Aceasta este
cheia primară”. Descrierile sunt foarte folositoare când lucrăm în echipă și colegii
noștri pot înțelege mai bine cum am conceput tabelele;
3. Aceasta este zona Field Properties, în care putem modifica proprietățile câmpului selectat în
zona de mai sus, în lista de câmpuri (2). Deocamdată nu avem nevoie să modificăm nimic
pentru cheia primară;
4. În această zonă accesăm proprietățile tabelei; observați că sub titlul mare apare „Selection
type: Table Properties”.

Acum suntem gata să introducem în tabela noastră celelalte câmpuri: Judet, Oras, Adresa,
NumeMagazin. Selectăm cu mouse-ul celula de sub CodMagazin, și scriem Judet:
La Description introducem „Județul magazinului” și la coloana Data Type alegem din lista derulantă
Short Text. Apoi în zona Field Properties modificăm după cum urmează:

 La Field Size trecem valoarea 15, pentru a limita numărul de caractere la cel mai lung județ
(Bistrița-Năsăud);
 Input Mask este folosit pentru a restrânge tipul de text introdus, deoarece știm că județele
au minim 4 litere, și nu dorim să conțină cifre1. Așadar, introducem textul
„LLLLCCCCCCCCCCC” (4 L urmate de 11 C -- total 15 caractere). Caracterele „L” solicită
introducerea obligatorie a unei litere, iar „C” desemnează oricare caracter, cu introducere
opțională. Deoarece există județe care conțin cratimă, adică „-”, nu putem forța
introducerea de litere pentru toate caracterele.
 La Required selectăm valoarea Yes, deoarece fiecare magazin trebuie să aibă obligatoriu un
județ;
 La Allow Zero Length selectăm valoarea No – întrucât nu se permite introducerea de șiruri
de caractere cu lungimea zero;
 La Indexed selectăm Yes (Duplicates OK). Crearea unui index permite căutarea rapidă după
Județ, și dorim să permitem valori duplicate deoarece mai multe magazine pot fi din același
județ.

În mod similar creăm celelalte câmpuri:

Oras

 Găsiți pe net o listă cu orașele României și vedeți numărul minim de caractere;

1
(http://ro.wikipedia.org/wiki/Jude%C8%9Bele_Rom%C3%A2niei)
Apăsând butonul F1 puteți citi descrierea scenariilor de folosire a măștilor:
http://msdn.microsoft.com/en-us/library/office/ff821336.aspx
 Required, Zero Length și Indexed rămân ca mai sus.
Adresa
 Acest câmp va conține strada și numărul clădirii.
NumeMagazin

În acest moment tabela este completă și vom trece în modul DataSheet View (butoanele din
dreapta-jos). Confirmăm dialogul de salvare a tabelei, care apare deoarece am modificat structura
tabelei (când scriem date în tabelă, acestea se salvează automat și nu necesită confirmarea salvării).
Acum putem introduce date în tabela noastră:

Pentru a șterge o linie trebuie să o selectăm (1 ) apoi clic-dreapta și Delete. Pentru a închide
tabela apăsăm simbolul x (2).

Acum vom crea restul tabelelor. Din bara principală cu meniuri (în partea superioară a ecranului)
alegem Create  Table Design, și vom crea tabela Bon:

 CodBon: tip AutoNumber – atenție! Apăsați butonul Primary Key din bara de meniuri pentru
seta cheia primară! În stânga coloanei va apare simbolul de cheie, semnificând setarea
corectă a cheii primare;
 DataBon: tip DateTime. La Default Value introduceți o funcție care să returneze data
curentă. Ca regulă de validare, data bonului trebuie să fie egală ca data curentă;
 CodMagazin: Number. Acesta va face legătura cu CodMagazin din tabela Magazin.

Închideți apoi tabela Magazin și creați tabela Mărfuri. Avem următoarele regulI:

 CodMarfa: tip AutoNumber, nu uităm să-l specificăm ca și cheie primară!


 Prețul trebuie să fie strict pozitiv. Așadar la Validation Rule introducem >0 iar la Validation
Text introducem „Prețul trebuie să fie strict pozitiv”. Acest text va fi afișat când regula de
validare nu este satisfăcută de valorile introduse;
 TVA-ul trebuie afișat în procente, și ca valori posibile trebuie să fie 9% sau 25%. De aceea
vom folosi o listă derulantă. Setăm tipul câmpului Number, iar apoi în zona Field Properties
modificăm Field Size la Double pentru a permite stocarea zecimalelor (apăsați F1 pentru a
vedea tipurile de date disponibile). Mai depate, la Format alegeți Percent, iar la Decimal
Places alegeți valoarea 2, deoarece nu avem nevoie de mai multe zecimale. Pentru a realiza
Combo Box-ul, accesăm tab-ul Lookup:
Combo Box-urile pot afișa valori din alte tabele, sau dintr-o listă de valori predefinte, ca în cazul
nostru. Introduceți valorile ilustrate în imaginea de mai sus. Observați că la Row Source am separat
valorile posibile prin simbolul ; (punct și virgulă). Acum verificați Combo Box-ul trecând în DataSheet
View și introducând date. Închidem apoi tabela Produse.

Ultima tabelă este ContinutBon. Pentru CodBon și CodProdus vom alege ca tip de dată Number, iar
Cantitate trebuie să fie strict pozitiv (și introducem regula de validare aferentă). În această tabelă
trebuie să setăm o cheie primară compusă, deci selectăm ambele câmpuri—CodBon și CodProdus
(1)—apoi apăsăm butonul Primary Key (2):

Vom observa simbolul de cheie în dreptul ambelor câmpuri.

Acum închidem toate tabelele și trecem la crearea legăturilor între tabele. Din bara principală
alegem DATABASE TOOLS  Relationships. Apare ecranul urmator, în care facem clic pe prima
tabelă apoi drag peste toate tabelele pentru a le selcta (1):
Apăsăm butonul Add pentru a adăuga toate tabelele în editorul de relații, și tabelele apar în ordine
alfabetică. Pentru claritate vom reordona tabelele, pe care le putem muta dând clic pe numele
tabelei și apoi drag-drop la locul dorit. Acum aranjați tabelele în ordinea următoare (Magazin, Bon,
ContinutBon, Produs):

Creăm prima legătură, prin drag-drop conform imaginii de mai jos:


Apare următorul ecran, unde bifăm opțiunea Enforce Referential Integrity (1) apoi apăsăm butonul
Create(2):

Opțiunea bifată are următorul efect: când introducem un bon nou, baza de date va verifica dacă
pentru valoarea lui CodMagazin din tabela Bon există un magazin cu codul respectiv în tabela
Magazin. În alte cuvinte, nu se va permite introducerea de bonuri emise de magazine inexistente. Se
bifează şi opțiunile Cascade Update Related Fields şi Cascade Delete Related Fields.

Observați simbolurle 1 - ∞ care apar pe legături, semnificând tipul relațiilor. În dreptul tabelei
Magazin apare simbolul 1, iar în dreptul tabelei Bon apare simbolul ∞, semnificând faptul că un
magazin poate emite multe bonuri. Access a creat corect relația în virtutea legăturii dintre cheia
primară din tabela Magazin și cheia externă din tabela Bon.

Continuați acum să creați restul legăturilor conform ecranului de mai jos:

Acum aveți o bază de date funcțională şi putem trece la introducerea datelor în tabele.

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