07192d01

91
1 BAZE DE DATE lect. univ. dr. Diana TÂRNĂVEANU Cuprins CAPITOLUL 5 .......................................................................................................................... 3 ELEMENTE INTRODUCTIVE ÎN ACCESS ......................................................................... 3 5.1 Introducere ................................................................................................................................................... 3 5.2 SGBD Access: prezentare generală .............................................................................................................. 3 5.2.1 Caracteristici generale .......................................................................................................................... 4 5.2.2 Operaţii cu baze de date........................................................................................................................ 5 5.2.3 Obiectele bazei de date ......................................................................................................................... 9 5.3 Obiecte Tables ............................................................................................................................................ 10 5.4 Obiecte Queries .......................................................................................................................................... 16 5.4.1. Interogări de selecţie .......................................................................................................................... 17 5.4.2 Interogări de sintetizare a datelor ....................................................................................................... 18 5.4.3 Interogări de acţiune ........................................................................................................................... 19 5.5 Obiecte Forms ............................................................................................................................................ 22 5.5.1 Formulare create cu ajutorul butonului Form ..................................................................................... 22 5.5.2 Formulare create cu ajutorul butonului Form Wizard ........................................................................ 23 5.5.3 Formulare create cu ajutorul butonului Form Design ......................................................................... 25 5.5.4 Formulare cu sub-formulare ............................................................................................................... 29 5.6 Obiecte Reports .......................................................................................................................................... 29 5.7 Obiecte Macros........................................................................................................................................... 34 5.8 Obiecte Modules......................................................................................................................................... 35 5.9 Concluzii .................................................................................................................................................... 35 5.10 Rezumatul capitolului ............................................................................................................................... 35 5.11 Exemple .................................................................................................................................................... 36 5.11.1 Problemă rezolvată – Tabelă creată în Datasheet View.................................................................... 36 5.11.2 Problemă rezolvată – Tabele create în Design View ........................................................................ 40 5.11.3 Problemă rezolvată – Formulare şi controale ................................................................................... 45 5.11.4 Problemă rezolvată – Formulare cu controale calculate, Switchboard ............................................. 49 5.12.5 Problemă rezolvată – Interogări........................................................................................................ 55 5.12.6 Problemă rezolvată – Rapoarte ......................................................................................................... 61 5.13 Probleme propuse ..................................................................................................................................... 66 5.13.1 Problema propusă – Crearea tabelelor Filială CEC ....................................................................... 66 5.13.2 Problemă propusă – Crearea formularelor ........................................................................................ 66 5.13.3 Problemă propusă – Crearea interogărilor ........................................................................................ 66 5.13.4 Problemă propusă – Crearea rapoartelor .......................................................................................... 66

description

iujh

Transcript of 07192d01

  • 1

    BAZE DE DATE

    lect. univ. dr. Diana TRNVEANU

    Cuprins

    CAPITOLUL 5 .......................................................................................................................... 3

    ELEMENTE INTRODUCTIVE N ACCESS ......................................................................... 3

    5.1 Introducere ................................................................................................................................................... 3

    5.2 SGBD Access: prezentare general .............................................................................................................. 3

    5.2.1 Caracteristici generale .......................................................................................................................... 4 5.2.2 Operaii cu baze de date ........................................................................................................................ 5 5.2.3 Obiectele bazei de date ......................................................................................................................... 9

    5.3 Obiecte Tables ............................................................................................................................................ 10

    5.4 Obiecte Queries .......................................................................................................................................... 16

    5.4.1. Interogri de selecie .......................................................................................................................... 17 5.4.2 Interogri de sintetizare a datelor ....................................................................................................... 18 5.4.3 Interogri de aciune ........................................................................................................................... 19

    5.5 Obiecte Forms ............................................................................................................................................ 22

    5.5.1 Formulare create cu ajutorul butonului Form ..................................................................................... 22 5.5.2 Formulare create cu ajutorul butonului Form Wizard ........................................................................ 23 5.5.3 Formulare create cu ajutorul butonului Form Design ......................................................................... 25 5.5.4 Formulare cu sub-formulare ............................................................................................................... 29

    5.6 Obiecte Reports .......................................................................................................................................... 29

    5.7 Obiecte Macros........................................................................................................................................... 34

    5.8 Obiecte Modules......................................................................................................................................... 35

    5.9 Concluzii .................................................................................................................................................... 35

    5.10 Rezumatul capitolului ............................................................................................................................... 35

    5.11 Exemple .................................................................................................................................................... 36

    5.11.1 Problem rezolvat Tabel creat n Datasheet View .................................................................... 36 5.11.2 Problem rezolvat Tabele create n Design View ........................................................................ 40 5.11.3 Problem rezolvat Formulare i controale ................................................................................... 45 5.11.4 Problem rezolvat Formulare cu controale calculate, Switchboard ............................................. 49 5.12.5 Problem rezolvat Interogri ........................................................................................................ 55 5.12.6 Problem rezolvat Rapoarte ......................................................................................................... 61

    5.13 Probleme propuse ..................................................................................................................................... 66

    5.13.1 Problema propus Crearea tabelelor Filial CEC ....................................................................... 66 5.13.2 Problem propus Crearea formularelor ........................................................................................ 66 5.13.3 Problem propus Crearea interogrilor ........................................................................................ 66 5.13.4 Problem propus Crearea rapoartelor .......................................................................................... 66

  • 2

    CAPITOLUL 6 ........................................................................................................................ 67

    ELEMENTE SQL ................................................................................................................... 67

    6.1 Introducere ................................................................................................................................................. 67

    6.2 Comenzi SQL ............................................................................................................................................. 67

    6.2.1 Comanda CREATE TABLE............................................................................................................... 69 6.2.2 Comanda ALTER TABLE ................................................................................................................. 71 6.2.3 Comanda DROP TABLE ................................................................................................................... 72 6.2.4 Comanda INSERT INTO ................................................................................................................... 72 6.2.5 Comanda DELETE ............................................................................................................................. 73 6.2.6 Comanda SELECT ............................................................................................................................. 73 6.2.7 Comanda UPDATE ............................................................................................................................ 79

    6.3 Concluzii .................................................................................................................................................... 80

    6.4 Rezumatul capitolului ................................................................................................................................. 80

    6.5 Exemple ...................................................................................................................................................... 81

    6.5.1. Problem rezolvat Produse ........................................................................................................... 81 6.6.2 Problem rezolvat Aprovizionare .................................................................................................. 85 6.6.3 Problem propus Bibliotec ........................................................................................................... 90 6.6.4 Problem propus Amenajri interioare .......................................................................................... 90

    BIBLIOGRAFIE ..................................................................................................................... 91

  • 3

    CAPITOLUL 5

    ELEMENTE INTRODUCTIVE N ACCESS

    5.1 Introducere

    Sistemele informatice din domeniul economic conin un volum relativ mare de date care se

    organizeaz cel mai bine n baze de date. Microsoft Access 2007 face parte din suita Microsoft Office

    2007, avnd caracteristicile specifice unui sistem de gestiune al bazelor de date relaionale. Access

    este totodat i un instrument complex de dezvoltare al aplicaiilor de baze de date.

    5.2 SGBD Access: prezentare general

    Microsoft Office Access 2007 este un sistem de gestiune a bazelor de date (SGBD) dezvoltat de firma

    Microsoft care ofer urmtoarele faciliti1:

    permite lucrul att pe staii individuale ct i n reea, cu exploatarea partajat a datelor; are n structur un limbaj neprocedural SQL (Structured Query Language) larg rspndit n

    toate SBDG-urile;

    modul de lucru vizual faciliteaz crearea rapid a unor aplicaii; este autodocumentat i conine Wizard-uri; are access la reeaua Internet.

    Access 2007 include faciliti oferite de sistemul de operare Microsoft Windows (de exemplu meniu

    contextual al obiectelor) i permite i faciliti de tipul drag and drop. Microsoft Access este

    compatibil cu tehnicile de legare i ncapsulare din tehnologia OLE Microsoft (Object Linking and

    Embedding).

    Este recomandat utilizarea Microsoft Access dac:

    sunt necesare baze de date relaionale (tabele multiple sau multi-dimensionale) sau dac se anticipeaz adugarea unor noi tabele pe viitor;

    cantitatea de date este mare; este necesar o legtur permanent cu o baz de date extern de dimensiuni mari, cum ar fi

    una construit cu Microsoft SQL Server sau cu sistemul integrat al organizaiei;

    este necesar regruparea datelor din diverse tabele ntr-un singur loc cu ajutorul unor interogri complexe;

    baza de date este accesat de mai muli utilizatori (se poate beneficia de mecanismele de modificare furnizate de baza de date).

    Este recomandat utilizarea Microsoft Excel dac:

    sunt suficiente tabelele simple, fr relaii ntre ele; se doresc efectuarea de calculi i comparaii statistice; setul de date nu depete 15000 de nregistrri.

    1 Tama I. (coord.), Stanciu V., Gheorghe M. Access 2007 Proiectare i realizare pas cu pas, Editura Infomega,

    Bucureti, 2010, p.7

  • 4

    5.2.1 Caracteristici generale

    Primul lucru care se poate observa la deschiderea Microsoft Access este noua interfa grafic

    prietenoas cu utilizatorul (GUI Graphical User Interface), folosit att de Access ct i de toat

    gama de produse Office 2007.

    De pe bara de meniuri evideniem:

    pagina Home (Views, Clipboard, Font, Rich Text, Records, Sort&Filter, Find) pagina principal Access, conine funcii de editri de baz cum ar fi Cut i Paste, mpreun cu marea

    majoritate a opiunilor de formatare;

    pagina Create (Tables, Forms, Reports, Other) grupeaz toate opiunile de creare; pagina External Data (Import, Export, Collect Data, SharePoint Lists) conine toate

    operaiile care faciliteaz colaborarea i schimbul de date;

    pagina Database tools (Macro, Show/Hyde, Analyze, Move Data, Database Tools) coloana vertebral a Access-ului. Aici se pot crea sau menine relaiile dintre tabele, se

    analizeaz performanele fiierului i se execut rutine de ntreinere.

    Fereastra Access Options furnizeaz acces rapid la aproape toate opiunile care pot fi configurabile n

    Access. Dintre acestea vom evidenia urmtoarele opiuni:

    Popular: opiunile cele mai populare printre utilizatori (selectate de Microsoft); Current Database: opiuni care afecteaz baza de date curent, de exemplu, opiuni pentru

    adugarea unui titlu sau a unei icoane, selectarea unui formular care s apar la deschiderea

    aplicaiei, dezactivarea opiunii Layout view, i o opiune util programatorilor, activarea sau

    dezactivarea panoului de navigare (Navigation Pane). n cadrul acestei opiuni, utilizatorii pot

    crea o panglic special i o pot folosi n locul celei predefinite;

    Datasheet: opiuni de formatare pentru Datasheet View. Utiliznd aceast opiune, se poate selecta tipul literelor folosite, afiarea liniilor de ghidaj pe formulare i setarea efectelor

    implicite ale celulelor;

    Object Designers: opiuni care pot fi setate i afecteaz modul n care uneltele de design sunt configurate n Access. Opiunile sunt grupate astfel: Table Design, Query Design, Form

    Design, Error Checking;

    Proofing: include opiuni legate de verificri gramaticale cum ar fi: spell checking, grammar checking, i auto correction;

    Advanced: opiuni care pot fi setate i care controleaz modul n care Access interacioneaz cu datele i utilizatorul cu aplicaiile. Sunt disponibile urmtoarele grupuri de opiuni:

    Editing, Display, Printing, General, Advanced;

    Customization: utile pentru a aduga sau terge opiuni de pe panglic. Add-Ins: o list a utilitarelor add-ins disponibile pentru Access; Trust Center: acceseaz Trust Center. Muli utilizatori seteaz nivelul de securitate la nivelul

    minim pentru a evita mesajele care apar atunci cnd se deschide o baz de date care conine o

    macrocomand. Microsoft recomand pstrarea nivelului de securitate la valoarea implicit, i

    anume funcionalitate deplin. n Trust Center sunt disponibile dou opiuni: Show the

    message bar in all applications when content has been blocked i Never show information

    about blocked content.

    Resources: conine link-uri ctre resurse online care asist utilizatorul care lucrez cu Access. Sunt disponibile linkuri la pagina Office, diagnostice interactive Office 2007, help online i

    actualizri de software.

    Exist multe opiuni, controale i unelte disponibile pentru a ajuta la modificarea programului i a

    aplicaiei fr a fi necesare cunotine de programare.

  • 5

    5.2.2 Operaii cu baze de date

    Pentru a deschide Microsoft Access 2007 se acioneaz butonul Start de pe bara de sarcini, se

    selecteaz Microsoft Office, apoi Microsoft Office Access 2007.

    Fig. 1 Deschiderea mediului de lucru Microsoft Access 2007

    La deschiderea Microsoft Access 2007 pe ecran va apare fereastra Getting Started with Microsoft

    Office Access.

    Fig. 2. Fereastra Getting Started with Microsoft Office Access

    n partea din dreapta a ecranului sunt vizibile link-uri ctre ultimele fiiere de tip baz de date utilizate.

    n cazul nchiderii accidentale a bazei de date, aceasta poate fi deschis rapid selectnd primul link din

    lista Open Recent Database.

    Butonul Office

  • 6

    Dac se dorete modificarea locaiei implicite de salvare a bazelor de date se selecteaz butonul

    Office, se alege opiunea Access Options, modificnd cu ajutorul butonului Browse opiunea Default

    database folder.

    Fig. 3. Modificarea locaiei implicite n care sunt salvate bazele de date

    5.2.2.1 Crearea unei baze de date

    Pentru a crea o baz de date vid se alege butonul Blank Database figura 2. Folosind icoana de

    folder din partea din dreapta a ecranului se alege locaia unde va fi salvat baza de date, se tasteaz

    numele dorit, apoi se apas butonul Create figura 4.

    Fig. 4 Stabilirea locaiei i a denumirii bazei de date

    Odat cu crearea unei baze de date vide, Microsoft Access creaz o nou tabel n care s fie salvate

    datele. Aceasta poarta numele implicit Table1 i este deschis n Datasheet View (mod de vizualizare

    care permite afiarea datelor din tabel). Pentru a crea o tabel n acest mod de vizualizare se poate

    studia problema rezolvat 5.13.1.

    5.2.2.2 Parolarea unei baze de date

    Pentru a parola baza de date, aceasta trebuie s fie deschis exclusiv. Pentru aceasta, se nchide baza

    de date folosind butonul Office, opiunea Close Database figura 5.

  • 7

    Fig. 5 nchiderea unei baze de date

    Pentru a uura accesul la anumite butoane se poate folosi bara de acces rapid. Pentru a afia mai multe

    butoane pe aceasta (n cazul de fa butonul Open) se apas sgeata din partea dreapt a barei,

    selectndu-se comanda Open. Butonul Open va fi afiat pe bara de acces rapid. Analog se pot selecta

    alte butoane pentru a fi afiate pe bara de acces rapid. Dac acestea nu sunt afiate implicit, se pot

    cuta utiliznd comanda More Commands.

    Fig. 6 Adugarea butonului Open pe bara de acces rapid

    Pentru a deschide exclusiv baza de date creat anterior se apas butonul Open de pe bara de acces

    rapid figura 7.

    Fig. 7 Butonul Open de pe bara de acces rapid

    n fereastra Open se selecteaz locaia, numele bazei de date, apoi de pe butonul Open se selecteaz

    opiunea Open Exclusiv figura 8.

    Fig. 8 Deschiderea exclusiv a unei baze de date

  • 8

    Baza de date fiind deschis exclusiv, de pe bara de meniuri se alege opiunea Database Tools, apoi

    comanda Encrypt with Password figura 9. n fereastra Set Database Password se cere

    introducerea parolei de dou ori, la apsarea butonului OK baza de date fiind protejat.

    Fig. 9 Parolarea bazei de date

    Protejarea bazei de date este vizibil doar la deschiderea acesteia, deci pentru a verifica acest lucru se

    nchide i se deschide din nou baza de date. Pentru a elimina parola setat la deschiderea bazei de date,

    aceasta trebuie deschis exclusiv, selectndu-se mai apoi opiunea Decrypt Database figura 10.

    Fig. 10 Decriptarea bazei de date

    n cazul n care panoul de navigare este ascuns, acesta poate fi afiat selectnd sgeile laterale figura

    11.

    Fig. 11 Afiarea/ascunderea panoului de navigare

    Afiarea sau ascunderea panglicii (Ribbon) poate fi controlat folosind opiunea Minimize the

    Ribbon de pe bara de acces rapid figura 12.

  • 9

    Fig. 12 Minimizarea/afiarea panglicii (Ribbon)

    5.2.2.3 Salvarea unei baze de date

    Pentru a salva o baz de date cu un alt nume, se apeleaz butonul Office, opiunea Save as, apoi

    Access 2007 Database, selectndu-se apoi locaia i/sau noul nume al fiierului.

    5.2.2.4 nchiderea unei baze de date

    Pentru a nchide o baz de date, de pe butonul Office se apeleaz comanda Close Database.

    5.2.2.5 Deschiderea unei baze de date

    Pentru a deschide o baz de date se poate folosi lista din partea dreapt a ecranului, priul link fiind

    ctre ultima baz de date utilizat, sau utiliznd butonul Office, opiunea Open.

    5.2.3 Obiectele bazei de date

    Principalele obiecte coninute n Microsoft Access 2007 sunt:

    Tabele (Tables): structuri elementare n care sunt stocate datele n cadrul unei baze de date. Tabelele sunt inima oricrei baze de date. De exemplu, o baz de date legat de fitness poate

    s rein informaii legate de antrenamentul efectuat, echipamentele utilizate i numrul

    milkshake-urilor consumate n fiecare zi n trei tabele separate. O tabel este containerul n

    care sunt stocate datele. Restul obiectelor permit manipularea datelor stocate n tabele.

    Construirea tabelelor Access se poate rezuma la dou activiti principale: crearea structurii

    tabelei (n modul de vizualizare Design View) i popularea tabelului cu date fie n Datasheet

    View, prin intermediul formularelor sau a instruciunilor SQL;

    Interogri (Queries): sunt structuri care permit efectuarea unei aciuni rapide asupra unei tabele sau mai multor tabele. Aceste aciuni implic de obicei obinerea unei informaii

    necesare (de exemplu, cumprturile efectuate pe parcursul unei zile cu cardul de credit), sau

    aplicarea unor modificri. Interogrile sunt obiecte virtuale de tip tabel care nu au

    corespondent fizic, fiind definite cu ajutorul tabelelor create deja n baza de date. Ele permit

    efectuarea seleciilor i sortrilor n tabele, a calculelor simple i analizelor ncruciate, a

    aciunilor (crearea unui nou tabel, adugarea, tergerea sau actualizarea nregistrrilor) sau

    execuia unor comenzi SQL.

    Observaie: Baza de date se salveaz automat, dar obiectele coninute trebuie salvate de ctre utilizator. Numele bazei de date este setat la nceputul crerii acesteia. Dac se dorete salvarea bazei de date cu alt nume, de pe butonul Office se alege Save as.. urmat de opiunea Access 2007 Database, specificndu-se locaia i numele bazei de date.

  • 10

    Formulare (Forms) sunt ferestre atractive folosite pentru a consulta sau actualiza datele dintr-un tabel sau o interogare. Ele permit totodat crearea unui meniu interactiv construit de

    ctre utilizator, furniznd i o facilitate special pentru aceasta (Switchboard). Pe un formular

    pot fi plasate butoane care pot ncorpora comenzi SQL;

    Rapoarte (Reports) sunt utilizate pentru a tipri unele sau toate informaiile din tabele sau interogri. Permit gruparea i sortarea datelor, adugarea unor cmpuri calculate, numere de

    pagin, etc;

    Macrocomenzi (Macros) mini-programe care automatizeaz sarcinile curente. Macrocomenzile sunt formate dintr-o suit de aciuni;

    Module (Modules) fiiere care conin cod Visual Basic Application. VBA este un mediu de programare orientat obiect. Se pot defini variabile, constante, funcii i proceduri globale

    ntregii aplicaii sau asociate unui anumit obiect. Cu ajutorul acestor coduri se poate executa

    aproape orice.

    5.3 Obiecte Tables

    naintea descoperirii bazelor de date, organizaiile lucrau cu datele manual. Ei plasau hrtii n dosare i

    organizau dosarele n sertare ale unui dulap. Dulapul este echivalentul bazei de date. Fiecare sertar plin

    de dosare corespunde unui tabel din baza de date.

    Un cmp este o unitate elementar sau o categorie cum ar fi titlurile crilor sau numerele de telefon.

    Un cmp nu conine n mod necesar o valoare. De exemplu, un cmp numit e-mail poate rmne

    necompletat dac furnizorul nu deine o adres de e-mail. O nregistrare este un set complet de date

    (cmpuri) care se refer la o persoan, loc, eveniment, idee. De exemplu, pentru un profesor numrul

    matricol, numele, prezena i nota final compun o nregistrare. O tabel, fundaia oricrei baze de

    date, este o colecie de nregistrri care au legtur unele cu altele, i conine cmpuri pentru a

    organiza datele.

    O coloan reprezint un cmp, o linie reprezint o nregistrare. Fiecare nregistrare conine aceleai

    cmpuri n aceeai ordine. Fiierul profesorului cu prezenele studenilor este o tabel care conine

    nregistrri despre toi studenii avnd o structur comun. O baz de date const n una sau mai multe

    tabele i obiectele suport care permit introducerea datelor, prelucrarea i extragerea lor din tabele.

    Fig 13. Baz de date primitiv

    Definiie: O cheie primar este un cmp (sau o combinaie de cmpuri) a crui valori

    identific n mod unic o nregistrare ntr-un tabel.

    valoarea cmpului

    tabel

    nregistrare

    baza de date

  • 11

    Fig. 14 Concepte de baz

    Codul produsului este cheie primar n tabela produse. Cheia primar poate conine numere, litere,

    sau o combinaie a acestora.

    Puterea bazelor de date relaionale st n abilitatea SGBD-ului de a organiza datele i a le recombina

    pentru a obine o imagine complet a evenimentelor descrise. Un design eficient a bazelor de date

    conecteaz datele din diferite tabele sub forma unui sistem de legturi.

    Legtura dintre tabele este ca un fir electric care traverseaz baza de date conectnd tabelele astfel

    nct s permit obinerea rspunsului la cererea utilizatorului (figura 15). Odat identificat rspunsul,

    cmpurile i nregistrrile sunt rearanjate astfel nct s poate fi nelese cu uurin de ctre utilizator.

    Captul de nceput al firului este creat odat cu setarea cheii primare ntr-unul dintre tabele. Cellalt

    capt la firului este legat de un cmp dintr-un alt tabel. Acel cmp poart numele de cheie strin. De

    exemplu cmpul cod_f (cod furnizor) din tabela furnizori este un cmp de tip cheie strin.

    Definiie: O cheie strin este un cmp dintr-o tabel, care ntr-o alt tabel este cheie

    primar.

    Fig. 15 Fereastra Relationships

    Dup cum se poate observa din figura 15, chiar i n relaia normalizat nc mai exist redundane. De

    exemplu, codul produsului (cod_p) apare n mai multe tabele. De fapt nu pot fi eliminate toate

    cmpurile duplicate i n acelai timp meninute legturile dintre tabele. Acest tip de redundan (cheie

    primar-cheie strin) poart numele de redundan necesar.

    Orice legtur dintre dou tabele poat fi ntrit utilizndu-se regulile de integritate referenial.

    Integritatea sugereaz ncredere. Atunci cnd regulile de integritate sunt stabilite, utilizatorul poate

    avea ncredere n firul care leag tabelele bazei de date, fiind pstrat acurateea datelor.

    Regulile de tip cascad permit ca modificrile datelor s se perpetueze dintr-o tabel n alta figura

    16.

    Definiie: Regula Cascade Update Related Records va fi setat n cazul n care dac o valoare a

    cmpului pe care este setat cheia primar este modificat, atunci toate valorile corespunztoare

    din tabela referit sunt modificate automat cu aceeai valoare. Regula Cascade Delete Related

    Records va fi setat n cazul n care dac o valoare din tabela de referin este tears prin tergerea

    nregistrrii care o conine, atunci toate nregistrrile din tabela referit care conin acea valoare

    referit vor fi automat terse.

    Cheie primar Cmp

    nregistrare

    valoare

  • 12

    Fig. 16 Setarea regulilor de integritate referenial

    Legturile dintre tabele n Microsoft Access 2007 sunt de mai multe tipuri:

    One-to-Many (unu-la-mai-muli) aceast legtur se creaz ntre o cheie primar dintr-un

    tabel i o cheie strin din alt tabel. n prima tabel exist o singur nregistrare care conine o

    valoare a cmpului de tip cheie primar. n cea de-a doua tabel exist mai multe nregistrri

    care conin n cmpul comun aceeai valoare a cmpului comun.

    One-to-One (unu-la-unu) se creaz ntre dou tabele care au aceeai cheie primar sau un

    cmp de tip cheie primar n prima tabel i un cmp cheie strin pe care este setat un index

    Unique din a doua tabel. n acest caz n ambele tabele exist o singur nregistrare cu

    valoarea cmpului comun identic. Acest tip de relaie se folosete foarte rar, n special

    datorit necesitii meninerii securitii datelor din tabele.

    Many-to-Many (mai-muli-la-mai-muli) acest tip de relaie este construit artificial (nu

    exist n Access) i corespunde mai multor valori ale cmpului comun din ambele tabele. n

    acest caz este necesar construirea unui nou tabel numit tabel de jonciune.

    ntr-o baz de date bine definit, relaia de tip one-to-many este cel mai frecvent ntlnit.

    Pentru a crea un nou tabel, de pe panglic, opiunea de meniu Create, se selecteaz Table Design.

    Design View este un mod de vizualizare care ofer cele mai puternice opiuni pentru definirea unei

    tabele.

    Atunci cnd se proiecteaz o tabel este important cunoaterea operaiilor de baz care pot fi

    efectuate cu cmpurile acesteia:

    pentru adugarea unui nou cmp ntre alte cmpuri existente se poziioneaz cursorul pe cmpul deasupra cruia se dorete adugarea unui nou cmp, se apeleaz meniul

    contextual (clic cu butonul din dreapta al mouse-ului) i se alege opiunea Insert Rows;

    mutarea unui cmp un cmp poate fi mutat folosind drag-and-drop, selectndu-se ptratul gri din stnga numelui cmpului i repoziionndu-se cmpul n poziia dorit;

    tergerea unui cmp se apeleaz meniul contextual al ptratului gri din stnga numelui cmpului i se selecteaz Delete Rows. De reinut faptul c odat cu tergerea unui cmp se

    terg toate datele depozitate n acel cmp, aciunea nefiind reversibil, de aceea Access

    afieaz un mesaj pentru a preveni eventualele tergeri accidentale.

    Fiecare cmp are un nume (Field Name) cu ajutorul cruia sunt identificate datele introduse n acel

    cmp. Numele cmpului trebuie s fie descriptiv pentru datele coninute i poate conine maxim 64 de

    caractere incluznd litere, cifre i spaii. Este interzis utilizarea caracterelor ., !, [, i ], iar numele

    cmpului nu poate ncepe cu cu spaiu.

    Fiecare cmp este definit ca fiind de un anumit tip (Data Type), care determin valorile care pot fi

    introduse i operaiile care pot fi efectuate cu datele. Access recunoate 10 tipuri de date:

    Text date alfanumerice cele mai multe caractere care se afl pe tastatur (incluznd numere), cu limita maxim de 255 de caractere. Cmpurile care conin doar numere care

    nu sunt folosite pentru a efectua calcule ar trebui setate ca fiind de tip Text (numere de

    telefon, coduri potale, numrul crii de identitate, numrul de paaport);

    Number conine o valoare care poate fi folosit n calcule, ca de exemplu numrul creditelor pe care le are un student. Coninutul cmpului de tip Number este restricionat la numere,

  • 13

    virgula zecimal i simbolurile + i -:

    Byte numere ntre 1 i 255 (ocup 1 byte); Integer numere n intervalul [-32768,+32757] (ocup 2 bytes); Long Integer [-2147483648,+2147483647] (ocup 4 bytes); Single numere reprezentate n simpl precizie:

    [-3.40*1038

    ,3.40*1038] (ocup 4 bytes i are precizie de 7 zecimale);

    Double numere reprezentate n dubl precizie, [-1.797*10308, 1.797*10308] (ocup 8 bytes i are precizie de 15 zecimale);

    Replication ID GUID (Global Unique IDentifier) identificator unic global, (ocup 16 bytes) este folosit pentru un cmp care este sau compun un cmp de tip

    cheie strin corespondentul unui cmp de tip cheie primar Autonumber;

    Decimal [-1028, 1028] (ocup 12 bytes i implicit are o precizie de 18 zecimale care poate s creasc pn la 28 de zecimale).

    Memo blocuri mari de text de lungime maxim 65536 caractere. Cmpurile de tip Memo sunt utilizate pentru a pstra date descriptive (propoziii, paragrafe). Lungimea maxim este de

    is 2 GB.

    Date/Time conine date calendaristice formatate, ore, sau ambele, permind calcule aritmetice cu acestea. Anii din datele calendaristice sunt n intervalul dintre anii 100 i 9999.

    Datele sunt salvate sub form de numr pe 8 bytes, cu dubl precizie;

    Currency numere cu 4 zecimale urmate de simbolul monetar, cu care pot fi efecuate calcule. Ocup 8 bytes i sunt utilizate pentru calcule financiare, dac nu se dorete rotunjirea

    valorilor;

    AutoNumber un numr care este incrementat automat pentru fiecare nregistrare. Valoarea unui cmp de tip Autonumber este unic pentru fiecare nregistrare din tabel, de aceea tipul

    Autonumber se utilizez n mod frecvent ca tip de date al unui cmp cheie primar.

    Numrtoarea poate fi secvenial sau ntmpltoare (random). Valoarea acestuia nu poate fi

    modificat i ocup 4 bytes;

    Yes/No permite alegerea unei valori din 2 posibile, o informaie discret care poate avea doar dou valori cum ar fi: True/False, Yes/No, On/Off, (ocup 1 byte);

    OLE Object conine un obiect creat cu o alt aplicaie, cum ar fi Microsoft Excel, Microsoft Word sau poze. Dimensiunea maxim a fiierului este de 2GB, dar baza de date este ncetinit

    considerabil prin nglobarea obiectelor externe;

    Hyperlink utilizat pentru a stoca adrese Web (URL Uniform Resource Locators). Toate fiierele din suita Office permit faciliti Web dac se selecteaz un link, automat este afiat

    pagina Web asociat (1 GB);

    Attachment cel mai nou tip de date introdus doar n MS Access 2007, permite ataarea mai multo obiecte create cu alte aplicaii. Mrete flexibilitatea bazei de date prin utilizarea

    technicilor OLE (Object Linking and Embedding=Legare i ncorporare de Obiecte);

    Lookup Wizard este utilizat pentru valori care vor fi completate selectnd o valoare dintr-o caset combinat. Nu este un tip de date propriu-zis, ci un program utilitar care creaz relaii

    cu tabela printe sau o list definit de utilizator.

    Pentru a crea o legtur ntre tabele, se va crea tabela de referin cu cheia primar, se insereaz

    date n tabel, apoi se creaz tabela referit, iar pentru cmpul care va fi cheie strin se va selecta

    opiunea Lookup Wizard, cu prima opiune I want the lookup column to lookup the values in a

    table or query; se selecteaz numele tabelei de referin, cmpul de tip cheie primar din tabela de

    referin i ordinea de sortare. Atunci cnd se introduc date n cmpul de tip cheie strin din tabela

    referit se utilizeaz caseta combinat creat cu ajutorul opiunii Lookup Wizard, selectndu-se din

    valorile din list.

  • 14

    Dac se dorete crearea unei liste predefinite de ctre utilizator, se va selecta Lookup Wizard cu a

    doua opiune I will type in the values that I want, apoi se vor insera toate valorile pe o coloan.

    Atunci cnd se insereaz datele n cmpul respectiv, se utilizeaz caseta combinat creat automat de

    ctre Lookup Wizard.

    Description este o coloan opional care se utilizez dac se dorete afiarea descrierii cmpului pe

    bara de stare atunci cnd cmpul este selectat (activ).

    O proprietate este o caracteristic sau un atribut care determin cum va arta i cum se va comporta

    obiectul. Fiecare obiect Access are o mulime de proprieti. Proprietile tabelei sunt afiate i pot fi

    modificate n fereastra Property Sheet. Aceasta se gsete pe panglic, n modul de vizualizare

    Design View, opiunea de meniu Design.

    Fiecare cmp are o mulime de proprieti. Proprietile sunt setate pe valoarea implicit n

    concordan cu tipul de date selectat, dar pot fi modificate. Ele sunt afiate n modul de vizualizare

    Design View, n partea de jos a ecranului.

    Field Size (dimensiunea cmpului) ajusteaz dimensiunea unui cmp de tip text sau limiteaz valoarea permis ntr-un cmp de tip numeric. Microsoft Access utilizeaz doar

    cantitatea de spaiu de stocare necesar, chiar dac dimensiunea cmpului permite o

    dimensiune mai mare. Multe SGBD-uri folosesc tot spaiul specificat ca dimensiune a

    cmpului. De aceea, este util crearea obinuinei de a reduce dimensiunea spaiului cu scopul

    ajustrii la cerinele de stocare ale sistemului (optimizarea spaiului de stocare);

    Decimal Places specific numrul de zecimale. Valoare predefinit este Auto sunt afiate toate zecimalele rezultate n urma calculelor, dar nu mai mult de 15 zecimale;

    Format modific modul de afiare al valorii unui cmp, dar nu afecteaz valoarea stocat; pentru unele tipuri de date cum ar fi Number, Date/Time i Yes/No se poate alege

    formatul dorit dintr-o list;

    pentru cmpuri de tip Number pot fi afiate valori pozitive, negative, zero sau valoarea Null folosind caractere speciale (0, #, $, %, E+, E-, e+, e-);

    pentru cmpuri de tip Date/Time: se utilizeaz urmtoarele caractere (d zi ntre 1 i 31, dd zi ntre 01 i 31, ddd primele 3 litere n englez din numele zilei (de

    exemplu, Mon de la Monday pentru ziua de Luni), dddd numele ntreg al zilei,

    etc);

    pentru cmpuri de tip Text: ! dac se introduc numere; < litere mici; > majuscule; text textul va aprea exact cum este scris: text; @ creaz grupuri de numere: @@@@-@@@-@@@ cum ar fi 0744-256-

    56.

    Input Mask faciliteaz introducerea datelor afind caractere care nu sunt stocate, cum ar fi caracterul slash ntr-o dat calendaristic (/). De asemenea, asigur validarea datelor pentru a

    corespunde formatului ales (de exemplu, previne introducerea unei cifre n plus sau n minus

    n cazul unui numr de telefon);

    0 o cifr obligatorie ntre 0 i 9; 9 o cifr opional ntre 0 i 9; A o liter sau o cifr obligatorie; a o liter sau o cifr opional; # o cifr opional ntre 0 i 9 sau un spaiu opional; & orice caracter sau spaiu; C un caracter opional sau un spaiu L o liter obligatorie de la A la Z;

  • 15

    ? o liter opional de la A la Z; > litere care vor fi transformate n majuscule; < litere care vor fi transformate n majuscule.

    Cnd ambele proprieti sunt setate, (Format i Input Mask), Format este cea

    impus (are prioritate).

    Caption specific o etichet diferit fa de numele cmpului, care va fi afiat n DataSheet View n capul de tabel, pe formulare i rapoarte. Lungimea maxim a valorii

    introduse n Caption este 2084 caractere. Valoarea proprietii Caption nu are nici o

    semnificaie n cadrul interogrilor sau cnd se utilizeaz cod n Visual Basic Application;

    Default value introduce automat o valoare predefinit pentru cmpul respectiv atunci cnd o nou nregistrare este inserat ntr-un tabel. De exemplu, dac foarte muli dintre studeni sunt

    nscui n Timioara, valoarea proprietii Default Value poate fi modificat n Timioara;

    Validation Rule respinge orice nregistrare pentru care valoarea introdus n cmpul respectiv nu respect regula stabilit. Expresia poate fi tastat n interiorul casetei de text, sau

    se poate selecta butonul pentru a deschide fereastra Expression Builder. Aceast

    proprietate nu poate fi folosit pentru tipuri de date cum ar fi: Autonumber, OLE Object,

    Attachment, Number cu sub-tipul Replication ID. Pentru a construi o regul de validare pot fi

    folosite funcii Access, operatori i constante. Numele cmpului trebuie s apar ntre

    paranteze drepte, de exemplu [cod produs]. Exemple de reguli de validare:

    >200 and =#03/12/2011# pentru o dat calendaristic; >=Date() pentru o dat calendaristic; Year([data factura])=Year(Date()) unde fucia Year extrage anul dintr-o dat

    calendaristic (n acet caz cmpul data facturii), iar funcia Date() extrage data

    curent;

    Validation Text specific mesajul de eroare care va fi afiat n cazul n care regula de validare nu este respectat;

    Required dac este setat pe Yes, respinge orice nregistrare care nu conine o valoare n cmpul respectiv; valoarea predefinit este No;

    Allow Zero Length dac este setat pe Yes, permite irul de lungime zero n cazul cmpurilor de tip text sau memo; valoarea predefinit este No;

    Indexed mrete eficacitatea cutrilor n acel cmp (cmpul pe care este setat cheia primar este ntotdeauna indexat):

    No nu este setat nici un index; Yes (No Duplicates) este setat un index care nu permite duplicarea valorilor, ca n

    cazul CNP-ului, de exemplu. Este valoarea care apare atunci cnd se seteaz cheia

    primar;

    Yes (Duplicates Ok) este setat un index care permite duplicarea valorilor, ca n cazul numelui pacientului, de exemplu.

    Indecii mai pot fi definii i prin intermediul butonului Indexes de pe panglic figura 17. Se

    poate seta numele indexului (Index Name), cmpul pe care acesta va fi setat (Index Field), i

    ordinea de sortare (Sort Order), specificndu-se pentru fiecare index tipul acestuia: Primary

    (dac se dorete crearea unui index de tip Primary Key), Unique (crearea unor chei candidate

    cu valori unice) sau Ignore Null (crearea unui index care ignor valorile Null).

  • 16

    Fig. 17 Fereastra Indexes

    Unicode Compression pentru cmpurile Text, Memo i Hyperlink, are valoarea implicit setat pe Yes i este folosit pentru a eficientiza modul de stocare a datelor;

    IME Mode and IME Sentence Mode specific modul Input Method Editor cu opiunea implicit No Control pentru versiunea n englez i tipul de dat pentru modul Input

    Method;

    Smart Tags pentru utilizatorii avansai, permite adugarea butoanelor de aciune asociate unui cmp. Atunci cnd o baz de date ofer produse la ofert, un buton de tip Smart Tag

    ncorporat cmpului nume produs ar putea deschide un fiier de inventar pentru a vizualiza

    produsele din stoc;

    Text Align aliniaz textul, furniznd urmtoarele opiuni: General (aliniere predefinit), Left (aliniere la stnga), Center (aliniere centrat), Right (aliniere la dreapta) i Distributed

    (aliniere i la stnga i la dreapta).

    Datasheet View este utilizat pentru inserarea datelor n tabele. Vizualizarea de tip Pivot Table View

    furnizez un mod convenabil de sumatizare i organizare a datelor n grupuri de nregistrri.

    Vizualizarea Pivot Chart View afieaz un grafic asociat modului de vizualizare Pivot Table View.

    Pentru a trece de la un mod de vizualizare la altul, se poate utiliza fie butonul View de pe panglic,

    opiunea de meniu Home, fie butonul corespunztor de pe bara de stare (Status bar). O tabel poate fi

    deschis din panoul de navigare direct n modul de vizualizare dorit apelndu-se meniul contextual al

    tabelei i selectndu-se modul de vizualizare dorit.

    5.4 Obiecte Queries

    Interogarea este un obiect ce permite vizualizarea informaiilor din una sau mai multe tabele pe baza

    unor criterii de selecie. Microsoft Access prevede o interfa prietenoas cu utilizatorul, de tip QBE

    (Query By Example) pentru a construi o interogare. Rezultatul unei interogri este o foaie de rspuns

    dinamic care poart numele de Dynaset. Aceasta este volatil (dispare odat cu nchiderea

    interogrii).

    Cu ajutorul unei interogri pot fi grupate datele din mai multe tabele, pe baza leagturilor create ntre

    ele, pot fi create noi cmpuri calculate, dar pot fi efectuate i urmtoarele aciuni: crearea unui nou

    tabel, adugarea nregistrrilor din alt tabel, modificarea valorii cmpurilor sau tergerea

    nregistrrilor.

    Interogrile se creaz de obicei n modul de vizualizare Query Design. Pentru a vedea rezultatul

    interogrii, se trece n modul de vizualizare Datasheet View sau se apas butonul Run de pe panglic,

    opiunea de meniu Design. O alt modalitate de a crea o interogare este folosind modul de vizualizare

    SQL View. Aceast metod necesit cunotine de SQL (Structured QueryLanguage) detaliate n

    capitolul urmtor.

  • 17

    Interogrile sunt de mai multe tipuri:

    de selecie (SELECT) permit afiarea datelor din una sau mai multe tabele, pe baza unor criterii de selecie, calcularea unor cmpuri i afiarea datele ordonate dup anumite cmpuri

    cresctor sau descresctor;

    de sintetizare a datelor (TOTAL) permit selectarea unor cmpuri ca criterii de grupare, fiind aplicate diverse funcii: SUM, MIN, MAX, COUNT, etc;

    de analiz ncruciat (CROSSTAB) de analiz ncruciat a datelor; de aciune (MAKE TABLE, APPEND, UPDATE, DELETE);

    speciale (UNION, PASS THROUGH, DATA DEFINITION). Cel mai des ntlnite i utilizate sunt interogrile de selecie.

    5.4.1. Interogri de selecie

    Pentru a crea o interogare, de pe panglic, opiunea de meniu Create, se apas butonul Query Design.

    Fig. 18 Fereastra QBE

    n fereastra Show Table se va preciza sursa datelor executnd dublu-clic pe numele tabelei sau

    tabelelor figura 18. De reinut c dac se selecteaz mai multe tabele, trebuie specificate toate tabele

    intermediare pentru a fi vizibile legturile dintre ele n caz contrar rezultatul interogrii nu este cel

    dorit. Dup nchiderea ferestrei, dac se dorete redeschiderea ferestrei pentru a aduga o nou tabel,

    se selecteaz butonul cu acelai nume de pe panglic. Dac se dorete tergerea unei tabele, se

    apeleaz meniul contextual asociat acesteia, selectndu-se comanda Delete. Dup ce tabelele au fost

    selectate, ferestra Show Table se nchide.

    Urmtorul pas este selectarea cmpurile din tabele. Se execut dublu clic pe numele de cmpurilor din

    tabele, acestea fiind selectate automat n partea de jos a ecranului, find completate liniile Field i

    Table.

    Linia Sort permite ordonarea valorilor cmpurilor n ordine cresctoare (Ascending) sau

    descresctoare (Descending).

    Pe linia Show sunt selectate implicit toate cmpurile ca fiind vizibile. Dac se dorete ascunderea unui

    cmp din vizualizarea final, se debifeaz check-box-ul corespunztor.

    Liniile Criteria i Or permit impunerea unor condiii. Dac operatorul dintre condiii este AND,

    atunci toate condiiile se scriu pe linia Criteria. Dac ntre condiii operatorul este OR, atunci a doua

    condiie se scrie pe linia Or.

    Pentru a vizualiza rezultatul interogrii se trece de pe bara de stare n Datasheet View.

    Dintre operatorii folosii n construirea expresiilor de pe linia Criteria amintim: + (adunare), -

    (scdere), * (nmulire), / (mprire), MOD (restul mpririi a dou numere), ^ (ridicarea la putere, de

  • 18

    exemplu x2 se scrie x^2), & (concatenare a dou iruri de caractere), = (verific egalitatea a dou

    valori), (operatorul diferit, de exemplu ), < (strict mai mic), > (strict mai mare), = (mai mare sau egal), LIKE (format general LIKE masca, de exemplu nume LIKE A* se

    vor afia toate numele care ncep cu A, indiferent din cte caractere, dar LIKE A?? va afia doar

    numele care ncepe cu A i are lungimea de trei caractere), IN (formatul general IN (list de valori), de

    exemplu condiia: sex IN (m,f) sau [tip client] IN (persoana fizica,persoana juridica)),

    BETWEEN (format general Between Val_minim AND Val_maxim, de exemplu, dac se dorete

    afiarea studenilor cu note ntre 9 i 10 se va utiliza condiia BETWEEN 9 AND 10), NOT (negaie),

    AND (conjuncie), OR (disjuncie), NOT NULL (va afia toate nregistrrile care nu au valori

    introduse n acel cmp), Date() (returneaz data curent), MONTH (afieaz luna dintr-o dat

    calendaristic, de exemplu MONTH(#27.12.2011#) va returna valoarea 12), YEAR (afieaz anul

    dintr-o dat calendaristic, de exemplu YEAR(#21.11.2011#) va returna valoarea 2011), IIF (cu

    formatul general IIF (condiie, val_dac_adevarat, val_daca_fals), de exemplu dac se dorete afiarea

    situaiei bursierilor: pentru studeni care au media peste 9,50 se va afia burs de merit, celor ntre 8 i

    9,50 burs de studiu iar celorlai nimic, se va scrie urmtoarea condiie: IIF ([media]>9,5; bursa de

    merit; IIF([media] BETWEEN 8 AND 9,50;Bursa de studiu;)) ) i multe altele. Simbolul ; care

    desparte argumentele funciei depinde de setrile regionale. Setrile regionale utilizate n cadrul

    aceszui capitol sunt cele corespunztoare Romniei (Control Panel, Clock Language and Region,

    Change Location, pagina Location, Current Location: Romania). Data calendaristic este astfel

    formatat ca dd.mm.yyyy, iar punctul zecimal este simbolul virgul. n cazul n care este selectat o

    alt locaie, att separatorul care desparte argumentele funciei, simbolul zecimal, formatul Currency

    ct i formatele Date/Time sunt modificate n consecin.

    Dac se dorete adugarea unui cmp care va fi calculat dup o formul, se selecteaz prima coloan

    liber n Design View, iar pe linia Field se tasteaz numele care se dorete s apar n capul de table

    ca titlul al coloanei respective, urmat de simbolul : i formula de calcul. Numele de cmpuri se scriu

    ntre paranteze drepte. De exemplu: Valoare: [cant]*[pret]. Dac se dorete formatarea cmpului (de

    exemplu, Currency), n Design View se apeleaz meniul contextual pe cmpul proaspt construit, se

    selecteaz Properties, apoi la proprietatea Format se selecteaz Currency.

    Interogri cu parametru

    n cazul interogrilor de selecie se pot utiliza parametrii. Dac se dorete citirea interactiv de la

    tastatur a unei valori a unui cmp, n vederea verificrii unui criteriu i a afirii datelor din

    tabel/tabele, pe linia Criteria se introduce ntre paranteze drepte un text, de exemplu [Introduceti

    data facturii]. Acest text va fi interpretat ca un parametru, construindu-se automat pentru acest

    parametru o caset de introducere a valorii. Va fi evaluat valoarea citit de la tastatur, se verific

    egalitatea cu valorile din cmpul pe care este plasat parametrul, i anumte [data facturii], i sunt afiate

    nregistrrile care verific condiia [data facturii]=valoarea introdus de la tastatur.

    5.4.2 Interogri de sintetizare a datelor

    Interogarea de selecie poate fi transformat ntr-o interogare de sintetizare a datelor apelndu-se

    butonul Totals de pe panglic. Aceasta are ca efect crearea unei linii noi denumit Total, unde automat

    apare condiia Group by.

    Pentru a crea o interogare de sintetizare a datelor:

    1. se creaz o interogare n Design View;

    2. se selecteaz sursa datelor (din fereastra Show Table, dublu-clic pe numele tabelelor, neaprat

    acestea trebuie s fie toate legate ntre ele), apoi se nchide fereastra Show Table;

  • 19

    3. se selecteaz cmpurile dup care se grupeaz datele i cmpurile care trebuie calculate (de

    exemplu dac se dorete afiarea mediei anului, se aleg cmpuri an i medie; dac se dorete

    afiarea medie studenilor pe grupe, se aleg cmpurile an, grupa i medie);

    4. se selecteaz butonul Totals. Pe linia Totals vor apare opiunile Group By utilizate pentru a

    defini grupurile de nregistrri asupra crora se vor executa funcii agregat (SUM, MIN,

    MAX, COUNT, AVG, etc);

    5. pe coloana/coloanele care se doresc a fi calculate i linia Totals se alege o funcie de agregare

    sau condiia WHERE care permite impunerea unor criterii suplimentare. Toi operatorii

    amintii mai sus pot fi folosii n clauza Where;

    6. dac se dorete ascunderea unor cmpuri, se deselecteaz caseta corespunztoare de pe linia

    Show;

    7. pentru a vizualiza rezultatul se apeleaz opiunea Datasheet View.

    5.4.3 Interogri de aciune

    Interogrile de aciune sunt nu au ca efect afiarea unui rezultat, ele au un alt scop: manipularea

    datelor din tabele. Operaiile care pot fi executate cu ajutorul interogrilor de aciune sunt: Make

    Table, Append, Update i Delete.

    Pentru ca toate aceste interogri de aciune s poat fi executate, este necesar setarea unui nivelul de

    securitate mai sczut prin selectarea butonului Options de pe bara Security Warning, selectndu-se

    opiunea Enable this content.

    5.4.3.1 Interogri pentru crearea unei noi tabele (MAKE TABLE)

    Interogrile care creaz o nou tabel sunt utilizate de obicei pentru a obine un tabel unic cu date din

    mai multe tabele legate ntre ele.

    Pentru a crea o interogare de tip Make Table se parcurg urmtorii pai:

    1. se creaz o interogare n Design View;

    2. se selecteaz sursa datelor (din fereastra Show Table, dublu-clic pe numele tabelelor, acestea

    fiind legate ntre ele), apoi se nchide fereastra Show Table;

    3. se selecteaz cmpurile dorite, se ordoneaz datele, se adug condiii;

    4. se verific trecnd n Datasheet View rezultatul dorit, apoi se revine n Design View;

    5. se transform interogarea de selecie ntr-una de aciune selectndu-se butonul Make Table de

    pe panglic. n fereastra Make Table se va tasta numele noului tabel care va fi creat figura

    19;

    6. se va salva interogarea:

    7. se execut interogarea prin apsarea butonului Run de pe panglic.

    Observaie: Dac se dorete deschiderea interogrii pentru modificare, se apeleaz meniul contextual ataat interogrii din panoul de navigare, apoi se alege Design View. De fiecare dat cnd interogarea este apelat, tabela este rescris.

  • 20

    Fig. 19 Interogare de tip Make Table

    Se observ c icoana asociat interogrii de tip Make Table este diferit fa de cea asociat

    interogrilor de selecie.

    5.4.3.2 Interogri pentru actualizarea datelor (UPDATE)

    Interogrile care permit actualizarea datelor sunt folosite pentru a efectua anumite calcule asupra unor

    cmpuri din tabele (de exemplu, se mrete preul pinii cu 2%). Pentru a crea o interogarea de tip

    Update se parcurg urmtorii pai:

    1. se creaz o interogare n Design View;

    2. se selecteaz sursa datelor (din fereastra Show Table, dublu-clic pe numele tabelelor, acestea

    fiind legate ntre ele), apoi se nchide fereastra Show Table;

    3. se selecteaz cmpul a crui valoare trebuie modificat i cel ce limiteaz modificarea la

    anumite nregistrri (n acest caz, cmpul denumirea produsului pe care se va seta condiia pe

    linia Criteria (=paine, i cmpul pret, cruia i se va modifica valoarea n urma interogrii);

    4. se transform interogarea de selecie ntr-una de aciune selectndu-se butonul Update de pe

    panglic. n fereastra QBE va apare o nou linie numit Update To. Pe acea linie, sub pret se

    va scrie formula de calcul: [pret]+[pret]*2/100;

    5. se verific trecnd n Datasheet View rezultatul dorit, apoi se revine n Design View;

    6. se salveaz interogarea;

    7. se execut interogarea prin apsarea butonului Run de pe panglic.

    Se observ c icoana asociat interogrii de tip Update este diferit fa de cea asociat interogrilor

    de selecie i de cea a interogrii de tip Make Table.

    5.4.3.3 Interogri pentru adugarea datelor din alte tabele (APPEND)

    Interogrile de acest tip permit adugarea unor nregistrri din alte tabele care au n componen

    cmpuri de acelai tip.

    Pentru a crea o interogarea de tip Append se parcurg urmtorii pai:

    1. se creaz o interogare n Design View;

    Observaie: Dac se dorete deschiderea interogrii pentru modificare, se apeleaz meniul contextual ataat interogrii din panoul de navigare, apoi se alege Design View. De fiecare dat cnd interogarea este apelat, valoarea cmpului este modificat.

  • 21

    2. se selecteaz sursa datelor tabelul surs, de unde se dorete transferul datelor n cellalt tabel

    (din fereastra Show Table, dublu-clic pe numele tabelelor, acestea fiind legate ntre ele), apoi

    se nchide fereastra Show Table;

    3. se selecteaz cmpurile care se doresc a fi trimise ntr-o alt tabel. n acea tabel vor trebui s

    existe cmpuri de acelai tip cu cele selectate la acest pas;

    4. se selecteaz o ordine de sortare a nregistrrilor i/sau se completeaz liniile Criteria i Or

    (dac este cazul);

    5. se verific trecnd n Datasheet View rezultatul dorit, apoi se revine n Design View;

    6. se transform interogarea de selecie ntr-una de aciune selectndu-se butonul Append To. Se

    selecteaz numele tabelei destinaie. Se observ adugarea unei noi linii n fereastra QBE, cu

    numele Append To. Dac numele cmpurilor din cele dou tabele difer, celula

    corespunztoare din tabela destinaie, de pe linia Append to, va rmne necompletat. Ea

    poate fi completat utilizndu-se caseta combinat, alegnd numele cmpului dorit din tabela

    destinaie;

    7. se salveaz interogarea;

    8. se execut interogarea prin apsarea butonului Run de pe panglic.

    Aceeai observaie este valabil ca i la interogarea de tip Update. Totodat, icoana asociat acestui

    tip de interogare este diferit de celelalte.

    5.4.3.4 Interogri pentru tergerea nregistrrilor (DELETE)

    Acest tip de interogare se utilizeaz pentru a terge automat anumite nregistrri din una sau mai multe

    tabele. Pentru a crea o interogarea de tip Delete se parcurg urmtorii pai:

    1. se creaz o interogare n Design View;

    2. se selecteaz sursa datelor tabelul surs, de unde se dorete tergerea datelor (din fereastra

    Show Table, dublu-clic pe numele tabelelor, acestea fiind legate ntre ele), apoi se nchide

    fereastra Show Table;

    3. se selecteaz cmpul/cmpurile care conin valorile care compun condiia de tergere;

    4. se completeaz liniile Criteria i Or (dac este cazul n caz contrar vor fi terse toate

    nregistrrile din tabela sau tabelele respective);

    5. se transform interogarea de selecie ntr-una de aciune selectndu-se butonul Delete. Pe linia

    Delete va apare clauza Where, care permite construirea condiiei de tergere ;

    6. se verific trecnd n Datasheet View rezultatul dorit, apoi se revine n Design View;

    7. se salveaz interogarea;

    8. se execut interogarea prin apsarea butonului Run de pe panglic.

    Aceeai observaie este valabil ca i la interogarea de tip Append. Icoana asociat acestui tip de

    interogare este diferit de celelalte.

    Observaie: n cazul tergerii nregistrrilor din mai multe tabele, aceasta poate fi mpiedicat datorit setrii regulilor de integritate referenial (dac n fereastra Relationship, fiind selectat legtura dintre tabele, este selectat caseta Enforce Referential Integrity iar Cascade Delete Related Records nu

    este bifat).

  • 22

    5.5 Obiecte Forms

    Formularul este un obiect al bazei de date care permite vizualizarea, modificarea sau introducerea a

    noi informaii n tabela pe baza cruia a fost creat.

    Pe un formular pot fi adugate urmtoarele tipuri de controale:

    legate: sunt create pe baza unui tabel, a mai multor tabele sau a unei interogri, permit vizualizarea nregistrilor, actualizarea valorilor cmpurilor sau adugarea unor cmpuri

    calculate;

    nelegate: destinate crerii unui meniu, afirii unor mesaje, informaii despre sistem, etc.

    Formularele pot fi create utiliznd butoanele de pe panglic. Vom prezenta n continuare crearea

    formularelor cu ajutorul butoanelor Form, Form Wizard i Design Form.

    5.5.1 Formulare create cu ajutorul butonului Form

    Pentru a crea un formular, se selecteaz din panoul de navigare numele tabelei sau interogrii care va

    conine sursa datelor.

    Dac tabelul este tabel de referin pentru mai multe alte tabele sau este tabel referit de alte tabele

    (copil) atunci Access va crea automat un formular cu layout-ul Columnar (este afiat coninutul

    unei singure nregistrri la un moment dat) figura 20.

    Pentru a vizualiza toate nregistrrile se poate utiliza bara de navigare Record aflat n partea de jos a

    formularului, utilizndu-se butoanele Next Record (trecerea la urmtoarea nregistrare), Previous

    Record (trecerea la nregistrarea anterioar), First Record (trecerea la prima nregistrare), Last

    Record (trecerea la ultima nregistrare), New (Blank) Record (adugarea unei noi nregistrri) i

    Search.

    Fig. 20 Formularul Furnizori

    Dac tabelul este tabel de referin pentru un singur tabel, atunci Access va crea automat un formular

    cu subformular, afind n subformular doar acele nregistrri din tabela referit care verific condiia

    ca valoarea cheie strin este egal cu valoarea afiat n cmpul cheie primar din tabela de referin

    afiat n formular. Pentru tabela de referin layout-ul formularului este Columnar (este afiat o

    singur nregistrare la un moment dat), iar pentru sub-formular layout-ul este Tabular (sunt afiate

    toate nregistrrile care verific condiia de legtur) figura 21. Totodat cmpul cheie strin (din

    tabelul referit) este ascuns (nu este necesar afiarea aceluiai cmp de mai multe ori n cadrul unui

    formular).

    Se observ c pentru fiecare formular apare cte o bar de navigare Record. Cea mai de jos este

    pentru datele din tabelul de referin (printe), cea din interior va fi pentru datele din tabelul referit

  • 23

    (copil). Pentru a naviga prin nregistrri se utilizez bara corespunztoarelor formularului creat pentru

    tabelul de referin.

    Fig. 21. Formular cu sub-formular

    Modul de afiare afiat implicit va fi Form View. Dac se dorete, se poate trece la Design View

    pentru a modifica proprietile controalelor de pe formular cu ajutorul butonului View de pe panglic.

    5.5.2 Formulare create cu ajutorul butonului Form Wizard

    Access 2007 pune la dispoziia utilizatorilor un asistent care permite crearea rapid a nregistrrilor

    urmnd anumii pai. Pentru a utiliza butonul Form Wizard este necesar selectarea butonului More

    forms de pe panglic, opiunea de meniu Create figura 22.

    Fig. 22 Selectarea butonului Form Wizard

    Pentru a crea un formular utiliznd Form Wizard trebuie parcuri urmtorii pai:

    se selecteaz sursa datelor numele tabelului sau a interogrii pe baza cruia se dorete crearea formularului i a cmpurilor care se dorete s apar pe formular figura 23, apoi se

    apas butonul Next;

    Fig. 23 Selectarea sursei formularului

  • 24

    se selecteaz layout-ul formei (modul n care sunt aranjate nregistrrile pe formulare; Columnar i Justified afieaz o singur nregistrare la un moment dat, Tabular i

    Datasheet afieaz toate nregistrrile la un moment dat) figura 24, apoi se apas butonul

    Next;

    Fig. 24 Alegerea Layout-ului formularului

    se alege stilul (combinaiile de culori i obiectele grafice de pe formular) figura 25, apoi se apas butonul Next;

    Fig. 25 Alegerea stilului formularului

    se alege un titlu pentru formular i modul de vizualizare al acestuia, n cazul de fa deschiderea n modul de vizualizare Form View (Open the form to view or enter

    information) figura 26, apoi se apas butonul Finish.

    Fig. 26 Crearea unui titlu i deschiderea formularului n modul Form View

    Formularul astfel creat va arta ca n figura 27.

  • 25

    Fig. 27 Formularul Furnizori1 n Form View

    Orice formular conine urmtoarele zone figura 28:

    Form Header antetul formularului, utilizat pentru afiarea unui titlu, sigla unei companii, data ntocmirii;

    Detail zona n care sunt amplasate controalele corespunztoare nregistrrilor din tabelul sau interogarea surs;

    Form Footer: subsolul formularului, utilizat pentru comentarii, semnturi, numrul paginii, butoane de comand.

    Fig. 28 Formularul Furnizori1 n Design View

    Pentru a activa zonele Form Header/Footer se apeleaz meniul contextual al formularului,

    selectndu-se opiunea cu acelai nume.

    5.5.3 Formulare create cu ajutorul butonului Form Design

    Pentru a creea un formular cu ajutorul butonului Form Design se parcurg urmtorii pai:

    1. se selecteaz butonul Form Design de pe panglic, opiunea de meniu Create figura 29;

    Fig. 29 Un formular gol n Design View

  • 26

    2. de pe panglic, opiunea de meniu Design, se selecteaz butonul Property Sheet . n

    fereastra cu acelai nume, n cadrul casetei combinate Selection Type se alege obiectul Form.

    De pe pagina All, apelnd sgeata din dreptul casetei Record Source numele tabelei pe baza

    creia se va creea formularul: de exemplu furnizori figura 30;

    Fig. 30 Selectarea sursei formularului

    3. se selecteaz butonul Add Existing Fields iar din fereastra Field List se execut dublu-clic pe

    numele cmpurilor care se dorete s apar pe formular figura 31. Acestea vor aprea pe

    formular n zona de Detail a formularului;

    Fig. 31 Adugarea controalelor pe formular

    4. se salveaz formularul butonul Save de lng butonul Office;

    5. pentru a vizualiza nregistrrile se trece n modul de vizualizare Form View (folosind butonul

    View de pe panglic) figura 32.

    Fig. 32 Formular n modul de vizualizare Form View

    Pe formulare pot fi plasate diverse obiecte care poart numele de controale.

    Dintre cele mai des utilizate controale amintim:

    Label (etichete) control cu un coninut fix, corespunztor constantelor, utilizat pentru afiarea unor comentarii, titluri, mesaje. Access genereaz automat cte o etichet pentru

    majoritatea controalelor definite de utilizator. De obicei ele sunt plasate n stnga controlului

    pe care l nsoete. Toate etichetele vor fi salvate cu nume care ncep cu prefixul de 3 litere lbl

    (label). Pentru fiecare control de tip etichet se vor modifica proprietile Name i Caption.

    Proprietatea Caption controleaz textul care va apare pe formular figura 33. Pentru a crea o

  • 27

    etichet, se selecteaz butonul de pe panglic, opiunea de meniu Design. n fereastra

    Property Sheet se modific proprietatea Name: lblTitluFurnizor, Caption: Lista furnizorilor;

    Fig. 33 Controale de tip etichet

    Text-box (casete de text) sunt controale cu coninut variabil, corespunztoare cmpurilor dintr-o tabel sau interogare, sau variabilelor. Coninutul acestora se modific n funcie de

    nregistrarea curent figura 34. Pentru toate casetele de text se modific proprietatea Name

    n fereastra Property Sheet. Prefixul pentru casetele de text este txt (text). Pentru casetele de

    text legate de un cmp, proprietatea Control Source apare automat completat n cazul

    formularului creat dup paii prezentai anterior. De exemplu, pentru caseta de text Nr_furn se

    va modifica proprietatea Name: txtNr_furn, proprietatea Control Source va fi automat

    completat cu valoarea Furnizori.Nr_furn (numele tabelei surs urmat de punct apoi

    numele cmpului de unde provin datele). Dac se dorete crearea unei casete de text, se

    selecteaz de pe panglic butonul . Vor fi create automat att o caset de text ct i o

    etichet care va explicita valorile afiate n caseta de text. Pentru etichet se vor modifica

    proprietile Name i Caption, iar pentru caseta de text se vor modifica proprietile Name i

    Control Source (dac nu este deja completat);

    Fig. 34 Controale de tip casete de text

    Button (butoane de comand) servete la declanarea unor aciuni predefinite sau a unor aciuni definite prin intermediul unor proceduri Visual Basic Application. n capitolul urmtor

    este prezentat o modalitate de a crea butoane de comand fr ajutorul asistentului. Vom

    prezenta n continuare crearea unui buton cu ajutorul asistentului.

    Pentru a crea un buton fr a cunoate comenzi Visual Basic Application este necesar selectarea

    butonului Use Control Wizards de pe panglic . Se selecteaz butonul Button de

    pe panglic apoi se execut un clic n zona Form Footer figura 35.

    La primul pas se alege categoria de aciuni (navigare prin nregistrri, operaii cu nregistrri, operaii

    cu formulare, operaii cu rapoarte, nchiderea aplicaiei i diverse tiprirea tabelelor, execuia unei

    interogri, execuia unei macrocomenzi, etc).

  • 28

    Fig. 35 Crearea unui buton de comand cu ajutorul asistentului

    Dup ce s-a ales categoria, se alege aciunea din partea dreapt. n cazul de fa, s-au ales operaiile cu

    formulare pentru c se dorete crearea unui buton care s nchid forma, de aceea a fost selectat

    aciunea Close Form. Se trece cu Next la pasul urmtor.

    Se va alege opiunea Text specificndu-se textul care se dorete s apar pe buton: nchidere figura

    36, apoi se apas butonul Next.

    Fig. 36 Specificarea textului care va apare pe buton

    n cadrul ultimei ferestre se specific numele controlului. Butoanele de comand au prefixul cmd, deci

    numele controlului va fi cmdInchidere figura 37. Pentru a finaliza crearea butonului se apas

    selecteaz opiunea Finish.

    Fig. 37 Denumirea controlului de tip buton de comand

    Pentru a ncerca butonul trebuie selectat modul de vizualizare Form View figura 38.

    Fig. 38 Butonul Inchidere

  • 29

    n mod similar pot fi create multe alte butoane de comand pentru a automatiza baza de date.

    Pe un formular pot fi plasate controale care s afieze valori calculate. Pentru a crea un control

    calculat, se parcurg urmtorii pai:

    1. se selecteaz butonul Text box de pe panglic, apoi execut clic n zona Detail, sub

    controalele existente;

    2. se modific proprietile Name i Caption ale etichetei;

    3. se modific proprietatea Name a casetei de text;

    4. n cadrul proprietii Control Source se tasteaz formula de calcul, ncepnd cu semnul =.

    Numele cmpurilor sunt scrise ntre paranteze drepte, de exemplu: =[valoare fara TVA]*1,24.

    5.5.4 Formulare cu sub-formulare

    Crearea unui formular cu subformular permite actualizarea mai multor tabele prin intermediul unui

    singur obiect. Subformularele sunt create pentru tabelele referite din cadrul unei relaii de tip one-to-

    many. Formularul principal are ca surs tabelul de referin, reprezentnd partea de one (unu).

    Pentru acest formular se va utiliza un layout de tip Columnar sau Justified (permite afiarea unei

    singure nregistrri). Sursa subformular este tabelul referit, reprezentnd partea many (mai muli).

    Subformularul va fi construit pe baza unui layout de tip Tabular sau Datasheet (sunt afiate toate

    nregistrrile). Crearea unui formular cu subformular presupune nglobarea formularului many n

    formularul one.

    Pentru a crea un formular cu subformular se parcurg urmtorii pai:

    1. se creaz un formular utilizndu-se Form Wizard pentru tabela de referin, pe un layout de

    tip Columnar. Se salveaz formularul. Formularul rmne deschis n Design View;

    2. se creaz un formular utilizndu-se Form Wizard pentru tabela referit (copil), pe un layout

    de tip Tabular. Se salvez formularul i se nchide;

    3. n primul formular, se extinde zona Detail. Din panoul de navigare se alege numele

    formularului corespunztor tabelului referit i se depoziteaz pe formular n zona Detail, sub

    celelalte controale. Se salveaz formularul utilizndu-se butonul Office, opiunea Save as,

    Save object as, cu numele celor dou formulare care compun formularul cu subformular (de

    exemplu FurnizoriFacturi).

    5.6 Obiecte Reports

    Raportul este un obiect al bazei de date care permite vizualizarea informaiilor pe ecran sau trimiterea

    acestora la imprimant. Raportul poate fi creat fie pe baza unui tabel, fie pe baza unei interogri.

    Un obiect de tip report poate conine urmtoarele zone:

    Report Header/Footer zona de antet i subsol ale raportului, ele apar o singur dat la nceputul, respectiv finalul raportului;

    Page Header/Footer zona de antet i subsol ale fiecrei pagini a raportului; Group Header/Footer zona de antet i subsol al cmpului/cmpurilor dup care se

    realizeaz o grupare;

    Detail se afieaz pentru fiecare nregistrare n parte; Subrapoarte sunt obiecte de tip raport coninute n cadrul raportului printe; Controale obiecte care pot fi plasate n cadrul raportului.

  • 30

    Varianta cea mai simpl de creare a rapoartelor este Report Wizard. Dac se dorete afiarea datelor

    din mai multe tabele, poate fi creat o nou tabel pe baza unei interogri, raportul fiind construit pe

    baza acesteia. Dac se dorete afiarea unor cmpuri calculate, acestea pot fi create cu ajutorul unei

    interogri, raportul fiind creat pe baza interogrii.

    Raportul creat cu ajutorul instrumentului Report Wizard poate fi deschis n modul Design View i

    modificat prin adugarea unui nivel de grupare, a unei sortari sau a unor cmpuri calculate.

    Pentru a construi un raport n Report Wizard se parcurg urmtorii pai:

    1. se selecteaz opiunea de meniu Create, butonul Report Wizard;

    2. din caseta Tables/Queries se alege sursa raportului (tabelul sau interogarea), iar cu ajutorul

    sgeilor din mijlocul ferestrei se selecteaz cmpurile care se doresc a fi afiate n raport, ele

    aprnd n fereastra Selected Fields, apoi se apas butonul Next figura 39;

    Fig. 39 Selectarea sursei raportului

    3. Se pot aduga unul sau mai multe niveluri de grupare selectnd numele cmpului din partea

    din stnga. Se folosesc butoanele cu sgei pentru a selecta cmpul/cmpurile ca nivel de

    grupare. Pot fi adugate pn la 10 niveluri de grupare figura 40.

    Fig. 40 Adugarea unor criterii de grupare

    Dac se doresc grupri mai speciale, se poate selecta butonul Grouping Options. n funcie de

    tipul cmpului selectat pot fi alese intervale de grupare, de exemplu n cazul unui cmp de tip

    Text grupare dup prima liter, dup primele 2 litere, etc figura 41. Pentru a trece la pasul

    urmtor se apas butonul Next;

  • 31

    Fig. 41 Opiuni de grupare

    4. se poate stabili o ordine de afiare a nregistrrilor n cadrul raportului, sortnd pn la 4

    cmpuri simultan figura 42, apoi se apas butonul Next figura;

    Fig. 42 Opiuni de ordonare

    5. Se pot alege diverse modaliti de aranjare a datelor (Stepped, Block sau Outline) i se poate

    seta orientarea paginii (Portrait pe vertical sau Landscape pe orizontal), apoi se apas

    butonul Next figura 43;

    Fig. 43 Opiuni legate de formatare

    6. se poate alege un stil dintr-o list cu stiluri disponibile, fiind vizibil un Preview al acestuia n

    partea din stnga al ferestrei, apoi se apas Next figura 44;

    Fig. 44 Alegerea unui stil

    7. la ultimul pas se alege titlul raportului i vizualizarea acestuia n modul Preview figura 45,

    apoi se apas butonul Finish.

  • 32

    Fig. 45 Adugarea unui titlu

    Raportul va fi afiat n modul Print Preview figura 46. Pentru a reveni la modul de Design, se apas

    butonul Close Print Preview de pe panglic.

    Fig 47 Raport n modul Print Preview

    Raportul n modul Design View seamn cu un obiect de tip formular n Design View figura 48.

    Fig. 48 Raport n Design View

    Pentru cmpurile numerice care conin valori multiple n cadrul aceluiai grup, la pasul 4 se va afia

    un buton n plus, denumit Summary Options figura 49.

  • 33

    Fig. 49 Butonul Summary Options

    Dac acesta este selectat, pune la dispoziia utilizatorilor funcii totalizatoare: SUM, MIN, MAX i

    AVG figura 50.

    Fig. 50 Fereastra Summary Options

    Se poate selecta una din opiunile Detail and Summary (vor fi afiate subtotaluri la nivelul fiecrui

    grup i la nivel de raport) sau Summary Only (doar subtotal la nivel de grup) figura 51.

    Fig. 51 Raport cu grupare i subtotaluri la nivel de grup i raport

    Pe orice raport pot fi create casete de text care pot fi calculate dup modelul prezentat n paragraful

    5.5.3. Pentru a aduga o funcie totalizatoare (de exemplu, calcularea valorii totale a tuturor facturilor,

    n zona Report Footer se va aduga o caset de text. Se vor modifica proprietile Name i Caption

    corespunztoare etichetei. Se va modifica proprietatea Name asociat casetei de text. n cadrul

    proprietii Control Source asociat casetei de text se va tasta formula

    =SUM([cantitate]*[pret]*1,24)). Din cadrul proprietii Format asociat casetei de text se va alege

    opiunea Currency, pentru afiarea simbolului valutar.

  • 34

    5.7 Obiecte Macros

    Obiectele de tip Macro sunt un instrument util atunci cnd se dorete execuia unor aciuni i evitarea

    programrii. Ele automatizeaz operaiunile din cadrul unei baze de date Access. Obiectele de tip

    Macro pot fi ncorporate n cadrul unui formular, depinznd de obiectul n care este plasat, sau pot fi

    autonome, fiind apelabile de oriunde.

    n cadrul unui obiect de tip Macro pot fi selectate mai multe aciuni, acestea fiind alese dintr-o list i

    executate n ordinea n care au fost create.

    O macrocomand se execut folosindu-se butonul Run (ca i n cazul interogrilor de aciune).

    Cu ajutorul macrocomenzilor pot fi create meniuri personalizate pentru a nlocui panglica (Ribbon-ul).

    Pentru a crea o macrocomand se selecteaz opiunea de meniu Create, iar din zona Other, Macro.

    De exemplu, dac se dorete crearea unei macrocomenzi care s deschid o interogarea n mod Read-

    Only se vor parcurge urmtorii pai:

    n coloana Action se alege dintr-o list de aciuni predefinite, Open Query; n partea de jos a ecranului se selecteaz Query Name (numele interogrii); se selecteaz modul de vizualizare n care va fi deschis interogarea (n cazul de fa

    Datasheet);

    n caseta Data Mode se alege Read-Only.

    Macrocomanda va fi salvat cu numele Deschidere Interogare Furniz i poate fi executat apsnd

    butonul Run figura 52.

    Fig. 52 Crearea unei macrocomenzi

    De regul macrocomenzile sunt ataate fie unei opiuni de meniu fie unui buton de comand plasat pe

    un formular.

  • 35

    5.8 Obiecte Modules

    Obiectele de tip Module sunt module de program scrise n Visual Basic Application. Ne vom ocupa

    de module de cod n capitolul urmtor, ca suport al execuiei comenzilor SQL (Structured Query

    Language). Utilizarea limbajului de programare Visual Basic Application nu face obiectul prezentului

    curs.

    5.9 Concluzii

    Microsoft Access ofer utilizatorilor un mediu vizual cu o interfa grafic prietenoas, capabil de a

    dezvolta aplicaii complexe, fr a avea nevoie de cunotine de programare. Fa de versiunile

    anterioare, Access conine o serie de mbuntiri (sunt puse la dispoziia utilizatorului o serie de

    abloane, ofer suport pentru introducerea datei calendaristice, apariia unui nou tip de cmp

    Attachment, pentru stocarea mai multor obiecte create cu alte aplicaii, etc). Noua interfa Microsoft

    Access 2007 este una unitar n pachetul Microsoft Office, utilizatorul putnd regsi cu uurin

    comenzile uzuale.

    5.10 Rezumatul capitolului

    Gestionarea obiectelor Access se realizeaz ntr-o manier centralizat prin nglobarea lor n baza de

    date. Sunt disponibile interfee simple pentru construirea structurii bazei de date (tabelele, relaiile

    dintre ele i dicionarul de date), crearea unor formulare pentru inserarea datelor n tabele sau

    actualizarea datelor din tabele, automatizarea acestora cu ajutorul butoanelor de comand, crearea unor

    panouri de comand care vor gestiona operaiile efectuate cu baza de date, selecia datelor din una sau

    mai multe tabele, dup anumite criterii, actualizarea tabelelor prin interogri care permit crearea unor

    noi tabele, inserarea de noi nregistrri, modificarea sau tergerea automat a acestora n funcie de

    anumite criterii, crearea macrocomenzilor pentru anumite aciuni uzuale sau crearea unor secvene de

    cod i afiarea datelor sau trimiterea acestora ctre imprimant.

    Mediul de lucru Access se bazeaz pe utilizarea ferestrelor, oferindu-se posibilitatea vizualizrii ntr-o

    fereastr cu mai multe tab-uri. Panoul de navigarea grupeaz toate obiectele bazei de date.

  • 36

    5.11 Exemple

    5.11.1 Problem rezolvat Tabel creat n Datasheet View

    S se creeze o baz de date cu numele Exemplul 1 care s conin un tabel cu numele Studeni. Acesta

    va avea structura ID, nume, prenume, an, serie, grupa, data naterii, adresa, cstorit, email, fotografie.

    Se vor introduce 3 studeni n tabel.

    Rezolvare

    Se va crea o baz de date cu numele Exemplul 1, salvat pe Desktop. Odat cu crearea bazei de date,

    Access creaz automat o tabel cu numele care va conine un cmp ID (identificator) de tip

    Autonumber, care va fi cheia primar a tabelei.

    Figura 53. Crearea unei tabele

    Pentru a salva tabela i a modifica numele acesteia, se apas butonul Save aflat pe bara panglic.

    Construirea a structurii tabelei va continua cu adugarea unui nou cmp (o nou coloan) executndu-

    se dublu-clic pe linia cu ID, celula n care apare Add New Field figura 53. Dup tastarea numelui

    cmpului, se apas Enter, trecerea fiind fcut la urmtoarea coloan. Dup ce s-a editat capul de

    tabel se trece la introducerea datelor n tabel.

    Cmpul ID fiind de tip Autonumber, acesta va fi completat automat odat cu selectarea primei litere

    din numele studentului. Se completeaz toate cmpurile pn la fotografie. Se observ faptul c nu

    exist posibilitatea completrii acestui cmp. Pentru aceasta trebuie modificat tipul. Pentru aceasta se

    alege de pe bara de meniuri opiunea de meniu Datasheet, caseta Data Type i se selecteaz OLE

    Object.

    Fig. 54. Meniul Datasheet, caseta Data type

    Se observ faptul c valoarea din coloana anul, fa de valorile din coloanele seria i grupa, este

    aliniat la stnga, fa de celelalte dou valori care sunt aliniate la dreapta. Microsoft Access 2007

    pstreaz acelai mod de aliniere ca i Microsoft Excel 2007, irurile de caractere sunt aliniate la

    stnga, iar numerele aliniate la dreapta. Deci cmpul an nu este recunoscut ca fiind de tipul potrivit

    (Number). De aceea se selecteaz coloana an i se procedeaz n acelai mod ca n cazul fotografiei,

    selectnd tipul de date Number. Microsoft Access afieaz un mesaj de avertizare atunci cnd tipul de

    date este schimbat, unele valori putnd fi pierdute figura 55.

  • 37

    Fig. 55 Mesaj de avertizare la schimbarea tipului de date

    Se poate selecta fiecare cmp pentru a se verifica formatul dorit. n cazul n care valoarea care a fost

    introdus nu corespunde cu valorile care trebuie introduse n cadrul acestui cmp, valoarea existent

    este pierdut.

    n cazul cmpului data naterii acesta trebuie s fie de tip Date/time, adresa de tip memo (texte mai

    mari de 255 de caractere), casatorit un cmp de tip Yes/No. Formatul clasic de afiare fiind un check-

    box (caset de opiune) care poate fi bifat sau nu, corespunztor celor dou valori posibile.

    Fig. 56 Valorile cmpului de tip Yes/No

    Cmpul e-mail trebuie s fie de tip Hyperlink.

    Pentru a introduce o fotografie n cmpul omonim, se selecteaz celula corespunztoare, se selecteaz

    meniul contextual, apoi opiunea Insert Object.

    Fig. 57 Introducerea unui obiect ntr-un cmp de tip OLE Object

    Sunt disponibile dou opiuni Create New sau Create from File. n acest caz vom presupune faptul

    c fotografia exist deja, deci alegem a doua opiune. Tehnologia OLE (Object Linking and

    Embedding) legare i ncorporare de obiecte, permite nglobarea obiectului n tabel, deci n baza de

    date, sau, dac se selecteaz opiunea Link, crearea unei legturi ctre obiectul respectiv, fr ca

    acesta s fie ncorporat n tabel.

    Fig. 58 Alegerea unei fotografii

    Cmpul fotografie va fi completat cu textul Package. La execuia unui dublu-clic, fotografia va fi

    deschis pentru a fi vizualizat cu softul predefinit pentru vizualizarea fotografiilor.

  • 38

    Se introduc nc 2 studeni. Dac este necesar, se poate utiliza bara orizontal de derulare (Scroll)

    aflat n partea de jos a ecranului figura 59.

    Fig. 59 Bara de derulare orizontal

    Modul de vizualizare utilizat se observ de pe bara de stare Datasheet View. Pentru a trece de la un

    mod de vizualizare la altul se pot utiliza butoanele de pe bara de stare: Datasheet View, PivotTable

    View, PivotChart View sau Design View. Modul de vizualizare Datasheet View se utilizeaz n

    general pentru a vizualiza datele din tabel, iar modul Design View se utilizeaz pentru a modifica

    proprietile structurii tabelei. Opiunile PivotTable View i PivotChart View permit crearea unui

    tabel, respectiv a unui grafic pivot.

    n modul de vizualizare Datasheet View, bara de unelte Record permite navigarea prin nregistrri.

    Cu ajutorul acesteia se permit n ordine: selectarea primei nregistrri, trecerea la nregistrarea

    anterioar, afiarea numrului nregistrrii curente din numrul total de nregistrri, trecerea la

    urmtoarea nregistrare, selectarea ultimei nregistrri, crearea unei noi nregistrri, dezactivarea unui

    filtru (dac exist activat un criteriu de filtrare) precum i cutarea unei valori n tabel figura 60. De

    reinut faptul c la un moment dat suntem poziionai pe o singur nregistrare din tabel.

    Fig. 60 Bara de navigare Records fr filtrare

    Pentru a terge o nregistrare se selecteaz antentul de linie i se apas tasta Delete de pe tastatur. n

    cazul exemplificat n figura 61 s-au selectat 2 nregistrri pentru tergere.

    Fig. 61 Mesajul de atenionare afiat la tergerea a dou nregistrri

    Pentru a terge un cmp se poziioneaz cursorul pe antetul de coloan (unde este afiat numele

    cmpului) i se selecteaz din meniul contextual opiunea Delete Column. Sistemul afieaz un mesaj

    de avertizare figura 62.

    Fig. 62 Mesaj de avertizare la tergerea unui cmp

  • 39

    Tabelul va fi automat deschis n modul de vizualizare Datasheet View. Pentru a trece la modul de

    vizualizare special pentru modificarea proprietilor tabelului se selecteaz butonul Design View de pe

    bara de stare figura 63.

    Fig. 63 Trecerea la modul de vizualizare Design View.

    Modul de vizualizare Design View permite setarea unor caracteristici (proprieti) nivel de fiecare

    cmp n parte figura 64.

    Fig. 64 Modul de vizualizare Design View

    Modul uzual de lucru pentru crearea unei tabele este n modul de vizualizare Design View, acesta

    permind setarea unor valori implicite, reguli de validare, moduri de afiare a datelor n cmp, etc.

  • 40

    5.11.2 Problem rezolvat Tabele create n Design View

    Se dorete informatizarea activitii unei firme. Furnizorii sunt identificai prin cod furnizor,

    denumire furnizor (numele i prenumele furnizorului), localitatea, adresa, email, banca furnizor i

    cont furnizor. Despre produse se cunosc cod produs, denumire produs, unitate de msur, stoc, pre

    unitar. Produsele sunt depozitate n magazii, pentru care se cunosc cod magazie, denumire magazie,

    gestionar (numele persoanei care are n gestiune depozitul respectiv). Operaiunile se desfoar pe

    baza unor facturi, care trebuie s conin numrul facturii i data facturii. Fiecare factur conine

    detaliate liniile facturii i anume denumirea produsului, preul unitar, cantitatea facturat, calculndu-

    se valoarea produsului (cu i fr TVA) i valoarea total a facturii cu i fr TVA.

    Rezolvare

    n urma analizei datelor i a aplicrii metodei matricii dependenelor funcionale din capitolul anterior,

    se obine urmtoarea schem a bazei de date:

    Fig. 65 Fereastra Relationship

    Primul pas este crearea bazei de date. Aceasta va purta numele Firme. Pentru a crea baza de date, se

    deschide mediul de lucru Access, apoi se alege opiunea Blank Database. Pentru a alege locaia n

    care va fi salvat fiierul se alege icoana galben de folder, selectndu-se Desktop-ul ca destinaie, apoi

    se tasteaz denumirea: Firme.

    Dup crearea bazei de date se trece la analiza fiecrui tabel n parte i alegerea tipului de cmp cel mai

    potrivit datelor care vor fi salvate n acesta.

    Este foarte important ordinea n care tabelele voi fi create. Pentru aceasta se aleg tabelele de referin

    (tabelele printe, cum ar fi Furnizori, Magazii, Produse) urmnd ca dup crearea acestora s se creeze

    tabelele referite (Facturi, ProduseFacturate, ProduseMagazii).

    n momentul n care se creaz baza de date, Access deschide automat un tabel cu numele Table1.

    Se va modifica tabelul Table1 n tabelul Furnizori. Pentru aceasta vom salva tabelul cu numele

    Furnizori, apelnd butonul Save de lng butonul Office. Pentru a aduga cmpuri i pentru a

    modifica proprietile acestora, se va trece n modul de vizualizare Design View, fie folosind butonul

    View de pe panglic, fie butonul cu acelai nume de pe bara de stare.

    Se vor introduce urmtoarele cmpuri:

    primul cmp l vom modifica din ID n cod_f (codul furnizorului), vom alege tipul de date Number, Field Size: Integer, i Caption: cod furnizor, Validation Rule: >0, Validation Text:

    Introducei un numr pozitiv, Required: Yes;

    pentru cmpul den_f (denumirea furnizorului) tipul de dat Text, Field Size: 30, Format: >, Caption: denumire furnizor, Required: Yes, Allow Zero Length: No, Indexed: Yes (Duplicates

    OK);

    localit (localitate) de tip Text, Field Size: 30, Caption: localitate, Default Value: Timisoara; adresa de tip Memo; email de tip Hyperlink; banca de tip Text, Field Size: 30, Format: >, Required: Yes, Allow Zero Length: No; cont (contul din banc, IBAN) de tip Text, Fields Size: 24, Input Mask:

    "RO"99LLLL9999999999999999.

  • 41

    Fig. 66 Butonul View

    Dup ce toate cmpurile au fost create, se salveaz tabela alegnd butonul Save, apoi se apas sgeata

    de pe butonul View, de unde se alege Datasheet View figura 66, pentru a introduce datele a trei

    furnizori n tabel figura 67.

    Fig. 67 Tabela Furnizori n Datasheet View

    Dup ce tabela a fost creat i s-au introdus nregistrri n ea, aceasta va fi nchis.

    Pentru a crea o nou tabel, de pe bara de meniuri se alege opiunea Create, butonul Table Design.

    Pentru tabela Magazii se insereaz urmtoarele cmpuri:

    cod_m (cod magazie) Primary key, de tip Number, Field Size: Byte, Caption: Cod magazie, Required: Yes;

    den_m de t