suport access cu 4 probleme

65
Facultatea de Economie şi Administrarea Afacerilor Lect. dr. ec. Cristina ZAMFIR BAZE DE DATE - suport de laborator -

Upload: geo-geutza

Post on 24-Jul-2015

59 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Suport ACCESS Cu 4 Probleme

Facultatea de Economie şi Administrarea Afacerilor

Lect. dr. ec. Cristina ZAMFIR

BAZE DE DATE - suport de laborator -

Page 2: Suport ACCESS Cu 4 Probleme

CUPRINS

Lista figurilor ............................................................................................................................. 4

1. Noţiuni generale privind bazele de date............................................................................ 6

2. Crearea şi lucrul cu tabele în Microsoft Access 2003...................................................... 10

2.1. Crearea, deschiderea şi salvarea unei baze de date................................................... 11

2.2. Crearea tabelelor în Microsoft Access ..................................................................... 13

2.2.1. Crearea tabelelor în modul Design View ............................................................. 13

2.2.2. Crearea tabelelor folosind asistentul .................................................................... 16

2.2.3. Crearea tabelelor folosind introducerea datelor .................................................... 19

2.3. Modificarea structurii unei tabele şi realizarea relaţiilor dintre tabele ..................... 20

2.4. Crearea unei liste personalizate ...................................................................................... 23

2.5. Definirea regulilor de validare şi de integritate a datelor.......................................... 25

3. Crearea formularelor în Microsoft Access............................................................................. 27

3.1. Crearea formularelor pentru o singură tabelă .................................................................. 27

3.2. Crearea formularului pentru o relaţie de tipul unu la mulţi .............................................. 28

3.3. Crearea formularelor pentru relaţiile de tipul mulţi la mulţi ............................................ 31

3.4. Personalizarea formularelor............................................................................................ 32

3.4.1. Introducerea şi personalizarea câmpurilor în formular .............................................. 33

3.4.2. Crearea de câmpuri calculate ................................................................................... 34

4. Înţelegerea şi crearea rapoartelor........................................................................................... 36

4.1. Crearea rapoartelor folosind asistentul............................................................................ 37

4.2. Modificarea unui raport.................................................................................................. 41

5. Crearea interogărilor ............................................................................................................. 43

Page 3: Suport ACCESS Cu 4 Probleme

5.1. Crearea interogărilor de selecţie ..................................................................................... 44

5.2. Crearea interogărilor de acţiune...................................................................................... 46

5.2.1. Crearea interogărilor de creare a tabelelor ................................................................ 46

5.2.2. Crearea interogărilor de modificare.......................................................................... 47

5.2.3. Crearea interogărilor de ştergere .............................................................................. 48

5.2.4. Crearea interogărilor de adăugare............................................................................. 49

5.3. Crearea interogărilor încrucişate..................................................................................... 50

6. Probleme propuse spre rezolvare.................................................................................... 54

Page 4: Suport ACCESS Cu 4 Probleme

Lista figurilor

Figura 2.1. Fereasta de început a aplicaţiei Microsoft Access 2003 ........................................... 10

Figura 2.2. Opţiunea New a meniului File................................................................................. 11

Figura 2.3. Panoul de sarcini pentru crearea unei noi baze de date ............................................ 11

Figura 2.4. Fereastra noii baze de date ...................................................................................... 12

Figura 2.5. Opţiunea Open a meniului vertical File ................................................................... 12

Figura 2.6. Crearea unei tabele folosind Design View............................................................... 13

Figura 2.7. Crearea unui tabel folosind asistentul – selectarea şi redenumirea câmpurilor ......... 16

Figura 2.8. Crearea unui tabel folosind asistentul–denumire tabelă şi selectare cheie primare ... 16

Figura 2.9. Creare tabel folosind asistentul – selectare cheie primară ........................................ 17

Figura 2.10. Crearea unui tabel folosind asistentul – stabilirea legăturilor logice între tabele..... 17

Figura 2.11. Crearea unui tabel folosind asistentul – alegerea tipului de legătură între tabele .... 18

Figura 2.12. Finalizarea etapei de creare a unui tabel folosind asistentul ................................... 18

Figura 2.13. Crearea tabelei folosind introducerea datelor......................................................... 19

Figura 2.14. Fereastra Relationships ......................................................................................... 20

Figura 2.15. Editarea legăturilor dintre tabele ........................................................................... 21

Figura 2.16. Realizarea relaţiei între câmpurile tabelelor aflate într-o relaţie de mulţi la mulţi .. 21

Figura 2.17. Alegerea tabelei cu care câmpul curent se va lega ................................................. 22

Figura 2.18. Alegerea câmpului (cheie primară) din tabela selectată ......................................... 22

Figura 2.19. Ordonarea datelor din câmpul ales ........................................................................ 22

Figura 2.20. Vizualizarea datelor aferente câmpului ales........................................................... 23

Figura 2.21. Crearea unei liste predefinite................................................................................. 23

Figura 2.22. Tipărirea valorilor care vor forma lista personalizată............................................. 24

Figura 2.23. Crearea unei liste personalizate folosind pagina Lookup ....................................... 24

Figura 2.24. Crearea unei machete de introducere a datelor....................................................... 25

Figura 3.1. Crearea formularului pentru tabela disciplină .......................................................... 27

Figura 3.2. Alegerea modului de aranjare a câmpurilor în cadrul formularului .......................... 27

Figura 3.3. Stabilirea stilului de formatare a formularului ......................................................... 28

Figura 3.4. Denumirea formularului.......................................................................................... 28

Figura 3.5.Alegerea tabelelor şi a câmpurilor din cele două tabele ............................................ 29

Figura 3.6. Stabilirea modului de vizualizare şi de introducere a datelor în formular................. 29

Figura 3.7. Stabilirea modului de aranjare a câmpurilor în formular.......................................... 30

Figura 3.8. Alegerea stilului de prezentare a formularului ......................................................... 30

Page 5: Suport ACCESS Cu 4 Probleme

Figura 3.9. Denumirea formularelor.......................................................................................... 31

Figura 3.10. Alegerea tabelelor şi a câmpurilor ......................................................................... 31

Figura 3.11. Alegerea modului de vizualizare a câmpurilor....................................................... 32

Figura 3.12. Personalizarea unui formular................................................................................. 32

Figura 3.13. Proprietăţile formularului...................................................................................... 33

Figura 3.14. Adăugarea unui nou câmp în cadrul formularului.................................................. 33

Figura 3.15. Proprietăţile câmpului selectat .............................................................................. 34

Figura 3.16. Fereastra de dialog Expression Builder ................................................................. 35

Figura 4.1. Alegerea tabelelor şi a câmpurilor pentru crearea raportului.................................... 37

Figura 4.2. Stabilirea modului de aranjare a datelor în cadrul formularului ............................... 38

Figura 4.3. Gruparea datelor după anumite criterii .................................................................... 38

Figura 4.4. Stabilirea intervalelor de grupare a datelor .............................................................. 39

Figura 4.5. Sortarea datelor din cadrul raportului ...................................................................... 39

Figura 4.6. Afişarea câmpurilor numerice şi a modurilor de îmbinare ....................................... 39

Figura 4.7. Prezentarea modurilor de aranjare a câmpurilor în cadrul paginii ............................ 40

Figura 4.8. Stabilirea stilului de prezentare a câmpurilor din cadrul tabelului............................ 40

Figura 4.9. Introducerea unui nou câmp de grupare................................................................... 42

Figura 5.1. Butonul New pentru crearea unei interogări ............................................................ 44

Figura 5.2. Crearea unei noi interogări folosind Design View ................................................... 44

Figura 5.3. Aplicarea unei interogări pe două tabele.................................................................. 45

Figura 5.4. Realizarea unei interogări de tip creare tabel ........................................................... 47

Figura 5.5. Realizarea unei interogări de tip modificare ............................................................ 47

Figura 5.6. Realizarea unei interogări de tip ştergere................................................................. 48

Figura 5.7. Realizarea unei interogări de tip ştergere pentru o înregistrare dintr-un alt tabel faţă

de cel în care se pune condiţia ........................................................................................... 48

Figura 5.8. Realizarea unei interogări de tip adăugare............................................................... 49

Figura 5.9. Adăugarea înregistrărilor care nu au completat cnp-ul în tabela student................... 49

Figura 5.10. Alegerea tabelei sau interogării folosite pentru interogarea de încrucişare ............. 50

Figura 5.11. Selectarea liniei din interogarea de încrucişare ...................................................... 51

Figura 5.12. Selectarea coloanei din interogarea de încrucişare................................................. 51

Figura 5.13. Selectarea tipului de reprezentare a datei............................................................... 52

Figura 5.14. Selectarea valorilor din interogarea de încrucişare................................................. 52

Figura 5.15. Vizualizarea rezultatului interogării de încrucişare ................................................ 52

Figura 5.16. Crearea unei interogări de încrucişare în mod design............................................. 53

Page 6: Suport ACCESS Cu 4 Probleme

1. Noţiuni generale privind bazele de date

O bază de date este o colecţie de date, structurate şi corelate logic între ele, memorate pe

un suport de memorie. Pe lângă datele propriu-zise, baza de date memorează şi relaţiile logice

care există între acestea, dar şi descrierea formală a structurii lor. Baza de date este gestionată de

de un sistem special numit sistem de gestiune a bazelor de date.

Un sistem de gestiune a bazelor de date (SGBD) asigură legătura dintre utilizator şi baza

de date, permiţând construirea bazei de date, introducerea datelor în cadrul acesteia, dar şi

construirea unor aplicaţii.

O bază de date poate fi privită ca o colecţie de date memorate în fişiere intercorelate şi

definite logic sub formă de tabele, alcătuite din linii care corespund înregistrărilor şi coloane care

corespund câmpurilor din înregistrări. Datele care sunt memorate în cadrul bazei de date sunt

structurate, neredundante, corelate logic între ele.

Baza de date poate fi împărţită în:

date utilizator – sunt memorate în fişiere şi descrise prin tabele, care conţin câmpuri şi

înregistrări. Pentru fiecare tabelă se defineşte şi structura tabelei – conţine descrierea

câmpurilor din tabelă şi proprietăţile acestora;

dicţionarul de date – conţine metadate, adică descrierea structurii tabelelor şi a legăturilor

logice dintre acestea (tabela de sistem);

tabele de index – măresc accesibilitatea la datele din cadrul bazei de date;

metadatele aplicaţiilor – informaţii pentru descrierea unor componente ale aplicaţiilor, cum

ar fi: descrierea vederilor bazei de date, formatul unor cereri de interogare.

Structura unei baze de date realizează o descriere a datelor, a legăturilor dintre ele şi a

restricţiilor la care se supun datele din cadrul bazei de date. Mai conţine, pe lângă acestea, şi

descrierea structurii fiecărei tabele din baza de date.

Asupra datelor din cadrul bazei de date se pot impune o serie de constrângeri semantice

care trebuiesc respectate pentru a reflecta cât mai adevărat realitatea. Aceste constrângeri se

numesc restricţii de integritate, iar baza de date care respectă acest principiu este o bază de date

consistentă. Restricţiile de integritate ale unei baze de date se definesc prin intermediul regulilor

de integritate:

implicite – stabilirea unor valori care pot fi introduse;

explicite – atunci când se defineşte o listă de valori sau un interval de valori din care se pot

da câmpurilor bazei de date.

Page 7: Suport ACCESS Cu 4 Probleme

O altă clasificare a regulilor de integritate este în reguli de integritate minimală şi restul

regulilor. Din cadrul regulilor de integritate minimală se pot enumera:

regula unicităţii cheii – valoarea cheii primare este unică;

regula entităţii – toate câmpurile care fac parte din cheia primară trebuie să aibă atribuite

valori în orice înregistrare din tabelă;

regula integrităţii referenţiale - orice valoare dată cheii străine dintr-o tabelă trebuie să se

regăsească în tabela în care cheia respectivă este cheie primară:

o la adăugarea unei noi înregistrări în tabela fiu, se va verifica dacă valoarea care se

doreşte introdusă există în tabela unde este cheie primară, în caz contrar, nu se va

realiza adăugarea;

o la ştergerea unei înregistrări din tabela părinte, dacă valoarea se regăseşte în tabela

fiu, atunci fie ştergerea fie va fi interzisă, fie se va realiza o ştergere în cascadă – se

şterg toate înregistrările din tabela fiu, dar şi înregistrarea din tabela părinte;

o la modificarea cheii primare din tabela părinte, dacă aceasta există ca valoare a cheii

străine în tabela fiu, atunci fie modificarea este interzisă, fie se va realiza o modificare

în cascadă – se modifică înregistrarea în părinte şi toate înregistrările corespunzătoare

din tabela fiu.

Proiectarea unei baze de date porneşte de la problema reală care trebuie modelată pentru

a defini schema conceptuală a datelor. Primul pas în crearea bazei de date este identificarea

datelor care vor forma baza de date, dar şi caracteristicile acestora. Pornind de la caracteristicile

datelor se va continua cu determinarea legăturilor logice dintre ele, ţinând cont de fenomenele

reale care se doresc modelate. Proiectarea bazei de date se face în mai multe etape:

etapa de modelare a structurii bazei de date – se stabilesc legăturile logice dintre date;

etapa de definire a bazei de date folosind un SGBD;

etapa de încărcare a datelor în cadrul bazei de date şi verificarea corectitudinii;

etapa de mentenanţă a bazei de date.

Modelarea cerinţelor presupune realizarea unei analize reale a problemei pentru care

trebuie realizată baza de date. După ce s-a formulat problema şi datele care vor fi folosite şi

introduse în cadrul aplicaţiei se va continua cu modelarea structurii bazei de date.

Modelarea structurii bazei de date se realizează prin intermediul unui model de

organizare logică a datelor, acesta precizând conţinutul logic al datelor, natura datelor şi a

legăturilor dintre date la nivelul întregii bazei de date. Modelul de organizare logică a datelor

presupune o descriere a datelor din punct de vedere formal, ţinând cont de:

semantica datelor (conţinutul logic al datelor) – presupune denumirea cât mai sugestivă a

datelor şi explicarea sensului acestora. Structura tabelelor trebuie să permită obţinerea facilă

Page 8: Suport ACCESS Cu 4 Probleme

a diverselor tipuri de rapoarte necesare utilizatorilor, precum şi să faciliteze operaţiile de

filtrare aplicate înregistrărilor de date;

restricţiile - se exprimă sub formă de reguli de integritate sau reguli de validare a datelor

care vor urma introduse în câmpurile respective;

modul de grupare a datelor – se realizează pentru a crea structuri omogene care vor fi

folosite în rezolvarea problemei;

legăturile logice dintre grupuri (relaţii logice) – sunt definite astfel:

o legături de tip unu-la-unu – apar atunci când unui element dintr-un grup îi corespunde

un singur element dintr-un alt grup şi reciproc. De exemplu, unei comenzi îi corespude

o singură factură şi reciproc este adevărat, adică unei facturi îi corespunde o singură

comandă. În urma unei astfel de legături, cheile primare ale celor două tabele

migrează ca şi chei străine în ele.

o legături de tip unu-la-mulţi – apar atunci când unui element dintr-un grup îi

corespunde mai multe elemente dintr-un alt grup, dar unui element din grupul al doilea

îi corespunde un singur element din primul grup. De exemplu, o persoană primeşte în

urma achiziţiei de bunuri una sau mai multe facturi, în schimb o factură îi este emisă

unei singure persoane. În urma unei astfel de legături, cheia primară a tabelei părinte

(cea căreia îi corespund mai multe elemente) devine cheie străină în tabela fiu.

o legături de tip mulţi-la-mulţi – apar atunci când unui element dintr-un grup îi

corespunde mai multe elemente dintr-un alt grup şi reciproc. De exemplu, pe o factură

se pot găsi mai multe produse, iar un produs poate apare pe mai multe facturi. În

urma unei astfel de legături, cheile primare ale celor două tabele migrează ca şi chei

primare în cadrul unei noi tabele numite tabelă de joncţiune.

Se numeşte cheie primară câmpul sau combinaţia de câmpuri care identifică în mod unic

înregistrările tabelei.

Asupra cheii primare se fac următoarele observaţii:

cheia primară este folosită pentru identificarea în mod unic a înregistrărilor, dar şi pentru

căutarea în cadrul bazei de date;

cheia primară trebuie să respecte restricţia de unicitate a cheii, adică nu este permis ca să

existe două înregistrări care să aibă aceeaşi valoare a cheii primare;

nu se acceptă ca pentru cheia primară să nu aibă definită nici o valoare, adică cheii primare

trebuie să i se dea o valoare. Această restricţie se numeşte regula entităţii.

Se numeşte cheie străină mulţimea de câmpuri care au proprietatea că domeniile pe care

le definesc se regăsesc în cadrul unei alte tabele, adică este cheie primară în cadrul unei alte

tabele.

Page 9: Suport ACCESS Cu 4 Probleme

Asupra cheii străine se fac următoarele observaţii:

cheia străină este definită ca şi cheie primară în cadrul unui alt grup;

cheia străină poate lua doar valorile definite pentru cheia primară aferentă tabelei din care

provine – restricţia de integritate referenţială;

cheia străină poate să nu aibă asociată nici o valoare – restricţia de integritate referenţială;

nu există două înregistrări care să difere doar prin valoarea cheii străine.

Se numeşte cheie candidat mulţimea de câmpuri care pot fi chei primare în anumite

condiţii.

Se numeşte cheie alternantă mulţimea de câmpuri care nu sunt chei primare din

mulţimea de chei candidat.

CONCLUZII:

O bază de date este formată din:

tabele – sunt formate din mai multe rânduri (înregistrări) şi mai multe coloane (câmpuri).

Înregistrările sunt valori date câmpurilor tabelei. Fiecărui câmp în parte îi este asociat

un nume, un tip de dată, o anumită dimensiune.

relaţii între tabele – se exprimă conform tipurilor de legături care pot exista între tabele;

Pe lângă acestea, în cadrul unei baze de date pot exista şi:

formulare – sunt folosite pentru introducerea datelor în cadrul bazei de date.

interogări – selectarea anumitor date din tabele în funcţie de anumite condiţii, selectarea

datelor putând fi selectate din mai multe tabele.

rapoarte – servesc la preluarea datelor din baza de date şi afişarea acestora pe ecran sau

hârtie. Datele din tabele pot fi sortate şi grupate.

Page 10: Suport ACCESS Cu 4 Probleme

2. Crearea şi lucrul cu tabele în Microsoft Access 2003

După lansarea în execuţie a aplicaţiei Microsoft Office Access 2003 se va deschide o

freastră de forma prezentată în figura 2.1.

Figura 2.1. Fereasta de început a aplicaţiei Microsoft Access 2003

Ca orice fereastră de aplicaţie, şi fereastra aplicaţiei Microsoft Access este formată din:

bara de titlu –va conţine numele bazei de date cu care se va lucra. În partea dreaptă a

barei de titlu se află cele trei butoane de control: minimize (pentru micşorarea ferestrei

şi aducerea acesteia în bara de task-uri), maximize/restore (va mări fereastra pe tot

ecranul sau va aduce fereastra la forma iniţială), close (va închide fereastra aferentă

bazei de date cu care se lucrează);

bara de meniuri – cuprinde meniurile aplicaţiei, fiecare dintre acestea având un scop

precis: meniul File – prezintă operaţiile care se pot realiza asupra fişierului (deschidere,

salvare, închidere, crearea unei noi baze de date, exportul bazei de date sau

imprimarea), meniul Edit – conţine operaţiile de editare a conţinutului fişierului

(copiere, mutare, lipire, redenumire sau ştergere), meniul View – cuprinde modurile de

vizualizare a conţinutului fişierului (detaliat, icoane, listă), meniul Insert – înglobează

operaţiile ce permit introducerea de noi obiecte în cadrul bazei de date (tabele,

formulare, rapoarte, interogări), meniul Tools – conţine operaţii legate de baza de date

(crearea relaţiilor între tabele, analiza datelor din cadrul bazei de date, crearea unei copii

de siguranţă a bazei de date, crearea unui panou de control), meniul Window – asigură

modul de vizualizare a bazei de date;

bara de intrumente – conţine diferite butoane, care reprezintă căi rapide către opţiunile

din meniurile aplicaţiei;

zona de lucru – este reprezentată prin zona în care se afişează structura bazei de date;

bara de stare – afişează diferite informaţii despre starea aplicaţiei.

Page 11: Suport ACCESS Cu 4 Probleme

2.1. Crearea, deschiderea şi salvarea unei baze de date

Crearea unei noi baze de date în Microsoft Access se poate realiza în mai multe

moduri, iar unele dintre acestea sunt prezentate în continuare:

din meniul File al aplicaţiei Microsoft Access se va selecta opţiunea New;

Figura 2.2. Opţiunea New a meniului File

de pe bara de instrumente a aplicaţiei Microsoft Access se va apăsa butonul New ( );

în locaţia unde se doreşte crearea bazei de date se va apăsa clic dreapta, iar din meniul de

context se va alege opţiunea New, iar din lista de fişiere se va selecta Microsoft Office

Access 2003.

Indiferent de alegerea făcută pentru crearea bazei de date se va deschide în partea dreaptă a

ferestrei un panou de sarcini din care se va alege modul de crearea a noii baze de date:

Figura 2.3. Panoul de sarcini pentru crearea unei noi baze de date

Page 12: Suport ACCESS Cu 4 Probleme

Blank database – crearea unei noi baze de date şi salvarea acesteia într-o locaţie;

From existing file – permite crearea unei noi baze de date sau proiect folosind diferite

tipuri de fişiere, precum cele de web (.html) sau chiar baze de date (.mdb). Este folosită

atunci când s-a creat o bază de date şi se doreşte una asemănătoare;

Templates – crearea bazei de date se face pornind de la o serie de şabloane (baze de date

existente) care pot fi găsite pe calculator sau online.

Figura 2.4. Fereastra noii baze de date

După cum se poate observa în figura 2.4., fereastra bazei de date conţine câteva butoane

aranjate în meniul vertical Objects, cu ajutorul cărora se vor crea tabele, rapoarte, interogări sau

formulare. Prin apăsarea fiecărui buton, se vor vizualiza doar obiectele respective, adică doar

tabele sau rapoarte, interogări sau formulare.

Salvarea unei baze de date în Microsoft Access se realizează doar în momentul în care

aceasta se creează. După crearea bazei de date, orice modificare a acesteia se va salva automat.

Deschiderea baze de date în Microsoft Access se poate realiza în mai multe moduri:

cu ajutorul opţiunii Open din meniul File;

Figura 2.5. Opţiunea Open a meniului vertical File

cu ajutorul butonului Open ( ) aflat pe bara de instrumente standard;

prin combinaţie de taste şi anume CTRL+O.

Page 13: Suport ACCESS Cu 4 Probleme

2.2. Crearea tabelelor în Microsoft Access

Pentru a se continua construirea bazei de date cu tabele este nevoie ca mai întâi să se

finalizeze etapa de modelare conceptuală a bazei de date (tabele şi relaţiile care există între

acestea). Este mai indicat în a se finaliza modelul conceptul de date, decât să se înceapă crearea

tabelelor în mod aleator, deoarece se va pierde timp inutil cu modificările ulteriore pentru a

modela cât mai bine realitatea. În Microsoft Access, crearea tabelelor se poate realiza în diferite

moduri:

Create table in Design View – crearea tabelelor se va face într-un mod de vizualizare;

Create table by using wizard – crearea tabelelor se va face folosind un asistent;

Create table by entering data – crearea tabelelor se va face introducând date, pentru ca

mai apoi să se modifice numele câmpurilor şi să se stabilească cheia primară.

2.2.1. Crearea tabelelor în modul Design View

În crearea unei tabele trebuie să urmeze paşii următori:

definirea numelor de câmpuri, tipul de dată asociat fiecăruia dintre acestea şi în mod

opţional, o descriere a ceea ce doreşte să memoreze câmpul respectiv;

stabilirea proprietăţilor pentru fiecare câmp în parte, adică se vor stabili dimensiunea,

reguli de validare a datelor care vor fi introduse;

se va stabili cheia primară care poate fi formată din unul sau mai multe câmpuri;

crearea unor câmpuri care vor fi indecşi, aceştia fiind folosiţi în căutarea mai rapidă a

înregistrărilor în baza de date;

salvarea tabelei în cadrul bazei de date.

Figura 2.6. Crearea unei tabele folosind Design View

Page 14: Suport ACCESS Cu 4 Probleme

Analizând figura 2.6. se poate observa că fereastra este împărţită în două zone: prima este

zona unde se definesc câmpurile tabelului şi tipurile asociate pentru fiecare dintre acestea, iar cea

de-a doua este zona unde se stabilesc proprietăţile fiecărui câmp în parte. Pentru început, se va

prezenta prima zonă, care este formată din trei coloane:

în prima coloană (Field Name) se va trece numele câmpului, ţinându-se cont ca numele

acestuia să nu aibă spaţii sau caractere speciale (diacritice, semnul întrebării, slash etc.).

Dintre câmpurile definite se va selecta unul sau mai multe câmpuri (din partea stângă a

ferestrei, se va ţine clic stânga şi se vor selecta câmpurile) care vor forma cheia

primară a tabelei:

o din meniul Edit se va alege Primary Key;

o de pe bara de instrumente standard se va selecta butonul Primary Key ( );

o pe câmpurile selectate se va da clic dreapta, iar din meniul de context afişat se va

selecta opţiunea Primary Key.

în cea de-a doua coloană (Data Type) se vor stabili tipurile de date pentru fiecare câmp în

parte. Tipul implicit al aplicaţiei este Text, iar alegerea se va face folosind lista

derulantă care apare atunci când ne poziţionăm pe coloană. Tipurile de date oferite de

SGBD-ul Access sunt:

o Text – permite introducerea între 0 şi 255 de caractere alfa-numerice;

o Memo – permite introducerea între 0 şi 65536 de caractere alfa-numerice;

o Number – permite introducerea doar a cifrelor, codificarea informaţiilor realizându-

se pe 1, 2, 4, 8 bytes sau 16 bytes pentru tipul Replication ID;

o Date/Time – permite introducerea datei calendaristice şi/sau a orei;

o Currency – permite introducerea formatului monetar;

o AutoNumber – permite introducerea automată a numărului;

o Yes/No – este tipul care permite introducerea doar a două valori: adevărat sau fals;

o OLE Object – permite introducerea de poze, imagini video sau sunete;

o Hyperlink – introduce legături către pagini web;

o Lookup Wizard – afişează datele din cadrul unui alt tabel.

cea de-a treia coloană (Description) este opţională, adică poate sau nu fi completată. În

cadrul acestei coloane se vor preciza datele care vor fi introduse în cadrul câmpului.

Zona Field Properties, care apare în partea de jos a ferestrei Design View aferentă

tabelei, permite modificarea proprietăţilor fiecărui câmp selectat. Această zonă se va modifica în

funcţie de tipul de dată care a fost selectat pentru câmpul respectiv. Printre cele mai importante

proprietăţi care se pot aplica unui tip de dată sunt:

Page 15: Suport ACCESS Cu 4 Probleme

Field Size – limitează numărul de caractere care pot fi introduse (specific pentru tipul de

dată Text) sau stabileşte tipul de valoare numerică care poate fi introdusă (specific

pentru tipul de dată Number);

Format – modifică modul de afişare a formatului (majuscule, dată, oră) - specific pentru

tipul de dată Text, Memo, Number, Date/Time, Hyperlik;

Input mask – este folosit pentru a stabili un format de introducere a datelor în cadrul

bazei de date (specific pentru tipul de dată Text, Number, Date/Time, Currency);

Caption – este un câmp opţional folosit în formulare şi rapoarte care modifică numele

componentei (este specifică tuturor tipurilor de date, cu excepţia tipului AutoNumber);

Default Value – stabileşte o valoare predefinită care va fi introdusă în mod automat (este

specifică tuturor tipurilor de date, cu excepţia tipului AutoNumber şi Hyperlink);

Validation Rule – este o regulă de validare exprimată printr-o expresie sau un macro,

care stabileşte ce date pot fi introduse în câmpul respectiv (este specifică tuturor

tipurilor de date, cu excepţia tipului AutoNumber şi OLE Object);

Validation Text – este textul care va apare dacă regula de validare este încălcată (este

specifică tuturor tipurilor de date, cu excepţia tipului AutoNumber şi OLE Object);

Required – specifică dacă trebuie introdusă în mod explicit o valoare în câmpul respectiv

(este specifică tuturor tipurilor de date, cu excepţia tipului AutoNumber);

Allow zero lenght – specifică dacă se introduce spaţiu alb pentru a o deosebi de valoarea

nulă (specific doar pentru tipul de dată Text şi Memo);

Indexed – măreşte viteza de căutare în cadrul bazei de date. Dacă câmpul este cheie

primară, atunci acesta va avea selecta Yes (No Duplicates), deoarece valoarea cheii

primare trebuie să fie unice. În cazul în care este cheie străină, valoare acestei

proprietăţi va fi Yes (Duplicates OK);

Decimal Places – specifică numărul de zecimale (specific doar pentru tipul de dată

Number şi Currency);

New values – specifică formatul de introducere a numărului - creştere sau aleator

(specific pentru tipul de dată AutoNumber);

Unicode Compression – permite introducerea tuturor tipurilor de caractere alfa-

numerice (inclusiv diacritice). Se referă la codul alfa-numeric Unicode, care încearcă

uniformizarea codificării tuturor caracterelor.

Page 16: Suport ACCESS Cu 4 Probleme

2.2.2. Crearea tabelelor folosind asistentul

A doua modalitate de creare a tabelelor este cu ajutorul asistentului. Dezavantajul acestei

metode este dat de operaţiile suplimentare care trebuiesc realizate, adică redenumirea

câmpurilor, stabilirea tipului de date. După ce s-a ales opţiunea Create table using wizard se va

lansa un asistent care va crea tabelul în patru paşi:

prima etapă se referă la selectarea tipului de bază de date care se doreşte creată, având

stabilite două categorii (Business sau Personal). După selectarea tipului de bază de date

se vor prezenta diferite tipuri de tabele, fiecare dintre acestea având anumite câmpuri.

Dintre câmpurile prezentate se vor alege doar acelea care se aplică sistemului real,

urmând ca apoi acestea să fie redenumite.

Figura 2.7. Crearea unui tabel folosind asistentul – selectarea şi redenumirea câmpurilor

a doua etapă a creării tabelului folosind asistentul este denumirea tabelului şi stabilirea

cheii primare. Alegerea cheii primare se poate realiza automat de către asistent sau

manual de către utilizator. În cazul în care se stabileşte ca cheia primară să fie selectată

de asistent, atunci aceasta va trebui scrisă ca şi prim câmp, deoarce îl alege pe acesta.

Figura 2.8. Crearea unui tabel folosind asistentul – denumirea tabelei şi selectarea cheii primare

Page 17: Suport ACCESS Cu 4 Probleme

Alegerea manuală a cheii primare presupune introducerea unei noi etape şi anume selectarea

acesteia. Se vor afişa toate câmpurile tabelei, urmând ca dintre acestea să fie alese cheia primară.

Figura 2.9. Creare tabel folosind asistentul – selectare cheie primară

Dezavantajul alegerii în acest moment a cheii primare este determinată ne imposibilitatea de a

selecta mai multe câmpuri care să formeze cheia. După alegerea câmpului care se doreşte a fi

setat cheie primară, se va selecta şi tipul de date care vor putea fi introduse în cadrul acestuia:

o Consecutive numbers Microsoft Access assigns automatically to new records –

este echivalentă cu tipul de dată AutoNumber, care permite introducerea în mod

automat a valorilor numerice;

o Numbers I enter when I add new recods – va permite introducerea doar a valorilor

numerice;

o Numbers and/or letters I enter when I add new records – va permite introducerea

atât a cifrelor, dar şi a literelor, adică caractere alfa-numerice.

a treia etapă în realizarea tabelei este stabilirea legăturilor logice care pot apare între

tabele.

Figura 2.10. Crearea unui tabel folosind asistentul – stabilirea legăturilor logice între tabele

Page 18: Suport ACCESS Cu 4 Probleme

Realizarea relaţiilor dintre tabele se va face prin selectarea tabelei cu care aceasta este într-o

legătură logică şi apoi se va acţiona butonul Relationships, care va conduce la deschiderea unei

noi ferestre de dialog din care se va alege tipul de legătură logică.

Figura 2.11. Crearea unui tabel folosind asistentul – alegerea tipului de legătură între tabele

Alegerea tipului de legătură se face în funcţie de tabela părinte, care poate avea asociată una sau

mai multe înregistrări din tabela fiu.

etapa patru din crearea tabelei folosind asistentul este dată de operaţiile care se doreşte să

se realizeze cu aceasta:

o Modify the table design – se poate modifica structura tabelei, tipul de dată asociat

unui câmp sau numele acestora;

o Enter datat directly into the table – se foloseşte tabela creată, introducând date în

cadrul acesteia;

o Enter data into the table using a form the wizard creates for me – permite

introducerea datelor în cadrul tabelei prin intermediul unui formular creat de asistent.

Figura 2.12. Finalizarea etapei de creare a unui tabel folosind asistentul

Page 19: Suport ACCESS Cu 4 Probleme

2.2.3. Crearea tabelelor folosind introducerea datelor

Ultima modalitate de creare a unei tabele folosind SGBD-ul Microsoft Access este

introducând date în cadrul câmpurilor dorite şi redenumirea acestora. Crearea unei astfel de

tabele se face cu ajutorul opţiunii: Create table by entering data.

Figura 2.13. Crearea tabelei folosind introducerea datelor

După cum se poate observa în figura 2.13., crearea unei tabele se poate face şi

introducând datele în tabel, pentru ca mai apoi să se redenumească câmpurile. Redenumirea

câmpurilor se poate face:

dând clic dreapta pe indicativul coloanei, iar din meniul de context se va alege opţiunea

Rename Column;

dând dublu clic pe indicativul coloanei şi apoi se va introduce numele câmpului;

Dezavantajul creării tabelei în acest mod este dat de intrarea apoi în mod design pentru a

se defini cheia primară.

Page 20: Suport ACCESS Cu 4 Probleme

2.3. Modificarea structurii unei tabele şi

realizarea relaţiilor dintre tabele

Modificarea structurii unei tabele se poate face doar în mod de design. Structura tabelei

se poate modifica în mai multe moduri:

se va selecta tabelul şi se va da clic dreapta, alegându-se din meniul de context opţiunea

Degin View;

se alege tabelul pentru care se doreşte modificarea structurii şi se va alege butonul

Design View ( ) de pe bara de instrumente a bazei de date;

dacă este deschisă fereastra în care se prezintă relaţiile dintre tabele, atunci se va da clic

dreapta pe tabela a cărei structură se va modifica şi din meniul de context se va alege

opţiunea Table Design.

După ce tabelele au fost create urmează să se stabilească relaţiile dintre tabele. Pentru a

se realiza relaţiile se pot urma unul dintre paşii următori:

de pe bara de intrumente a aplicaţiei Microsoft Access se va selecta butonul

Relationships ( );

din meniul Tools se va alege opţiunea Relationships.

Figura 2.14. Fereastra Relationships

În cazul în care tabelele bazei de date nu sunt deja legate între ele (fie prin intermediul

creării tabelei folosind asistentul, fie prin intermediul tipului de dată oferit de Microsoft Access

numit Lookup Wizard), atunci vor trebui afişate tabelele, acest lucru realizându-se cu ajutorul

opţiunii Show Tables, care apare atunci când se va da clic dreapta pe fereastra Relationships.

După afişarea tabelelor, realizarea legăturilor se va face trăgând cheia primară a tabelei părinte

peste cheia străină a tabelei fiu.

Page 21: Suport ACCESS Cu 4 Probleme

Figura 2.15. Editarea legăturilor dintre tabele

Din cadrul relaţiei se poate observa ca tabela din stânga este tabela părinte, iar cea din

dreapta este tabela fiu. Opţiunea Enforce Referential Integrity se referă la relaţia de integritate,

care verifică ca cele două chei, cea primară şi cea străină să aibă acelaşi tip şi dimensiune. În

cazul în care este încălcată regula de integritate, atunci va apare un mesaj de eroare care vă v.a

avertiza acest lucru. Odată selectată această opţiune se va activa posibilitatea de modificare şi

ştergere în cascadă.

În cazul în care avem o relaţie de mulţi la mulţi între tabele, relaţiile se pot realiza şi prin

intermediul asistentului furnizat de Microsoft Access ca şi tip de dată, acesta numindu-se

Lookup Wizard. Prin intermediul acestui tip de dată se vor lega tabelele, urmărind cei şase paşi

executaţi de asistent:

primul pas în crearea legăturii cu tipul de dată specificat este alegerea operaţiei care se va

aplica câmpurilor celor datele:

o I want the lookup column to look up the values in a table or query – va prelua

valorile cheii primare din tabela părinte şi le va introduce în tabela fiu. Deoarece

relaţia precizează că nu putem avea alte valori decât cele ale cheii primare, se va

alege această opţiune dintre cele două;

o I will type in the values that I want – se vor introduce valorile dorite.

Figura 2.16. Realizarea relaţiei între câmpurile tabelelor aflate într-o relaţie de mulţi la mulţi

Page 22: Suport ACCESS Cu 4 Probleme

pasul doi în realizarea relaţiei este alegerea tabelei cu care câmpul curent se leagă;

Figura 2.17. Alegerea tabelei cu care câmpul curent se va lega

pasul trei este alegerea câmpului din cadrul tabelei selectate, câmp care va trebui să

coincidă cu cel din tabela fiu.;

Figura 2.18. Alegerea câmpului (cheie primară) din tabela selectată

pasul patru permite ordonarea datelor înscrise în cadrul câmpul ales;

Figura 2.19. Ordonarea datelor din câmpul ales

Page 23: Suport ACCESS Cu 4 Probleme

în cazul în care ar fi existat date înscrise în câmpul ales, acestea vor fi afişate la pasul

următor, acestea fiind şi ordonate conform criteriului pas ales la pasul anterior;

Figura 2.20. Vizualizarea datelor aferente câmpului ales

ultimul pas în crearea relaţiei este denumirea câmpului.

2.4. Crearea unei liste personalizate

Pentru realizarea unei liste personalizate, precum ar fi o listă de unităţi de măsură sau

grade didactice din care se poate alege, se va folosi opţiunea Lookup Wizard din cadrul design-

ului de tabel. Spre deosebire de realizarea legăturii dintre tabele, prin alegerea primei opţiuni de

selectare a datelor din cadrul altei tabele, se va selecta cea de-a doua opţiune prin care se va scrie

componentele listei.

Figura 2.21. Crearea unei liste predefinite

În pasul doi de creare a listei personalizate se vor scrie valorile care se doresc în cadrul

listei, acest lucru realizându-se prin tipărirea lor în fiecare celulă.

Page 24: Suport ACCESS Cu 4 Probleme

Figura 2.22. Tipărirea valorilor care vor forma lista personalizată

O altă modalitate de realizare a listei personalizate este din pagina Lookup a ferestrei de

design a tabelei. Odată selectată această pagină se va vor afişa proprietăţile acesteia, primele trei

fiind folosite în realizarea listei.

Din zona Display Control se va alege tipul de componentă care va afişa valorile listei.

Folosind lista derulantă care apare în partea dreaptă a opţiunii se va alege Combo Box.

Cea de-a doua zonă care va fi modificată este Row Source Type. Această opţiune

precizează de unde se vor lua valorile listei, iar dintre opţiunile prezentate se va selecta Value

List, acest lucru specificând că valorile sunt dintr-o listă definită.

Precizarea valorilor definite ale listei se va face în zona Row Source, acestea fiind scrise

între ghilimele şi separate prin punct şi virgulă.

Figura 2.23. Crearea unei liste personalizate folosind pagina Lookup

Page 25: Suport ACCESS Cu 4 Probleme

2.5.Definirea regulilor de validare şi de integritate a datelor

Input Mask – permite crearea unor machete de introducere a datelor în câmpurile bazei de

date. Macheta este formată din trei părţi, separate prin punct şi virgulă sau virgulă (este în funcţie

de setarea sistemului de operare):

prima parte este obligatorie şi va conţine macheta de introducere a datelor:

o 0 – indică cifră obligatoriu;

o 9 – indică cifră opţional;

o L – indică literă obligatoriu;

o ? – indică literă opţională;

o A – indică literă sau cifră obligatorie;

o a – indică literă sau cifră opţională;

o & – indică caracter sau spaţiu obligatoriu;

o C - indică caracter sau spaţiu opţional;

o # – indică cifră, spaţiu, plus sau minus opţional. În cazul în care este ignorat se va

pune automat spaţiu alb;

o > – converteşte toate caracterele la majusculă;

o < - converteşte toate caracterele la minuscule;

o „” – caracterele scrise între ghilimele vor apare ca atare.

cea de-a doua parte este opţională şi se referă la caracterele de machetă înglobate şi

modul în care vor fi stocate:

o 0 – caracterele introduse sunt stocate cu date;

o 1 – caracterele introduse sunt doar afişate şi nu stocate;

ultima parte indică simbolul care va fi folosit pentru introducerea datelor.

EXEMPLU:

Figura 2.24. Crearea unei machete de introducere a datelor

Macheta creată va permite introducerea în câmpul adresă a maxim 26 de caractere după cum

urmează:

strada şi numărul vor apare ca atare la introducerea datelor în câmpul adresă, deoarece

este cuprins între ghilimele;

Page 26: Suport ACCESS Cu 4 Probleme

primele 5 caracterele care se vor introduce la stradă vor fi obligatorii, deoarece avem

caracterul L care precizează acest lucru;

următoarele 10 caractere ale adresei vor fi opţionale, acest lucru fiind dat de caracterul ?;

strada va fi introdusă cu majuscule, deoarece avem caracterul > înainte de introducerea

caracterelor care vor forma strada;

numărul pentru stradă va fi obligatoriu la introducere, deoarece macheta are caracterul 0,

iar dimensiunea numărului va fi exact două cifre;

macheta precizează că datele introduse vor fi stocate ca atare în cadrul tabelei, deoarece

cea de-a doua parte a machetei are 0;

caracterul care va apare la introducerea datelor în cadrul tabelelor va fi _, acesta fiind

precizat în a treia parte a machetei.

Format – stabileşte formatul de afişare a datelor:

> - transformă textul în majuscule;

< - transforma textul în minuscule;

Validation Rule – reprezintă reguli de validare care se stabilesc asupra câmpurilor, acestea

permiţând introducerea doar a acelor valori care respectă regula EXEMPLE:

BETWEEN val1 AND val2 – va permite introducerea doar a valorilor care sunt cuprinse

în intervalul dat;

>val1 AND <val2 – permite introducerea doar a valorilor mai mari de val1 şi mai mici de

val2 (este echivalent cu between)

IN(”p1”, ”p2”, ”p3”) – va permite introducerea doar a valorilor prezentate în listă;

”p1” OR ”p2” OR ”p3” – permite doar introducerea celor trei valori definite (echivalent

cu clauza IN);

IS NOT NULL – nu permite valori nule;

<Date() – va permite introducerea datelor calendaristice anterioare celei curente;

BETWEEN #data1# AND #data2# - introduce doar datele calendaristice din intervalul

specificat. Datele calendaristice se vor introduce între caracterele diez (#);

MID([câmp];pornire;nr_caractere) – va extrage un subşir de caractere din cadrul un

şir. Se va porni de la valoarea precizată prin parametrul pornire şi se vor lua un număr

de caractere precizat prin parametrul nr_caractere. Numele câmpului din care se va

face extracţia se va scrie între paranteze pătrate.

Page 27: Suport ACCESS Cu 4 Probleme

3. Crearea formularelor în Microsoft Access

Formularele sunt folosite pentru introducerea datelor în cadrul tabelelor.

3.1. Crearea formularelor pentru o singură tabelă

Cea mai simplă modalitate de creare a formularelor este cu ajutorul asistentului (Create

form by using wizard). Crearea formularului pentru un singur tabel se realizează în patru paşi:

primul pas constă în alegerea tabelului pentru care se doreşte crearea tabelului, dar şi a

câmpurilor care se doresc introduse în cadrul formularului;

Figura 3.1. Crearea formularului pentru tabela disciplină

pasul doi în crearea formularului simplu este stabilirea modului de aranjare a câmpurilor

în cadrul ferestrei.

Figura 3.2. Alegerea modului de aranjare a câmpurilor în cadrul formularului

pasul trei în realizarea formularului este stilul de prezentare a formularului:

Page 28: Suport ACCESS Cu 4 Probleme

Figura 3.3. Stabilirea stilului de formatare a formularului

pasul patru în crearea formularului este stabilirea denumirii formularului şi este bine ca

acesta să fie cât mai sugestiv. La acest moment se poate stabili ce anume se va face cu

formularul: fie va fi deschis pentru introducerea datelor în cadrul tabelei (Open the

form to view or enter information), fie se va deschide în mod de design pentru a

modifica câmpurile sau pentru a introduce noi câmpuri (Modify the form’s design).

Figura 3.4. Denumirea formularului

3.2. Crearea formularului pentru o relaţie de tipul unu la mulţi

Pentru crearea unui astfel de formular avem nevoie de o relaţie de tip unu la mulţi între

două tabele. Realizarea unui astfel de formular se va face cu ajutorul asistentului şi se va executa

în cinci paşi:

pasul unu este selectarea tabelelor şi a câmpurilor pentru care se va crea formularul.

Deoarece se va crea un formular pentru o relaţie de unu la mulţi între tabele, se va

selecta pentru prima dată tabela părinte (cea care are mai multe înregistrări asociate din

tabela fiu), din care se vor alege câmpurile care să apară în cadrul formularului. După ce

tabela părinte a fost aleasă, se va selecta tabela fiu (cea cu care este legată), din care se

Page 29: Suport ACCESS Cu 4 Probleme

vor alege câmpurile, mai puţin cheia străină. Cheia străină a tabelei fiu nu se va alege,

deoarece aceasta a fost selectată din tabela părinte, acolo unde este cheie primară.

Figura 3.5.Alegerea tabelelor şi a câmpurilor din cele două tabele

după selectarea tabelelor şi a câmpurilor, spre deosebire de formularul realizat pe un

singur tabel, urmează selectarea modului în care se vor vizualiza datele şi cum se vor

introduce acestea în cadrul tabelei. Microsoft Access prezintă două moduri de selectare:

fie se vizualizează în partea de sus toate înregistrările din tabela părinte şi în partea de

jos înregistrările din tabela fiu (se va alege vizualizarea după tabela părinte), fie se vor

prezenta în acelaşi mod înregistrările celor două tabele (dacă se va alege vizualizarea

după tabela fiu). Deoarece regulile aplicate asupra cheii străine specifică că acestea nu

pot lua alte valori decât cele ale cheii primare aferente tabelei părinte, se va selecta

vizualizarea şi introducerea datelor după tabela părinte.

Figura 3.6. Stabilirea modului de vizualizare şi de introducere a datelor în formular

cel de-al treilea pas în realizarea formularului aplicat relaţiei de unu la mulţi este

stabilirea modului de vizualizare. Pentru oricare dintre cele patru modele, în partea de

Page 30: Suport ACCESS Cu 4 Probleme

jos a ferestrei aferente formularului se va afla tabela fiu, introducerea datelor în cadrul

acestei tabele făcându-se după ce datele au fost introduse în tabela părinte.

Figura 3.7. Stabilirea modului de aranjare a câmpurilor în formular

după aranjarea câmpurilor în cadrul formularului urmează stabilirea stilului de afişare a

acestuia, această etapă fiind prezentă şi în cadrul formularului simplu.

Figura 3.8. Alegerea stilului de prezentare a formularului

ultima etapă în realizarea formularului este denumirea acestuia. Având în vedere că

formularul a fost creat pentru două tabele, atunci se vor crea şi două formulare imbricate

între ele. Formularul principal va fi cel prin care se vor introduce datele atât în tabela

părinte, cât şi în tabela fiu, în timp ce formularul secundar va permite introducerea doar

a datelor pentru tabela fiu. Ca şi în cazul formularelor simple, acestea trebuie să aibă o

denumire cât mai sugestivă.

Page 31: Suport ACCESS Cu 4 Probleme

Figura 3.9. Denumirea formularelor

3.3. Crearea formularelor pentru relaţiile de tipul mulţi la mulţi

Crearea formularului pentru o relaţie de tipul mulţi la mulţi este asemănătoare cu cea de

creare a formularului pentru o relaţie de tipul unu la mulţi. Deosebirea între acestea este că acum

se va porni cu tabela rezultată ca urmare a relaţiei, pentru ca mai apoi să se selecteze câmpurile

tabelelor principale. Din tabelele principale se vor selecta toate câmpurile dorite, mai puţin cheile

primare, deoarece acestea vor fi preluate prin intermediul listei derulante aferente cheii primare a

relaţiei rezultate după legătură.

Figura 3.10. Alegerea tabelelor şi a câmpurilor

În ceea ce priveşte modul de introducere şi de vizualizare a datelor, se va selecta tabela

rezultată ca urmare a relaţiei, deoarece datele vor fi selectate din tabelele părinte şi introduse în

cadrul acestei tabele.

Page 32: Suport ACCESS Cu 4 Probleme

Figura 3.11. Alegerea modului de vizualizare a câmpurilor

Toate celelalte etape de creare a formularului sunt identice cu cele pentru formularele de

simple şi cele pentru relaţiile de tipul unu la mulţi.

3.4. Personalizarea formularelor

Pentru a personaliza un formular va trebui să se intre în mod design, acest lucru

realizându-se prin clic dreapta pe formular şi din meniul de context se va alege Design View sau

de pe bara de instrumente a bazei de date se va da Design ( ). Fereastra de dialog

deschisă după selectarea modului de design este formată din fereastra propriu-zisă a formularului

în mod design, bara de instrumente cu componentele formularului (butoane, casete de selecţie,

liste derulante) şi lista de câmpuri ale tabelelor pentru care s-a creat formularul.

Figura 3.12. Personalizarea unui formular

Design-ul formularului

Lista câmpurilor din cadrul formularului

Bara de instrumente a formularului

Page 33: Suport ACCESS Cu 4 Probleme

3.4.1. Introducerea şi personalizarea câmpurilor în formular

În cazul în care constatăm că mai este nevoie de un câmp pe care nu l-am adus în cadrul

formularului, atunci va fi nevoie de deschiderea formularului în mod design. După deschiderea

formularului în mod design se vor afişa proprietăţile formularului, acest lucru executându-se prin

clic dreapta pe formular şi apoi din meniul de context se va alege Properties ( ). Din

fereastra de dialog care apare se va alege din lista derulantă Form, pentru a afişa proprietăţile

formularului (pe lângă proprietăţile formularului se pot vizualiza în acest mod şi proprietăţile

celorlalte componente plasate în cadrul formularului).

Figura 3.13. Proprietăţile formularului

Din fereastra de proprietăţi a formularului se va selecta eticheta Data, de unde se va

selecta opţiunea Record Source, alegerea acesteia făcându-se prin intermediul celor trei puncte

( ) plasate în partea dreaptă a opţiunii. Acţionate aceste butoane se va deschide o nouă

fereastră din care se vor selecta câmpurile pe care dorim să le mai introducem în cadrul

formularului.

Figura 3.14. Adăugarea unui nou câmp în cadrul formularului

Adăugarea câmpului dorit se face prin tragerea acestuia din partea de sus a ferestrei, în

zona câmpurilor. O altă modalitate de a adăuga câmpul este selectarea din partea de jos a

ferestrei, din zona Field, a câmpului dorit.

După ce în fereastra SQL Statement s-au ales câmpurile care se doresc introduse, pentru

a poziţiona câmpul în formular se va selecta Field List şi se va trage pe formular câmpul nou

introdus.

Page 34: Suport ACCESS Cu 4 Probleme

Pentru a personaliza un câmp din formular se va intra în mod design a formularului şi se

va modifica doar eticheta câmpului (numele din stânga câmpului), nu şi zona de editare a

acestuia. Pentru zona de editare se poate modifica tipul de caracter, dimensiunea acestuia,

culoarea caracterului.

3.4.2. Crearea de câmpuri calculate

În cadrul unui formular se pot crea şi câmpuri care se calculează în funcţie de alte

câmpuri, iar valorile obţinute nu se vor stoca în baza de date. Pentru crearea câmpului calculat,

se va deschide formularul în Design. Din cadrul ferestrei se va selecta câmpul pe care dorim să îl

calculăm sau se va introduce un nou câmp şi se va da clic dreapta şi din meniul de context se va

alege opţiunea Properties.

Figura 3.15. Proprietăţile câmpului selectat

Din fereastra de proprietăţi a câmpului de editare se va selecta pagina Data, iar din zona

Control Source se va vor selecta cele trei puncte aflate în partea dreaptă ( ), acţiune ce va

deschide fereastra Expression Builder.

Page 35: Suport ACCESS Cu 4 Probleme

Figura 3.16. Fereastra de dialog Expression Builder

Formula de calcul se va scrie în partea de sus a ferestrei, aceasta ca şi în Microsoft Excel

va începe cu egal. Alegerea câmpurilor ce participă la realizarea formulei de calcul se va face din

partea de mijloc a ferestrei Expression Builder (nu se va alege din listă cele care au în denumire

Label) prin dublu clic stânga.

Page 36: Suport ACCESS Cu 4 Probleme

4. Înţelegerea şi crearea rapoartelor

În general, atunci când se aude cuvântul raport, oamenii se gândesc la un lucru care

adună informaţii într-o singură foaie. Spre exemplu, o bază de date poate să stocheze informaţii

detaliate despre facturile emise şi primite, despre terţii cu care firma are legătură, produsele ce au

fost trecute într-o factură. Important în crearea unui raport este ceea ce se doreşte surprins în

acesta şi nivelul informaţiilor de care este nevoie.

Rapoartele furnizează cea mai flexibilă modalitate de vizualizare şi tipărire a datelor din

cadrul bazei de date. Acestea afişează informaţiile din baza de date într-o anumită formă

detaliată sau restrânsă. Rapoartele pot conţine mai multe nivele de tip subtotal, comparaţii

statistice sau chiar imagini şi grafice.

Sub diferite puncte de vedere, rapoartele sunt asemănătoare formularelor, asta deoarece

folosesc asistenţi asemănători pentru generarea acestora, ambele pot folosi etichete, imagini sau

alte controale pentru rezolvarea unor situaţii.

În acest capitol se vor prezenta toate modurile de realizare a rapoartelor, pornind de la

crearea unui raport pentru un simplu tabel până la a prezenta raportul pentru o legătură de tip

mulţi la mulţi.

Formularele şi rapoartele au un punct comun şi anume acela de a oferi utilizatorilor un

acces mai uşor la datele din cadrul unei baze de date. Între ele există însă şi mari diferenţe, dintre

acestea cele mai importante sunt:

Formularele sunt folosite pentru introducerea datelor, în timp ce rapoartele sunt utilizate

pentru vizualizarea datelor introduse în tabele.

Formularele sunt în general afişate pe ecran , în timp ce rapoartele sunt vizualizate pe

ecran, ca mai apoi să fie tipărite.

Formularele furnizează o imagine detaliată a informaţiilor care vor urma a fi introduse în

baza de date, iar rapoartele folosesc o grupare a datelor pentru ca ulterior să fie tipărite.

Se va prezenta în continuare lucrurile pe care un raport poate să le realizeze:

Formatarea personalizată a câmpurilor – stabileşte şi poate modifica dimensiune,

culoarea şi tipul caracterelor afişate în raport făcând astfel mai uşor citirea acestora, de

asemenea permite introducerea de chenare, linii sau grafice.

Sortarea şi gruparea câmpurilor - sunt foarte utile în ceea ce priveşte gruparea şi

restrângerea informaţiilor ce vor fi afişate, spre exemplu se poate ştii de facturi au fost

plătite într-o lună şi care nu.

Page 37: Suport ACCESS Cu 4 Probleme

Combină date ce se află în alte tabele – acest lucru realizându-se prin intermediul

legăturilor dintre acestea.

4.1. Crearea rapoartelor folosind asistentul

Conţinutul unui raport Microsoft Access poate fi împărţit în general în două categorii de

informaţii: informaţii ce derivă din înregistrările din una sau mai multe tabele, şi informaţii

precum: antete şi subsoluri, texte de introducere, logo-uri, imagini sau grafice, dar şi câmpuri

calculate. Asistentul va genera un raport care conţine un anumit format, va adăuga căsuţele de

text, va asocia fiecare etichetă conform câmpului din tabel, dar el poate fi şi modificat la fel ca şi

formularul.

Cel mai uşor şi cel mai rapid mod de a crea un raport este cu ajutorul asistentului Create

report by using wizard, ce va genera un raport pentru un singur tabel sau pentru o interogare,

aranjând câmpurile în cadrul acestuia:

prima fereastră deschisă conţine tabele şi interogările după care se va genera raportul,

alegându-se tabela dorită din lista derulată. Odată ce a fost selectat tabelul se vor afişa

câmpurile prezente în structura acestuia, dintre ele selectându-se doar cele care vor fi

prezente în raport.

Figura 4.1. Alegerea tabelelor şi a câmpurilor pentru crearea raportului

fereastra a doua care apare în crearea raportului este dată de modul de vizualizare a

informaţiilor. Acest pas va apare doar dacă raportul care se va genera se va face pentru

o relaţie de unu la mulţi sau mulţi la mulţi între două sau mai multe tabele. Alegerea

modului de vizualizare se va realiza ca şi în cazul formularului: după tabela părinte în

cazul relaţiei de tipul unu la mulţi sau după tabela de legătură în cazul relaţiei de mulţi la

mulţi.

Page 38: Suport ACCESS Cu 4 Probleme

Figura 4.2. Stabilirea modului de aranjare a datelor în cadrul formularului

după selectarea modului de vizualizare a informaţiilor se va alege la pasul următor

gruparea câmpurilor după anumite caracteristici, acestea stabilindu-se de utilizator.

Pentru selectarea unui câmp după care să se realizeze gruparea informaţiilor se va face

astfel: se va selecta câmpul şi apoi cu ajutorul butonului > se va selecta gradul de grupare

a informaţiilor. Gruparea se poate face după mai multe câmpuri, însă trebuie precizat

faptul că fiecare grupare se va face pe un anumit nivel.

Figura 4.3. Gruparea datelor după anumite criterii

Dacă s-a ales un anumit criteriu de grupare a datelor, atunci se va activa butonul Grouping

Options. Cu ajutorul acestui buton se va putea stabili intervalele de grupare, spre exemplu dacă

vrem să grupăm o dată calendaristică, atunci datele pot fi organizate lunar, anual, zilnic, dacă

avem text, atunci se va putea grupa după prima sau a doua literă.

Page 39: Suport ACCESS Cu 4 Probleme

Figura 4.4. Stabilirea intervalelor de grupare a datelor

pasul următor se referă la sortarea datelor. Sortarea se poate face după mai multe

câmpuri.

Figura 4.5. Sortarea datelor din cadrul raportului

În cazul în care în există între câmpurile selectate şi un câmp numeric, atunci se va activa

butonul Summary Options. Apăsând acest buton se vor afişa lista câmpurilor numerice, fiecare

dintre acestea având asociate funcţiile: Sum (Sum) – calculează suma câmpurilor, Avg

(Average) – calculează media câmpurilor, Min (Minimum) – afişează minimul dintre câmpuri şi

Max (Maximum) - afişează maximul dintre câmpuri. Dacă nu se doreşte realizarea unui rezumat,

atunci se va lăsa opţiunea implicită Details – ce afişează datele detaliat.

Figura 4.6. Afişarea câmpurilor numerice şi a modurilor de îmbinare

Page 40: Suport ACCESS Cu 4 Probleme

următoarea fereastră prezintă modul în care vor fi afişate informaţiile. Dacă raportul se

realizează pentru un singur tabel, atunci datele pot fi structurate Tabular sau Columnar,

în caz contrar, vor fi mai multe nivele de organizare a informaţiilor. De asemenea, se va

selecta şi orientarea paginii: Portrait – modul normal de vizualizare a paginii sau

Landscape – tipul vedere. Se va lăsa opţiunea Adjust the field width bifată pentru a se

ajusta dimensiunea câmpurilor după cea a paginii.

Figura 4.7. Prezentarea modurilor de aranjare a câmpurilor în cadrul paginii

ultimul pas în crearea raportului este selectare stilului cu care va fi scris titlul raportului şi

apoi denumire acestuia. Numele care va fi dat la ultimul pas va fi şi numele raportului, de

aceea el trebuie să fie sugestiv. Tot la acest pas se va selecta acţiunea care se va face

asupra formularului: previzualizarea acestuia pentru ca ulterior să fie tipărit, sau

modificarea acestuia.

Figura 4.8. Stabilirea stilului de prezentare a câmpurilor din cadrul tabelului

Un raport, faţă de formular care are trei zone: Form Header, Form Footer şi Details,

coţine mai multe zone: Report Header – conţine numele raportului care va fi repetat pe fiecare

Page 41: Suport ACCESS Cu 4 Probleme

pagină a raportului, zona Grouping – grupează datele conform criteriului selectat, Details –

afişează datele din tabele şi Report Footer – afişează numărul de pagini.

4.2. Modificarea unui raport

Modificările care se pot realiza asupra unui formular sunt: adăugarea, ştergerea sau

repoziţionarea unor controale în cadrul paginii, dar pe lângă acestea se poate modifica

dimensiunea paginii sau a modului de sortare a câmpurilor se pot numerota paginile sau adăuga

data la care se tipăreşte raportul.

Adăugarea unui nou câmp în cadrul raportului se face prin intermediul butonului Fields

List, care conţine toate câmpurile selectate să apară în cadrul raportului. Imediat ce câmpul a fost

selectat (la fel ca şi la formular), acesta se va trage pe suprafaţa raportului şi în mod automat se

va adăuga o etichetă cu numele câmpului şi o căsuţă text care va afişa datele din tabelă aferent

câmpului respectiv.

Ştergerea unui câmp de raport se va realiza astfel: se va selecta atât căsuţa text cât şi

eticheta şi apoi se va apăsa tasta Delete. Se pot şterge şi mai multe câmpuri odată prin selectarea

acestora.

Repoziţionarea controalelor se face prin selectarea acestora şi apoi poziţionându-se pe

una dintre acestea, atunci când se va forma “mâna” se va putea deplasa controlul respectiv.

Modificarea dimensiunilor paginii pe care va fi tipărit raportul se face din meniul File,

alegându-se opţiunea Page Setup. Se poate modifica aici atât marginile paginii (dimensiunea

marginilor este în inch) , cât şi orientarea paginii care se va face din eticheta Page tab.

Inserarea numerelor de pagină şi a datei se va face din meniul Insert, opţiunea Page

Numbers. Odată selectată această opţiune va apare fereastra din care se va selecta tipul de

numărare – Page N, care afişează doar numărul de pagină care este tipărită şi Page N to M, care

tipăreşte numărul paginii din totalul de pagini – şi tot din această fereastră se va selecta şi

aranjarea în pagină a numărului de pagină, cât şi poziţionarea acesteia. Pentru inserarea datei

calendaristice, se va face tot din meniul Insert, alegându-se însă opţiunea Date and Time şi se

va bifa sau nu căsuţa de inserare a datei calendaristice în cadrul raportului.

Pentru a modifica criteriul de sortare a datelor se va selecta butonul Sorting and

Grouping ( ), ce va deschide o nouă fereastră în care sunt afişate câmpurile după care se

realizează sortarea sau gruparea. Pentru a adăuga un nou câmp după care să se realizeze sortarea

sau gruparea datelor, acesta se va selecta din lista derulantă Field / Expression.

Pentru a modifica criteriul de grupare a datelor în cadrul raportului se va selecta acelaşi

buton Sorting and Grouping ( ), ce va deschide fereastra cu acelaşi nume. Adăugarea unui

Page 42: Suport ACCESS Cu 4 Probleme

criteriu de grupare se face prin selectarea, din coloana Field / Expression, a câmpului dorit,

această selecţie realizându-se cu ajutorul listei derulante. Pentru a crea criteriul din partea de

proprietăţi a câmpului se va selecta din zona Group Header condiţia Yes, care va crea criteriul

de grupare.

Figura 4.9. Introducerea unui nou câmp de grupare

Crearea unui câmp calculat se va realiza astfel: se va selecta câmpul care va deveni câmp

calculat şi se vor afişa proprietăţile acestui control (clic dreapta pe acesta şi din meniul de

context se va selecta Properties). Din pagina Data, în zona Control Source se va scrie formula

de calcul a acestui câmp, folosindu-se funcţiile Sum, Min, Max, Avg şi Count – care numără

înregistrări sau date.

Page 43: Suport ACCESS Cu 4 Probleme

5. Crearea interogărilor

Interogările reprezintă întrebări care se aplică asupra bazei de date, oferind doar acele

rezultate care respectă condiţiile date. Pe baza interogărilor se pot genera formulare şi rapoarte.

Cu alte cuvinte, interogarea reprezintă extragerea de informaţii din cadrul bazei de date.

Microsoft Access oferă mai multe posibilităţi de interogări, dintre care:

interogare de selecţie, care permite selectarea anumitor date din cadrul bazei de date,

ţinând cont de restricţiile impuse. Interogarea de selecţie se poate aplica asupra unei

tabele sau mai multpr tabele;

interogări de acţiune creează un nou tabel în baza de date sau realizează modificări

majore ale unui tabel existent. În general, toate interogările de acţiune pot fi realizate pe

baza unei interogări de selecţie. Ele permit adăugarea, modificarea sau ştergerea de

înregistrări într-un tabel. Există patru tipuri de interogări de acţiune:

o interogări de generare a unui nou tabel (Make Table Query)din datele conţinute în

setul de rezultate al interogării;

o interogări de adăugare (Append Query) a noi înregistrări într-un tabel;

o interogări de ştergere (Delete Query) a unor înregistrări dintr-un tabel;

o interogări de actualizare (Update Query) a unor înregistrări dintr-un tabel, conform

cu o condiţie ce trebuie îndeplinită.

Acţiunile acestora sunt ireversibile asupra datelor din tabelele sursă, iar în cazul ultimelor

trei dintre ele, trebuie urmărită păstrarea integrităţii referenţiale atunci când prin intermediul lor

se acţionează asupra mai multor tabele legate.

interogări încrucişate centralizează în formatul unei foi de calcul tabelar datele din unul

sau mai multe tabele. Datele rezultate după execuţia unei astfel de interogări sunt

prezentate într-un format potrivit pentru analiza datelor şi crearea de grafice. Este

echivalentă cu tabelele de tip Pivot din cadrul aplicaţiei Microsoft Excel.

Access oferă trei posibilităţi pentru definirea interogării şi afişarea rezultatelor acesteia:

Create query in Design View - fereastră sub forma unei grile de interogare, în care se

defineşte interogarea.

Create query by using wizard – interogarea se poate crea folosind asistentul;

cu ajutorul butonului New de pe bara de instrumente, atunci când obiectul ales este Query

( ), deschizându-se fereastra New Query.

Page 44: Suport ACCESS Cu 4 Probleme

Figura 5.1. Butonul New pentru crearea unei interogări

Vizualizarea rezultatelor unei interogări se realizează în doi paşi:

se va salva mai întâi interogarea;

se va lansa în execuţie, prin apăsarea butonului Run ( ) de pe bara de instrumente

standard sau din meniul Query, opţiunea Run.

5.1. Crearea interogărilor de selecţie

Pentru crearea interogărilor de selecţie vom folosi crearea interogării în mod design.

Odată aleasă această opţiune, se va deschide fereastra Select Query, care este împărţită în două

părţi:

partea de sus a ferestrei se vor prezenta tabelele care vor participa în realizarea

interogării. Adăugarea unei tabele în interogare se va face prin apăsarea click-ului dreapta

a mouse-ului şi alegerea din meniul de context a opţiunii Show Table.

Figura 5.2. Crearea unei noi interogări folosind Design View

După selectarea tabelei sau tabelelor vizate, se vor selecta apoi câmpurile pentru care

dorim afişarea rezultatelor interogării. Selectarea acestora se va face din cadrul tabelei şi apoi

trase în a doua jumătate a ferestrei, prin click stânga.

Page 45: Suport ACCESS Cu 4 Probleme

partea a doua a ferestrei Select Query este destinată câmpurilor care vor fi afişate în

cadrul interogării şi a celor care vor fi folosite în impunerea condiţiilor.

Figura 5.3. Aplicarea unei interogări pe două tabele

După cum se poate observa în figura 5.3. s-au selectat două tabele pentru care se vor afişa

câmpurile din tabela student şi doar denumirea specializării, deoarece câmpul cod_specializare a

fost deselectat. Cea de-a doua jumătate este formată din:

Field – se plasează câmpurile folosite în interogare: poate fi un câmp dintr-un tabel sau

un câmp calculat. În cazul unui câmp nou calculat se va folosi următoarea formă:

numecâmpnou : expresie, unde: numecâmpnou- va fi numele câmpului nou creat prin

diferite calcule, iar expresie- va fi formată din câmpuri din tabele, operatori, funcţii

predefinite, numere, care vor contribui la determinarea valorilor aferente câmpului nou.

Între cele două componente se va plasa semnul „:”.

Table -numele tabelului de unde extragem câmpul. Această linie este foarte folositoare,

mai ales în cazul în care avem de făcut o interogare bazată pe mai multe tabele.

Sort -ajută la ordonarea rezultatelor într-o anumită ordine.

Show - dacă nu este marcat, atunci respectivul câmp nu va apărea în rezultatul final al

interogării. Nu este marcat în cazul în care dorim să folosim acest câmp în interogare, dar

nu dorim să-l afişăm.

Criteria -specifică un criteriu de căutare. Un criteriu de căutare este o condiţie pe care o

înregistrare trebuie să o îndeplinească pentru a apărea ca un rezultat a unei interogări.

Acest criteriu poate fi compus dintr-una sau mai multe condiţii cu ajutorul operatorilor

AND şi OR (este folosită pentru condiţiile multiple).

EXEMPLE PENTRU REALIZAREA INTEROGĂRILOR DE SELECŢIE

Between val1 and val2 – va afişa doar valorile din intervalul dat;

IS NULL – va afişa doar acele înregistrări care nu au completate câmpul specificat;

Datele calendaristice se vor scrie între diez (#);

Page 46: Suport ACCESS Cu 4 Probleme

DATE()- returnează data curentă;

NOW() - returnează data şi timpul curent;

YEAR([camp_data])- returnează anul expresiei din paranteze;

MONTH([camp_data])- returnează luna parametrului;

*eva – va căuta toate cuvintele care se sfârşesc în eva;

[Mesaj] – va permite introducerea valorilor de la tastatură, acestea fiind folosite în

găsirea datelor în tabele;

NOT BETWEEN val1 AND val2 – se vor afişa valorile care nu sunt cuprinse între val1

şi val2;

<> - diferit de;

NOT – se vor afişa valorile care nu respectă condiţia dată;

IN(„val1”; „val2”; „val3”; „val4”) – se vor selecta doar valorile precizate între

parametrii clauzei IN;

„[abc]*” - încep cu una din literele a,b sau c.

Exemplu de câmp calculat:

Zile: Date()-[data_inmatriculare] – va crea un nou câmp care se va numi zile şi va afişa

numărul de zile care au trecut de la data înmatriculării până la data curentă.

5.2. Crearea interogărilor de acţiune

Interogările de acţiune sunt interogări care ne permit efectuăm modificări în una sau mai

multe celule ale unui tabel dintr-o singură operaţie. Cu acest tip de interogări putem crea un nou

tabel, incluzând în acesta înregistrări din alt tabel, putem schimba anumite date stocate, putem

introduce noi înregistrări, sau şterge altele vechi dintr-un anumit tabel.

5.2.1. Crearea interogărilor de creare a tabelelor

O interogare Make Table creează noi tabele cu înregistrări stocate din unul sau mai multe

tabele. Acest tip de interogare este folosită în special pentru a crea tabele de lucru. Pentru a crea

o interogare Make Table trebuie să realizăm următorii paşi:

se deschide o nouă interogare în modul design;

se adaugă una sau mai multe tabele de unde vrem să extragem datele;

se defineşte interogarea în acelaşi mod ca şi pe cele normale, astfel încât să fie selectate

numai acele înregistrări care se doresc a fi salvate;

Page 47: Suport ACCESS Cu 4 Probleme

din meniului Query se va selecta opţiunea Make Table Query...( ), care va deschide o

nouă fereastră de dialog în care se va specifica numele nou al tabelei şi locul unde se va

crea tabela: fie în baza de dată curentă, fie în cadrul altei baze de date.

Figura 5.4. Realizarea unei interogări de tip creare tabel

După ce s-a salvat şi executat interogarea, se va crea o nouă tabelă cu numele precizat în

fereastra de dialog Make Table, tabelă care poate fi observată în cadrul obiectului Table. În

cadrul noii tabele vor fi transferate şi datele care există în tabela sau tabelele care au fost folosite

în cadrul acestei interogări. Se pot impune, de asemenea în fereastra interogării şi condiţii care

vor filtra datele care vor fi transferate în cadrul noii tabele.

5.2.2. Crearea interogărilor de modificare

Interogările de actualizare permit actualizarea datele stocate în cadrul unui tabel. Într-o

singură operaţie toate înregistrările pot fi modificate în acelaşi timp sau numai acelea care

îndeplinesc o anumită condiţie. Pentru a crea o astfel de interogare, trebuie să parcurgem

următorii paşi:

se va deschide o nouă interogare în modul design;

se vor adăuga tabelul sau tabelele în care dorim să modificăm datele;

se va selecta din meniul Query opţiunea Update query ( ).

Figura 5.5. Realizarea unei interogări de tip modificare

Page 48: Suport ACCESS Cu 4 Probleme

În zona Update To se vor scrie modificările pe care dorim să le realizăm, în timp ce în Criteria

se vor stabili criteriile după care se vor realiza modificările. Dacă nu este precizat nici un criteriu

de modificare, atunci se vor modifica toate înregistrările aferente câmpului. În cazul în care

există câmpuri care se doresc modificate în funcţie de o anumită formulă, atunci în zona Update

to se va scrie formula de calcul, precizând câmpurile care sunt folosite între paranteze pătrate.

Odată modificate, valorile câmpurilor nu mai pot fi readuse la valorile iniţiale.

5.2.3. Crearea interogărilor de ştergere

Interogările de ştergere fac posibilă ştergerea anumitor înregistrări dintr-un anumit tabel

în funcţie de o anumită condiţie dată. Pentru a se realiza această interogare se vor urmării paşii:

se va deschide o nouă interogare în modul design;

se va adăuga tabelul sau de unde dorim să ştergem datele;

se va selecta din meniul Query opţiunea Delete query ( ).

Figura 5.6. Realizarea unei interogări de tip ştergere

În zona Criteria se vor trece criteriile după care se vor şterge înregistrările. Dacă în Criteria nu

se va trece nimic, atunci se vor şterge toate înregistrările tabelului. În exemplul prezentat în

figura 5.6. se vor şterge toate înregistrările a cărui cod disciplină are valoarea 4 sau cele care au

în denumirea disciplinei grupul de litere ze.

Dacă se doreşte ştergerea unei înregistrări din cadrul unui tabel în funcţie de condiţii

aplicate pe o altă tabelă, atunci se va specifica în zona Field tabela de unde se va şterge, caz în

care va apare la Delete în loc de clauza Where opţiunea From.

Figura 5.7. Realizarea unei interogări de tip ştergere pentru o înregistrare

dintr-un alt tabel faţă de cel în care se pune condiţia

Page 49: Suport ACCESS Cu 4 Probleme

În exemplul prezentat în figura 5.7. se vor şterge toate înregistrările din tabela student acolo unde

denumirea disciplinei este cea care s-a introdus de la tastatură.

5.2.4. Crearea interogărilor de adăugare

Interogarea de adăugare se face prin adăugarea înregistrărilor, care respectă condiţiile

date, dintr-un tabel în cadrul altui tabel. Pentru început va trebui să existe tabelul în care se vor

duce datele selectate. În concluzie, interogarea de adăugare presupune două tabele, o tabelă sursă

(cea de unde vor fi selectate datele) şi o tabelă destinaţie (cea unde se vor adăuga datele). Crearea

unei astfel de interogări se va face astfel:

se va deschide o nouă interogare în modul design;

se va adăuga tabelul de unde dorim să ştergem datele;

se va selecta din meniul Query opţiunea Append query ( ).

Figura 5.8. Realizarea unei interogări de tip adăugare

În figura 5.8. se prezintă o interogare de tip adăugare, prin care se vor copia în tabela

student fără cnp, toţii studenţii a căror coloană CNP nu este completată. În urma selecţiei tabelei

unde se vor copia datele, se va deschide fereastra de Append Query, prin care se vor specifica

câmpurile unde vor fi duse valorile din tabela sursă (în cazul prezentat este tabela student) în

tabela destinaţie (în cazul prezentat este tabela student fara cnp). Deoarece în interogare nu s-a

selectat şi câmpul CNP din tabela sursă, acesta nu va fi copia în tabela destinaţie.

Figura 5.9. Adăugarea înregistrărilor care nu au completat cnp-ul în tabela student

Page 50: Suport ACCESS Cu 4 Probleme

După ce interogarea a fost salvată, se va lansa în execuţie interogarea prin intermediul

opţiunii Run, în urma căreia se vor copia înregistrările care respectă interogarea în tabela

destinaţie.

5.3. Crearea interogărilor încrucişate

Interogarea încrucişată (crosstab) este folosită în cazul în care vrem să reprezentăm o

interogare de tip agregat cu două coloane de grupare, rezultatul fiind prezentat la intersecţia celor

două dimensiuni. Spre exemplu, s-ar dori să se ştie numărul de examene care au fost date de

către un student într-o zi.

Pentru crearea acestui tip de interogare se poate face folosind asistentul sau se va folosi

opţiunea Crosstab Query din meniul Query. Se va prezenta pentru început crearea interogării

de încrucişare folosind asistentul.

Afişarea asistentului se va face prin acţionarea butonului New ( ) de pe bara de

instrumente a obiectului Query ( ), de unde se va selecta Crosstab Quey Wizard.

Realizarea acestei interogări se va face în şase paşi:

se va selecta tabela de unde se vor prelua datele folosite în analiza cerută. Dacă se doreşte

includerea mai multor tabele în cadrul acestei interogări de tip încrucişare, se va crea mai

întâi o interogare în care se vor prelua toate câmpurile din tabelele respective şi apoi pe

baza acestei interogări se va realiza interogarea de încrucişare.

Figura 5.10. Alegerea tabelei sau interogării folosite pentru interogarea de încrucişare

se va selecta coloana tabelei care va apare pe rândul rezultatului. Pentru exemplul sugerat

la începutul secţiunii se va alege matricola (fiind cheia primară a tabelei student).

Page 51: Suport ACCESS Cu 4 Probleme

Figura 5.11. Selectarea liniei din interogarea de încrucişare

la pasul următor se va selecta coloana care va apare în cadrul interogării, iar pentru

exemplul dat se va selecta coloana dată.

Figura 5.12. Selectarea coloanei din interogarea de încrucişare

în cazul în care unul din câmpurile selectate ce vor fi folosite pentru reprezentarea

interogării de încrucişare este o dată calendaristică, atunci se va introduce un nou pas în

care se va alege modul de reprezentare a datei: zilnic, lunar, semestrial sau anual.

Page 52: Suport ACCESS Cu 4 Probleme

Figura 5.13. Selectarea tipului de reprezentare a datei

pasul cinci în generarea interogării de încrucişare este stabilirea valorii care va apare la

intersecţia celor dimensiuni. Pentru valoarea selectată se pot stabili diferite funcţii: medie

aritmetică (Avg), numărarea înregistrărilor (Count), prima înregistrare (First), minimul

sau maximul (Min sau Max) etc.

Figura 5.14. Selectarea valorilor din interogarea de încrucişare

Ultimul pas înainte de vizualizarea rezultatului este denumirea acestuia şi stabilirea modului de

deschidere a interogării. Dacă se va selecta Preview query, atunci va apare o fereastră de forma

următoare în care va prezenta la intersecţia dintre linii şi coloane valoarea acesteia.

Figura 5.15. Vizualizarea rezultatului interogării de încrucişare

Page 53: Suport ACCESS Cu 4 Probleme

În cazul în care crearea interogării de tip încrucişare se doreşte realizată folosind modul

de design, atunci se vor urma paşii:

se va deschide interogarea în modul design;

se vor selecta tabela sau interogarea (dacă dorim să folosind câmpuri din mai multe

tabele) care va fi folosită în crearea interogării de încrucişare;

se vor selecta câmpurile care vor apare în cadrul interogării;

se va selecta din meniul Query opţiunea Crosstab Query;

se va preciza în linia Crosstab modul în care vor fi aranjate câmpurile: linii (Row

Heading), coloane (Column Heading) sau valori (Value);

câmpul care va fi folosit pentru afişarea valorii dintre coloane şi linii va avea completat în

linia Total ce anume va prezenta în cadrul acesteia (sume, medii, valori maxime sau

minime, număr de apariţii etc.).

Figura 5.16. Crearea unei interogări de încrucişare în mod design

În exemplul prezentat în figura de mai sus se va prezenta numărul de prezenţe la

examenul dat la o anumită disciplină (numărul de examene pentru o disciplină).

Page 54: Suport ACCESS Cu 4 Probleme

6. Probleme propuse spre rezolvare

Problema 1. Fie o societate comercială care vinde produse clienţilor pe bază de factură. Se

doreşte urmărirea produselor şi facturilor emise clienţilor. Produsele aparţin unei categorii de

produse. Tabelele şi câmpurile tabelelor sunt următoarele:

Factura(serie_nr_factura, data_factura)

Client(cod_client, nume_client, prenume_client, tip_client,adresa,telefon)

Categorie_produse(cod_categorie, denumire_categorie)

Produs(cod_produs, denumire_produs, pret, um, cod_categorie)

Achizitie(cod_produs, cod_client, serie_nr_factura, cantitate, valoare_linie)

1. Să se identifice cheile primare ale tabelelor şi relaţiile între acestea;

2. Să se seteze următoarele câmpuri astfel:

a. serie_nr_factura să fie text de dimensiune 6;

b. cod_client să fie text de dimensiune 4;

c. data_factura să fie dată calendaristică format scurt;

d. numele şi prenumele clientului să fie text de dimensiune 25;

e. tip client să permită introducerea doar a 2 valori (boolean);

f. adresa să fie text de dimensiune 30;

g. telefon să fie text de dimensiune 14;

h. denumire categorie să fie text de dimensiune 20;

i. preţ să fie de tip monedă (lei sau euro);

j. um să fie text de dimensiune 15;

k. cantitate să fie număr cu 1 zecimală;

l. serie_nr_factura - să fie de forma: GL urmat de obligatoriu de o literă şi apoi

obligatoriu 2 cifre şi una opţională;

m. data facturii să fie data curentă;

n. adresa să fie scrisă de forma: Str.Brailei, nr.4 – să fie scris Str. şi nu strada, după

aceasta să fie scrisă cu majusculă numele străzii care va fi formată din 10 litere

opţionale, va urma apoi nr. şi 2 cifre obligatorii;

o. telefonul să fie de forma: (0236) 345-123, adică: vor trebui să existe parantezele, cifrele

dintre acestea vor fi opţionale, urmează spaţiu după paranteze şi apoi 3 cifre

obligatoriu, cratimă şi apoi alte 3 cifre obligatorii;

Page 55: Suport ACCESS Cu 4 Probleme

p. denumirea categoriei să fie scrisă cu majuscule;

q. denumirea produsului să înceapă cu majusculă;

r. preţul produselor să fie cuprinse între 0,5 şi 500;

s. unitatea de măsură să nu permită introducerea decât a valorilor: tona, litru, metru,

kilogram, bucata;

t. să se verifice la introducere dacă codul clientului începe cu C sau D, altfel să se afişeze

mesaj de eroare de genul: Codul clientului trebuie să înceapă cu C sau D.

3. Să se realizeze formulare de introducere a datelor şi introduceţi în fiecare tabelă câte 5

înregistrări:

a. facturilor;

b. clienţilor;

c. produselor

d. produselor pe categorii de produse;

e. produselor achiziţionate de clienţi şi pentru care primesc factură.

4. Să se calculeze câmpul valoare linie pentru fiecare produs în parte astfel: cantitate*pret*1,24.

5. Să se realizeze următoarele interogări:

a. să se afişeze toţi clienţii care nu au completat numărul de telefon;

b. să se vizualizeze totalul pe facturi;

c. să se vizualizeze toate produsele pe categorii de produse, acestea fiind aranjate în

ordine ascendentă;

d. să vizualizeze doar produsele care au unitatea de măsură bucăţi, metrii şi litri;

e. să se afişeze toate facturile care conţin produse ce au preţurile mai mari de 10 lei;

f. să se afişeze facturile emise clienţilor, aceştia fiind introduşi de la tastatură;

g. să se afişeze produsele cumpărate între 1.01.2011 şi 1.11.2011;

h. să se afişeze toate facturile care au numărul de zile care a trecut între data curentă şi

data emiterii mai mare de 30 de zile;

i. să se afişeze toţi clienţii care au cumpărat în anul 2010;

j. să se afişeze toate produsele care au fost achiziţionate în data de 13 a fiecărei luni;

k. să se modifice preţul produselor care au unitatea de măsură bucăţi, valoarea cu care se

va modifica va fi 11;

l. să se creeze o nouă tabelă numită clienţi fără telefon în care vor fi duşi toţi clienţii care

nu au completat câmpul telefon;

m. să se şteargă toate facturile emise înainte de data curentă;

n. să se adauge în tabela X (care se va crea) toate produsele cu preţurile cuprinse între 15

şi 35;

Page 56: Suport ACCESS Cu 4 Probleme

o. să se vizualizeze numărul de produse cumpărate de clienţi pentru fiecare factură în

parte;

6. Să se realizeze rapoarte pentru:

a. a vizualiza facturile, grupându-le după data emiterii în ordine descendentă;

b. a vizualiza clienţii în funcţie de tipul de client;

c. să se vizualizeze pe produsele pe fiecare factură şi suma totală a acesteia;

d. să se vizualizeze toţi clienţii care nu au completat numărul de telefon;

e. să se afişeze toate produsele, grupându-le pe unităţi de măsură şi afişaţi pentru fiecare

dintre grupuri preţul cel mai mare;

f. să se vadă toate produsele cumpărate de clienţi şi să se calculeze suma cantităţilor

vândute;

g. să se vizualizeze facturile emise clienţilor, grupând datele după codul clientului şi

pentru fiecare grup să se calculeze suma totală;

h. să se vizualizeze datele la care au cumpărat clienţii, grupând datele după dată în funcţie

de luna calendaristică;

i. să se vizualizeze produsele pe categorii de produse;

j. să se creeze un raport în care să se vizualizeze grupat după cantitate şi apoi după data

facturii toate datele din cadrul tabelei achiziţie.

7. Să se calculeze în cadrul unui raport valoarea de pe fiecare linie pentru facturile existente în

baza de date. Formula de calcul va fi: cantitate*pret*1,24.

Page 57: Suport ACCESS Cu 4 Probleme

Problema 2. Fie facultatea de economie care doreşte să realizeze o evidenţă a examenelor

susţinute de studenţii săi. Fiecare dintre studenţi urmează o singură specializare, iar examenul

este dat la o anumită dată, oră şi sală. Tabelele şi câmpurile tabelelor sunt următoarele:

Sală(nr_sala, capacitate)

Profesor(marca, nume_profesor, prenume_profesor)

Specializare(cod_specializare, denumire_specializare)

Student(nr_matricol, nume_student, prenume_student, cnp, forma_invatamant, medie_admitere,

an_admitere, cod_specializare)

Disciplina(cod_disciplina, denumire_disciplina)

Examen(marca, matricola, nr_sala, cod_disciplina, data, ora, nota)

1. Să se identifice cheile primare ale tabelelor şi relaţiile între acestea;

2. Să se seteze următoarele câmpuri astfel:

a. câmpul capacitate să fie număr de format scurt fără semn;

b. capacitate să permită introducerea valorilor diferite de 10;

c. nr_sala în tabela sală să fie de forma I urmat de 2 cifre obligatorii;

d. marca în tabela profesor să fie text de dimensiune 3;

e. marca să permită introducerea doar a literelor, primele 2 să fie obligatorii, iar cea de-a

treia să fie opţională;

f. nume_profesor şi prenume profesor să fie de tip text, dimensiune 25;

g. numele şi prenumele profesorului să fie scris cu majuscule;

h. cod_specializare să fie text de dimensiune 3;

i. denumire_specializare să nu permită introducerea decât a următoarelor valori: Finanţe,

Contabilitate, Marketing, Management;

j. nr_matricol în tabela student să fie de tip numerotare automată;

k. nume_student şi prenume_student să fie text de dimensiune 20;

l. numele_student să aibă prima literă majusculă;

m. cnp să fie text de dimensiune 13 şi să permită introducerea obligatorie a cifrelor;

n. prima cifră a cnp-ului să fie 1 sau 2;

o. forma_invatamant să fie de tip boolean (să permită introducerea doar a două valori);

p. medie_admitere să fie număr cu 2 zecimale;

q. media de admitere să nu accepte decât valori cuprinse între 7 şi 10;

r. an_admitere să fie dată calendaristică, format scurt;

s. cod_disciplină din tabela disciplină să fie text de dimensiune 6;

Page 58: Suport ACCESS Cu 4 Probleme

t. cod_disciplină din tabela disciplină să aibă forma: UGAL urmat de 2 opţionale;

u. denumire_disciplină să fie text de dimensiune 30;

v. cod_disciplina, marca, nr_matricola, nr_sala din tabela examen să fie setate cu ajutorul

asistentului;

w. data din tabela examen să fie dată calendaristică, format scurt;

x. ora să fie de tip oră, format scurt;

y. data să aibă ca şi valoare predefinită data curentă;

z. nota să fie număr scurt fără semn;

3. Să se realizeze formulare de introducere a datelor şi introduceţi în fiecare tabelă câte 5

înregistrări:

a. sălilor;

b. profesorilor;

c. disciplinelor;

d. studenţilor;

e. studenţilor pe specializări;

f. examenelor.

4. Să se introducă în cadrul formularului aferent examenului un câmp care se va numi Procent

nota şi se va calcula astfel: 1+nota*0,5.

5. Să se realizeze următoarele interogări:

a. să se afişeze toţi studenţii care nu au completată specializarea;

b. să se afişeze toţi profesorii a căror nume se termină în cu;

c. să se afişeze toţi studenţii care au o medie de admitere cuprinsă între 9 şi 10;

d. să afişeze toţi studenţii de la o specializare care să fie introdusă de la tastatură;

e. să se afişeze toţi profesorii care predau la specializarea Finanţe;

f. să se afişeze toate disciplinele care au fost studiate de studenţi în anul 2011;

g. să se vizualizeze toţi studenţii care au luat note mai mici de 6 la disciplina Matematică;

h. să se vizualizeze toţi profesorii şi disciplinele predate;

i. să se vizualizeze sălile cu o capacitate mai mică de 30;

j. să se vizualizeze toţi studenţii care nu au completat cnp-ul şi specializarea;

k. să se vizualizeze toate disciplinele predate la specializarea Management, afişându-le

doar cele pentru care nu s-a obţinut notă de trecere;

l. să se vizualizeze sălile în care s-au dat examene la specializarea Marketing;

m. să se vizualizeze toţi stundeţii a căror prenume se finalizează cu a sau c;

n. să se modifice pentru toţi studenţii care nu au cnp-ul completat valoarea 12;

o. să se şteargă toate examenele care s-au susţinut între datele de 1.01.2010 şi 1.01.2011;

Page 59: Suport ACCESS Cu 4 Probleme

p. să se creeze o nouă tabelă pe care o denumiţi student_specialiazare, în care veţi aduce

toţi studenţii de la specializarea Management care au dat examen înainte de data

curentă şi au luate note mai mici de 6. Noua tabelă va avea ca şi câmpuri doar nume şi

prenumele studentului şi denumirea disciplinei.

q. să se adauge în cadrul tabelei X toţi studenţii care au facut cu profesorul Popescu şi au

facut disciplina de Baze de date;

r. să se afişeze numărul de studenţi care au restanţe la diferite discipline susţinute de

profesori;

6. Să se realizeze rapoarte pentru:

a. a vizualiza studenţii pe specializări;

b. a vizualiza disciplinele predate de profesori;

c. a vedea numărul de restanţe pentru fiecare dintre studenţi;

d. a vedea profesorii grupaţi după prima literă a prenumele şi aranjaţi alfabetic după

numele lor;

e. a observa notele obţinute de studenţi la disciplinele examinate, datele fiind grupate

săptămânal şi în funcţie de ora la care s-au dat examenele;

f. a vizualiza notele cele mai mari pe care le-au acordat profesorii studenţilor de la

specializările la care a predat;

g. să vizualizeze sălile în care s-au dat lunar examene;

h. să se vizualizeze toţi studenţii care nu au cmp-ul şi specializarea completată;

i. să se vizualizeze toţi profesorii care predau la diferite specializări, grupând datele după

denumirea specializării;

j. să se vizualizeze toate disciplinele la care s-au dat examene, evidenţiind notele

obţinute, grupând datele după note.

7. În raportul în care se vizualizează examenele, să se introducă un câmp nou numit Nota

parţială, care să se calculeze ca produs între nota obţinută la examen şi 5 şi împărţită la 60.

Page 60: Suport ACCESS Cu 4 Probleme

Problema 3. Fie o societate de transport persoane care doreşte o evidenţă a călătorilor săi, dar şi

rutele pe care aceştia merg. Societatea deţine mijloace de transport care sunt conduse de diferiţi

şoferi, dar aceştia conduc un singur mijloc. Tabelele şi câmpurile tabelelor sunt următoarele:

Mijloc_transport(serie_motor, capacitate, culoare, marca_masina)

Sofer(cod_sofer, nume_sofer, prenume_sofer, varsta, sex, serie_motor)

Calator(cod_calator, nume_calator, prenume_calator)

Ruta(cod_ruta, localitate_pornire, localitate_sosire, distanta)

Bilet(cod_ruta, serie_motor, cod_calator, pret, data_bilet, ora_plecare)

1. Să se identifice cheile primare ale tabelelor şi relaţiile între acestea;

2. Să se seteze următoarele câmpuri astfel:

a. câmpul serie_motor în tabela mijloc_transport să fie de tip text de dimensiune 5;

b. câmpul serie_motor în tabela mijloc_transport să fie de forma: S şi 4 cifre obligatorii;

c. câmpul capacitate să permită introducerea doar a numerelor întregi fără semn;

d. culoare să fie de tip text de dimensiune 20;

e. câmpul culoare să nu permită decât introducerea valorilor: alb, roşu, verde şi albastru;

f. cod_sofer din tabela sofer să fie de tip text de dimensiune 4;

g. cod_sofer din tabela sofer să fie de forma: F urmat de 3 cifre opţionale;

h. nume_sofer şi prenume_sofer să fie de tip text de dimensiune 25;

i. prenume_sofer să aibă prima literă majusculă;

j. varsta să fie intreg format scurt;

k. sex să fie de tip boolean (doua valori de adevar);

l. distanta să fie număr întreg format scurt;

m. pret să fie de tip monedă euro cu 2 zecimale;

n. data_bilet să fie dată calendaristică format scurt;

o. ora_plecare să fie de tip oră, format scurt;

p. data biletului să fie diferită de data curentă şi să se afişeze mesaj de eroare care

avertizează eroarea;

q. numele_clientului să fie scris cu majuscule;

r. preţul biletului să fie cuprins între 4 şi 10;

s. cea de-a doua literă a mărcii maşinii să fie e sau o;

t. câmpurile cheie primară în tabela bilet să fie setate cu ajutorul asistentului;

3. Să se realizeze formulare de introducere a datelor şi introduceţi în fiecare tabelă câte 5

înregistrări pentru:

Page 61: Suport ACCESS Cu 4 Probleme

a. mijloace de transport;

b. şoferi;

c. mijloacele de transport conduse de şoferi;

d. rute;

e. călători;

f. bilete.

4. În formularul de introducere a biletelor să se introducă un nou câmp care să se calculeze ca

produs între preţul biletului şi 4,5;

5. Să se realizeze interogări pentru vizualizarea:

a. tuturor rutelor care au distanta mai mare 100 de kilometrii şi un preţ mai mic de 6;

b. clienţilor care merg pe ruta Bucureşti – Focşani;

c. şoferilor care au condus maşina cu o serie introdusă de la tastatură;

d. localităţilor de plecare şi de sosire pentru toate rutele care au o distanţă cuprinsă între 80

şi 200 de kilometrii;

e. clienţilor care au circulat acum 5 zile pe ruta Galaţi-Bucureşti;

f. şoferilor care au condus pe o distanţă mai mare de 1000;

g. şoferilor şi mijloacelor de transport pe care le conduc;

h. clienţilor care au plecat înainte de ora 12;

i. maşinile cu care au circulat clienţii;

j. clienţii care au mers cu un şofer de sex feminin;

k. localităţile de plecare şi sosire ale şoferilor de sex feminin;

l. maşinile care au marca Ford şi au parcurs o distanţă mai mare de 100 de kilometrii;

m. biletele emise între 1.01.2010 şi 1.01.2011;

n. să se modifice capacitatea maşinii pentru toate cele care au marca Mercedes în 25;

o. să se adauge într-o nouă tabelă toţi clienţii care au prenumele Ion şi care au circulat pe

ruta Galaţi-Focşani. Noua tabelă să aibă ca şi câmpuri numele şi prenumele clientului şi

marca maşinii cu care acesta a circulat;

p. să se şteagă toate înregistrările pentru care preţul biletului este mai mare de 10;

q. să se ducă în tabela Y toţi şoferii care au o vârstă mai mare de 65;

r. să se vizualizeze numărul de clienţi care au circulat pe toate rutele şi cu mijloacele

disponibile;

6. Să se realizeze raporturi care să vizualizeze:

a. clienţii care au circulat cu firma respectivă, aranjându-i alfabetic;

b. şoferii încadraţi la unitate, grupându-i după vârstă;

Page 62: Suport ACCESS Cu 4 Probleme

c. mijloacele de transport existente în evidenţa firmei, grupând după marca maşinii şi

afişând pentru fiecare grup capacitatea cea mai mare;

d. mijloacele de transport conduse de şoferi, grupând după seria maşinii;

e. biletele emise de firmă, grupând datele în funcţie de localitatea de plecare, localitatea de

sosire şi afişând pentru primul grup media preţurilor;

f. şoferii care au condus o distanţă mai mare de 1000 de kilometrii;

g. clienţii şi şoferii care au mers pe rutele existente, grupând datele în funcţie de numele şi

prenumele şoferului şi calculând o medie a distanţelor;

h. numele şi prenumele călătorilor, împreună cu preţul pe care l-a plătit pentru fiecare bilet

cunpărat;

i. localitatea de plecare şi de sosire, prezentând maşinile care circulă pe această rută;

j. clienţii şi localităţile de plecare ale acestora.

7. Pentru raportul cu vânzările de bilete să se calculeze un câmp nou denumit Raport preţ-

distanţă care se va calcula ca raport între preţul biletului şi distanţa rutei.

Page 63: Suport ACCESS Cu 4 Probleme

Problema 4. Fie o societate care desfăşoară diferite proiecte. La proiecte lucrează mai mulţi

angajaţi care au diferite calificări. Fiecare proiect este format din mai multe sarcini, care sunt

executate de mai mulţi angajaţi. Se doreşte cunoaşterea sarcinilor pentru fiecare proiect în parte

şi îndeplinite de angajaţii firmei. Tabelele şi câmpurile tabelelor sunt următoarele:

Calificare(cod_calificare, denumire_calificare)

Angajat(marca, nume_salariat, prenume_salariat, cnp, serie_nr_buletin, sex, cod_calificare)

Sarcina(cod_sarcina, denumire_sarcina)

Angajare_proiect(cod_sarcina, cod_proiect, marca, data_inceput, data_sfarsit, cost)

Proiect(cod_proiect, denumire_proiect, persoana_contact)

1. Să se identifice cheile primare ale tabelelor şi relaţiile între acestea;

2. Să se seteze următoarele câmpuri astfel:

a. cod_calificare din tabela calificare să fie text de dimensiune 4;

b. cod_calificare să înceapă cu litera C sau D urmat de 2 cifre obligatorii;

c. denumire_calificare să fie text de lungime 20;

d. marca angajatului să fie text de dimensiune 4;

e. primele două caractere a mărcii angajatului să fie litere obligatorii, iar celelate două

caractere să fie cifre opţionale;

f. numele şi prenumele salariatului să fie de tip text de dimensiune 25;

g. numele angajatului să fie scris cu majuscule;

h. prenumele angajatului să aibă scris cu majuscule literele 4 şi 5;

i. cnp să fie text de dimensiune 13;

j. cnp-ul să permită introducerea obligatorie a 13 cifre;

k. cifrele 2 şi 3 a cnp-ului să fie 50 sau 49;

l. serie_nr_buletin să fie text de dimensiune 9;

m. sex să permită introducerea doar a două valori (boolean);

n. cod_sarcina să fie numerotată automat;

o. denumire_sarcina să fie text de dimensiune 30;

p. cod_sarcina, cod_proiect şi marca din tabela Angajare proiect să fie realizate cu

asistentul;

q. data_inceput să fie dată calendaristică, format scurt;

r. data_inceput să fie diferită de ziua curentă;

s. data_sfarsit să fie dată calendaristică, format scurt şi să fie data curentă;

t. cost să fie monedă cu 2 zecimale;

Page 64: Suport ACCESS Cu 4 Probleme

u. cod_proiect să fie număr întreg format lung;

v. denumire_proiect să fie de tip memo;

w. persoana_contact să fie de tip text, dimensiune 50;

3. Să se realizeze formulare pentru a introduce datelor:

a. calificare;

b. angajat;

c. angajaţii şi calificările pe care aceştia le au;

d. sarcini;

e. proiectele care s-au contractat;

f. proiectele, sarcini şi angajaţii care participă la proiectele care urmează să se realizeze.

4. În formularul în care se introduc proiectele angajate, să se creeze un nou câmp care să se

numească TVA şi care să se calculeze ca raport între câmpul cost şi 1,24.

5. Să se realize interogările următoare pentru a vizualiza:

a. să se afişeze toţi angajaţii care nu au cnp-ul completat;

b. să se afişeze toate sarcinile care au data de început altă dată decât cea curentă;

c. să se afişeze toţi angajaţii care muncesc la proiectele care au data de finalizare depăşită

cu 5 zile;

d. să se afişeze toate proiectele care au persoană de contact;

e. să se afişeze toţi angajaţii a căror nume începe cu o vocală;

f. să se afişeze toţi angajaţii a căror serie de buletin începe cu GL;

g. să se afişeze toate proiectele care care au dată de început cuprinsă între 1.01.2010 şi

1.01.2011;

h. să se afişeze toate proiectele care au TVA-ul cuprins între 3500 şi 10000;

i. să se afişeze toţi angajaţii care au funcţia de betonişti;

j. să se afişeze calificările care participă la proiectele care se au ca persoană de contact pe

Popa Emil;

k. să se afişeze costul total a proiectului pentru fiecare angajat în parte;

l. să se modifice calificarea tuturor angajaţilor care au participat la un proiect care este

introdus de la tastatură în altă calificare;

m. să se şteargă toţi angajaţii care au calificarea de dulgher;

n. să se creeze o nouă tabelă Z care să conţină denumirile proiectelor şi numele şi

prenumele angajaţilor care au calificarea de electrician;

o. să se adauge în cadrul unui nou tabel denumirile de proiecte şi persoanele de contact care

se numesc Ion;

p. să se calculeze costul mediu pentru fiecare angajat care participă la proiecte.

Page 65: Suport ACCESS Cu 4 Probleme

6. Să se creeze rapoarte pentru a vizualiza:

a. toţi angajaţii, aranjându-i descendent după nume şi grupându-i după sex;

b. toţii angajaţii grupându-i după primele litere ale seriei de buletin;

c. toate specializările şi angajaţii acestora;

d. toate proiectele grupând datele după persoana de contact;

e. toţi angajaţii şi proiectele la care aceştia lucrează;

f. toate sarcine ce trebuiesc îndeplinite de fiecare angajat;

g. toate sarcinile care trebuiesc îndeplinite în fiecare proiect în parte;

h. toate sarcinile pe care trebuiesc să le îndeplinească fiecare angajat pentru fiecare proiect,

grupând datele după data de sfârşit a proiectului în funcţie de semestru şi calculând

pentru fiecare grup costul minim;

i. toate proiectele care au TVA-ul cuprins între 3500 şi 10000.

7. Pentru raportul în care se vizualizează proiectele angajate să se introducă un nou câmp care

să calculeze ca produs între costul proiectului şi 1,24. Acest câmp să se numească Preţ total.