of 78/78
Utilizarea TIC pentru servicii de calitate în domeniul financiar contabil POSDRU/81/3.2/S/59664 Proiect cofinanţat din Fondul Social European prin Programul Operaţional Sectorial Dezvoltarea Resurselor Umane 2007-2013 FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial Dezvoltarea Resurselor Umane 2007 – 2013 Axa prioritară 3 „Creşterea adaptabilităţii lucrătorilor şi a întreprinderilorDomeniul major de intervenţie 3.2 Formare şi sprijin pentru întreprinderi şi angajaţi pentru promovarea adaptabilităţiiTitlul proiectului: „Utilizarea TIC pentru servicii de calitate în domeniul financiar contabil Cod contract: POSDRU/81/3.2/S/59664 Proiect cofinanţat din Fondul Social European prin Programul Operaţional Sectori al Dezvoltarea Resurselor Umane 2007-2013” – „Investeşte în oameni” Tehnologii Office cu aplicabilitate în domeniul financiar-contabil - Microsoft Access -

Tehnologia Aplicatiilor Office - Access

  • View
    121

  • Download
    7

Embed Size (px)

DESCRIPTION

Totul despre Access

Text of Tehnologia Aplicatiilor Office - Access

  • Utilizarea TIC pentru servicii de calitate n domeniul financiar contabil

    POSDRU/81/3.2/S/59664

    Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007-2013

    FONDUL SOCIAL EUROPEAN

    Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007 2013

    Axa prioritar 3 Creterea adaptabilitii lucrtorilor i a ntreprinderilor

    Domeniul major de intervenie 3.2 Formare i sprijin pentru ntreprinderi i angajai pentru

    promovarea adaptabilitii

    Titlul proiectului: Utilizarea TIC pentru servicii de calitate n domeniul financiar contabil

    Cod contract: POSDRU/81/3.2/S/59664

    Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea

    Resurselor Umane 2007-2013 Investete n oameni

    Tehnologii Office cu aplicabilitate n

    domeniul financiar-contabil

    - Microsoft Access -

  • Utilizarea TIC pentru servicii de calitate n domeniul financiar contabil

    POSDRU/81/3.2/S/59664

    Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007-2013

    Coninutul acestui material nu reprezint n mod obligatoriu poziia oficial a Uniunii Europene sau a Guvernului Romniei. The document does not represent the point of view of the European Union or Romanian Government. Autor: Ctlin Tudor

    ASE Bucureti

    Data: Aprilie, 2012

    Proiect: Utilizarea TIC pentru servicii de calitate n domeniul financiar contabil

    Copyright 2012 Reproducerea este autorizat, cu condiia menionrii sursei, cu excepia cazului n care se prevede altfel.

  • Utilizarea TIC pentru servicii de calitate n domeniul financiar contabil

    POSDRU/81/3.2/S/59664

    Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007-2013

    Coninut:

    1 Prezentarea general a unei baze de date ...................................................... 5

    1.1 Conceptul de baz de date ........................................................................ 5

    1.2 Delimitri conceptuale privind bazele de date relaionale ..................... 6

    1.3 Elementele unei baze de date Microsoft Access ................................... 12

    1.4 Crearea bazelor de date Access 2010. .................................................... 13

    1.4.1 Crearea asocierilor ntre tabelele unei baze de date relaionale .................... 18

    2.2. ncrcarea datelor n tabele i modaliti de filtrare a datelor unei baze

    de date. ............................................................................................................... 21

    2 Interogarea datelor i extragerea informaiilor din cadrul unei baze de date

    Access .................................................................................................................... 23

    2.1 Tipuri de cerere pentru interogarea bazelor de date ............................. 24

    2.2 Crearea obiectelor de tip cerere .............................................................. 26

    2.2.1 Crearea cererilor de selecie ......................................................................... 27

    2.2.2 Crearea cererilor parametrizate ..................................................................... 35

    2.2.1 Agregarea datelor din mai multe nregistrri ale unei interogri ..................... 39

    2.2.2 Cereri de tip tabel ncruciat (CrossTab) ....................................................... 41

    2.2.3 Crearea cererilor de aciune .......................................................................... 42

    3 Obiecte de tip formular ntr-o baz de date Access .................................... 49

    3.1 Crearea formularelor legate ..................................................................... 53

    3.1.1 Crearea rapid a unui formular ...................................................................... 54

    3.1.2 Utilizarea asistentului pentru crearea formularelor Access ............................ 55

  • Utilizarea TIC pentru servicii de calitate n domeniul financiar contabil

    POSDRU/81/3.2/S/59664

    Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007-2013

    3.1.3 Crearea formularelor n modul de proiectare ................................................. 59

    3.2 Crearea formularelor nelegate................................................................. 65

    4 Obiecte de tip raport ntr-o baz de date Access ........................................ 66

    4.1 Crearea obiectelor de tip raport .............................................................. 66

    4.1.1 Generarea rapoartelor cu ajutorul asistentului (Report Wizard) ..................... 67

    4.1.2 Modul de proiectare Design View .................................................................. 73

    Bibliografie selectiv ............................................................................................. 77

  • Baze de date Microsoft Access

    Pagina 5 din 78

    1 Prezentarea general a unei baze de date

    1.1 Conceptul de baz de date

    n cea mai simpl form, o baz de date reprezint o colecie de informaii care este

    organizat ntr-o list. De fiecare dat cnd realizm o list de informaii, cum ar fi

    nume, adrese, produse sau facturi, se creeaz, de fapt, o baz de date.

    O baz de date const, deci, ntr-un ansamblu structurat de date nregistrate pe

    suporturi accesibile calculatorului pentru a satisface simultan mai muli utilizatori de

    o manier selectiv i ntr-un timp oportun.

    Tehnic vorbind, nu este neaprat necesar s utilizm un program de baze de date

    pentru crearea de colecii de date de mici dimensiuni. O list de informaii poate fi

    creat utiliznd o mare varietate de programe, cum ar fi Microsoft Excel, Microsoft

    Word, chiar aplicaia Notepad din Windows. Spre deosebire de acestea, ns, un

    program de baze de date este mult mai puternic dect o simpl list pe care o

    pstrm n cadrul unui document Word sau tabel Excel. Un program de baze de

    date ofer celui care l utilizeaz diverse avantaje n plus, cum ar fi:

    Stocarea informaiilor: o baz de date pstreaz colecii de date i informaii care sunt legate de un anumit domeniu. Aceste colecii pot conine

    informaii personale sau informaii de afaceri. n plus, odat cu stocarea

    acestor informaii, o baz de date trebuie s ofere posibilitatea de a aduga noi

    date, de a le modifica sau terge pe cele existente sau de a le organiza n

    funcie de diverse criterii.

    Cutarea informaiilor: orice aplicaie de baze de date trebuie s dea posibilitatea celui care o utilizeaz s regseasc informaiile coninute de

    aceasta cu uurin i foarte rapid. Astfel, toi productorii de astfel de aplicaii

    sunt preocupai de minimizarea pe ct posibil a timpului de acces la datele

    coninute de ctre bazele de date.

    Analiza i imprimarea informaiilor: ntr-o baz de date se pot efectua diverse calcule, care ulterior pot forma diverse situaii ce pot fi

    prezentate sub forma unor rapoarte pe suport de hrtie.

    Partajarea informaiilor: cele mai multe programe de baze de date permit lucrul simultan cu baza de date a mai multor utilizatori, care pot utiliza

    aceeai informaie n acelai timp. Astfel de baze de date poart denumirea de

    baze de date multiuser sau multiutilizator.

    Un program sau aplicaie care ofer posibilitatea lucrului cu baze de date cu toate

    avantajele prezentate anterior poart denumirea de Sistem de Gestiune a Bazelor

    de Date, recunoscut adesea sub acronimul de S.G.B.D. El permite lucrul cu mai

  • Baze de date Microsoft Access

    Pagina 6 din 78

    multe baze de date, n acelai format, de unde i denumirea de sistem de gestiune.

    Un astfel de SGBD este i aplicaia Microsoft Access, distribuit de ctre Microsoft

    n pachetul de aplicaii Office. Cu toate c se regsete n aceeai suit de aplicaii

    cu Microsoft Word, Excel sau PowerPoint, printr-o comparaie dintre Microsoft

    Access i celelalte aplicaii Office putem observa c sistemul de gestiune al bazelor

    de date din aceast suit este mai intimidant pentru utilizator dect celelalte aplicaii

    datorit modului n care o baz de date funcioneaz. Pentru crearea, meninerea i

    utilizarea oricrei baze de date, n adevratul sens al cuvntului, sunt necesare

    reguli stricte, fr de care baza de date n-ar putea exista. nelegerea acestor reguli

    i aplicarea lor dau robusteea i rigurozitatea unei baze de date care s rspund

    att cerinelor de accesare rapid a informaiilor, ct i celor de partajare a acestora

    ntre mai muli utilizatori.

    1.2 Delimitri conceptuale privind bazele de date relaionale

    Datele formeaz cea mai important parte a unui sistem. Necesitatea organizrii lor

    ntr-o manier structurat constituie o preocupare major pentru orice organizaie,

    fiind imperativul numrul unu cnd discutm n termeni de rapiditate n accesarea

    informaiilor. Aceast structurare a datelor poate fi realizat prin intermediul bazelor

    de date. O baz de date este o colecie de date ce stocheaz informaii despre mai

    multe structuri de date. Gestiunea datelor se focalizeaz pe precizarea structurilor

    de date i a relaiilor care exist ntre realizrile acestora.

    O structur de date corespunde unei clase (grupri) de obiecte reale sau

    conceptuale i are ca atribute caracteristicile acestor obiecte. Aceste structuri de

    date se identific printr-un nume unic i se reprezint n planul datelor printr-o

    mulime de realizri (nregistrri). De exemplu, discutnd despre entitatea Furnizori,

    vom identifica ca fcnd parte din structura acesteia caracteristici precum

    Denumirea, Codul de identificare fiscal, Adresa, Pagina web, etc. Stocnd cte o

    valoare pentru fiecare asemenea atribut al unui furnizor, putem spune c la

    completarea tuturor valorilor, obinem o nregistrare a structurii de date Furnizori.

    La realizarea unei baze de date relaionale se impun cteva cerine pentru

    gestiunea corect a datelor:

    Independena datelor fa de programele de aplicaii: Baza de date trebuie

    s aib o structur de sine-stttoare, a crei existen s nu depind de alte

    programe care o utilizeaz.

    Asigurarea unei structuri ct mai puin redundante: Informaiile din cadrul

    unei baze de date trebuie s fie unice (s nu se repete) n cadrul bazei de date.

    Integritatea datelor: Datele trebuie s respecte diverse restricii i corelaii

    logice ntre ele, restricii ce mpiedic apariia erorilor logice sau structurale la

    nivelul bazei de date.

    Exist mai multe modele de reprezentare a datelor, ns cel mai des ntlnit este

    modelul relaional, n cadrul cruia datele unei structuri de date sunt stocate ntr-o

  • Baze de date Microsoft Access

    Pagina 7 din 78

    tabel (sau tabel) bidimensional, alctuit din coloane (atributele sau caracteristicile

    structurii de date) i rnduri (denumite nregistrri sau tupluri ale structurii de date).

    Civa termeni afereni domeniului bazelor de date sunt eseniali n nelegerea

    conceptelor de baz n proiectarea, crearea i utilizarea unei baze de date Microsoft

    Access:

    Tabel: o structur bidimensional, alctuit din rnduri i coloane, cu rol de a

    reine informaii specifice unei singure entiti.

    Cmp: O coloan a unui tabel care stocheaz date de acelai tip i cu

    aceeai semnificaie.

    nregistrare: Rnd n cadrul unui tabel care cuprinde mulimea valorilor

    aferente unei realizri a tabelului (n tabelul Clieni, o realizare cuprinde toate

    informaiile despre o singur persoan avnd aceast calitate).

    Domeniu: Mulimea tuturor valorilor aferente unui anumit cmp al tabelei,

    avnd acelai tip de date.

    Realizare a unui cmp: Valoarea unui cmp pentru o singur nregistrare a

    unui tabel.

    Figura nr. 1.1 Elementele structurale ale unui tabel specific modelului relaional

    Succesul realizrii unei baze de date relaionale const n identificarea unor elemente

    cheie care s asigure att integritatea tabelelor ct i a relaiilor stabilite ntre acestea.

    Cteva dintre conceptele de baz care definesc aceste elemente trebuie nelese pentru

    a construi coerent structura unei baze de date:

    Cheia primar a unui tabel reprezint acel cmp sau grup de cmpuri ale crui

    valori pot identifica, n mod unic, valorile celorlalte cmpuri din cadrul aceleiai

    nregistrri. De exemplu, marca salariatului poate identifica n mod unic valorile pentru

    celelalte cmpuri (Nume, Prenume, Data naterii, Salariul de ncadrare).

  • Baze de date Microsoft Access

    Pagina 8 din 78

    Cheia extern exprim acel cmp din cadrul unei relaii, care, n cadrul altui tabel,

    se regsete sub forma unei chei primare, avnd rol n asocierea dintre tabele.

    Asocierea dintre dou tabele exprim legtura logic i funcional care se creeaz

    ntre acestea, prin intermediul cmpurilor de legtur cheie primar - cheie extern.

    Pentru asigurarea integritii informaiei unei baze de date, tabelele care deservesc

    structuri de date se asociaz unele cu altele n vederea asigurrii fluxului

    informaional. Nu se poate trata un furnizor separat de facturile pe care acesta le

    emite. Prin urmare, soluia este s se asocieze tabela Facturi cu tabela Furnizori,

    astfel nct s se cunoasc, pentru fiecare furnizor, ce facturi au fost emise de

    acesta. Aceast asociere se realizeaz prin intermediul valorilor a dou cmpuri

    comune, ce desemneaz acelai tip de informaie. Astfel, asocierea reprezint, de

    fapt, totalitatea legturilor care se formeaz ntre un numr de nregistrri din primul

    tabel cu un anumit numr de nregistrri din cel de-al doilea, prin intermediul

    valorilor egale a dou cmpuri comune situate, fiecare, ntr-unul din cele dou

    tabele. n exemplul din Figura nr. 1.2 cmpul comun este denumire CodFurnizor,

    prin intermediul su cunoscndu-se care este denumirea i adresa fiecrui furnizor

    care a emis o anumit factur.

    Figura nr. 1.2 Asocierea dintre dou tabele ale unei baze de date relaionale

    Introducerea conceptului de asociere ntre tabele a fost rspunsul bazelor de

    date relaionale la asigurarea unei structuri de date ct mai puin redundante.

    Redundana semnific duplicarea inutil a datelor dintr-unul sau mai multe

    cmpuri sau repetarea acelorai valori n dou cmpuri din tabele diferite.

    Inconvenientul principal este acela c o singur actualizare a unei date

    redundante necesit modificri multiple n cadrul aceluiai cmp sau la nivelul

    mai multor cmpuri (anomalii de actualizare). Un exemplu de redundan este

    cel din Figura nr. 1.3 prin repetarea valorilor anumitor cmpuri n mai multe

    nregistrri.

  • Baze de date Microsoft Access

    Pagina 9 din 78

    Figura nr. 1.3 Exemplu de redundan a datelor

    Aa cum se poate observa, structurarea datelor n aceast manier induce o

    repetare a datelor legate de furnizori pentru situaia n care acetia au emis mai mult

    de o factur. Eliminarea redundanei presupune scindarea tabelului anterior n dou

    tabele diferite ce se vor asocia ulterior prin intermediul unui cmp comun. Acest

    cmp comun trebuie s ia valori unice la nivelul unuia dintre tabele i s identifice

    valorile celorlalte cmpuri din acel tabel. n acest fel, redundana se va limita la

    valorile acelui cmp ce va fi preluat n cadrul celui de-al doilea tabel pentru a nu se

    pierde legturile dintre informaii (dac s-ar separa datele despre furnizori de cele

    despre facturi, fr a se pstra o legtur ntre ele, nu s-ar mai cunoate ce furnizori

    au emis aceste facturi).

    Figura nr. 1.4 Eliminarea redundanei prin separarea datelor n mai multe tabele relaionate

    Eliminarea redundanei prin modelul relaional presupune separarea datelor n dou

    tabele diferite, dar care se vor asocia ulterior. Asocierea dintre cele dou tabele const

    ntr-un procedeu simplu care presupune ca ntr-una dintre aceste tabele s fie preluat

    cmpul (coloana) care identific cealalt tabel (cheia primar). Acest cmp va deveni

    n prima tabel cheie extern i are rolul de a asocia cele dou tabele (Figura nr. 1.4).

    Pentru orice asociere, este necesar s se cunoasc tipul acesteia. n acest sens, o

    asociere poate s se ncadreze ntr-una din urmtoarele categorii:

    Unu-la-unu (1-1) unei nregistrri dintr-un tabel i corespunde o singur

    nregistrare din cel de-al doilea tabel, i reciproc.

  • Baze de date Microsoft Access

    Pagina 10 din 78

    Unu-la-muli (1-n) unei nregistrri dintr-un tabel i pot corespunde una

    sau mai multe nregistrri din cel de-al doilea tabel, dar o nregistrare din

    cel de-al doilea tabel poate avea cel mult o singur nregistrare

    corespondent n primul tabel.

    Muli-la-muli (n-n) unei nregistrri dintr-un tabel i pot corespunde una

    sau mai multe nregistrri din cel de-al doilea tabel, dar i o nregistrare

    din cel de-al doilea tabel poate avea mai multe nregistrri corespondente

    n primul tabel.

    Cele mai frecvent ntlnite asocieri ntre dou tabele sunt de tipul 1-n, definind

    relaia prin intermediul perechilor de cmpuri cheie primar-cheie extern. Asocierile

    de tipul 1-1 sunt rar ntlnite, ele fiind determinate de necesitatea separrii

    cmpurilor unui tabel n dou tabele din motive de securitate sau din alte motive

    bine argumentate. De exemplu, definirea unei relaii de tip 1-1 poate fi stabilit

    pentru a separa datele personale ale angajailor unei companii de informaiile legate

    de accesul la date prin nume de utilizatori i parole, ntruct confidenialitatea

    datelor pentru cel de-al doilea tabel are un grad mult mai ridicat dect pentru tabelul

    care stocheaz datele personale.

    Figura nr. 1.5 Exemplu de tip de asociere 1-1

    Asocierile de tip n-n sunt relativ des ntlnite n conceperea unei baze de date

    relaionale, ele fiind nlocuite cu dou asocieri de tipul 1-n prin interpunerea ntre

    cele dou tabele asociate a unuia nou, denumit tabel de jonciune. Acest tabel are

    responsabilitatea de a asigura legtura dintre cele dou tabele care n mod normal

    s-ar asocia potrivit tipului n-n. Pentru exemplificare propunem spre analiz o colecie

    de date n cadrul creia se prezint situaia vnzrilor unui magazin ctre clieni

    persoane fizice (Figura nr. 1.6). Din punctul de vedere al coninutului informaional,

    se observ c anumite date se repet (codul intern al produsului, denumirea

    acestuia, cantitatea per unitatea de msur, nr bonului de cas, data i ora bonului

    de cas). Aceast redundan trebuie eliminat prin separarea i gruparea

    cmpurilor n tabele diferite, fiecare dintre acestea posednd o cheie primar ce

    impune valori unice la nivel de tabel.

  • Baze de date Microsoft Access

    Pagina 11 din 78

    Figura nr. 1.6 Colecia de date redundante ce urmeaz a fi separate n mai multe tabele

    Astfel, eliminarea redundanei ar presupune definirea a dou tabele principale n

    care datele nu se repet (Produse i Bonuri de cas) asociate printr-o legtur de

    tip mai muli la mai muli (Figura nr. 1.7).

    Figura nr. 1.7 Obinerea unei asocieri de tip N-N n urma eliminrii redundanei datelor

    Aceast asociere nu exprim suficient de clar legturile ce se formeaz ntre tabelul

    produse i tabelul bonuri de cas, ntruct niciunul dintre ele nu poate furniza cheia

    extern celuilalt (pentru c un singur produs nu trebuie vndut doar printr-un singur

    bon de cas, aa cum nici limitarea bonului de cas la un singur produs vndut nu

    este corect). n plus, datele privind cantitatea vndut din fiecare produs i preul

    de vnzare al acestuia nu pot fi plasate n niciunul din cele dou tabele, ntruct ar

    induce duplicri de date n cadrul acestora, ceea ce ar nclca principiul integritii

    entitii (cheia primar a unui tabel trebuie s fie unic). Soluionarea acestei

    probleme presupune crearea unui tabel de legtur ntre cele dou existente, care

  • Baze de date Microsoft Access

    Pagina 12 din 78

    va conine cheile primare ale acestora n postura de chei externe i va deine

    cmpurile Cantitate i Pre vnzare, ce vor depinde de grupul format din cele dou

    chei externe.

    Figura nr. 1.8 Soluionarea tipului de asociere mai muli la mai muli dintre dou tabele

    1.3 Elementele unei baze de date Microsoft Access

    O baz de date Microsoft Access este alctuit din mai multe elemente

    componente, denumite obiecte ale bazei de date. Unele obiecte sunt folosite

    totdeauna (fr ele baza de date nu poate exista), iar altele pot fi utilizate ocazional.

    Fiecare din aceste obiecte au funcii diferite, urmrind realizarea avantajelor

    prezentate mai sus, sau realizarea unei interfee ct mai agreabile pentru utilizator,

    astfel nct s uureze pe ct posibil lucrul cu baza de date. Urmtorul tabel

    identific i prezint obiectele coninute de ctre o baz de date Access:

    Obiect Descriere

    Tabele

    Sunt utilizate pentru a asigura funcia de stocare a

    datelor structurate n cadrul bazelor de date, fiind

    alctuite din rnduri (nregistrri) i coloane (cmpuri). O

    baz de date trebuie s conin cel puin un tabel pentru

    a exista. Celelalte obiecte sunt opionale.

    Interogri

    Ofer posibilitatea cutrii i regsirii rapide a

    informaiilor stocate n tabele, prin chestionarea bazei de

    date. Ele pot fi comparate cu anumite ntrebri care i se

    adreseaz bazei de date i la care aceasta trebuie s

    rspund.

  • Baze de date Microsoft Access

    Pagina 13 din 78

    Formulare

    Sunt ferestre din ecranul calculatorului care pot fi

    personalizate pentru a prezenta datele coninute n

    tabele sau interogri sub o form uor de neles. Ele

    dau i posibilitatea actualizrii datelor din tabele, n

    sensul c orice modificare efectuat la nivelul lor aduce

    dup sine modificarea informaiilor stocate n tabele.

    Rapoarte Prezint datele din tabele sau interogri ntr-o form

    care poate fi imprimat pe suport de hrtie.

    Macrocomenzi

    Permit efectuarea unor sarcini de rutin, prin

    automatizarea acestora ntr-o singur comand, care

    poate fi apelat mult mai uor de fiecare dat cnd este

    necesar.

    Module

    Sunt utilizate pentru automatizarea unor operaii, la fel

    ca i macrocomenzile, ns utilizeaz un limbaj de

    progamare pentru aceasta, ele fiind accesibile celor care

    dispun de cunotine de programare.

    Toate aceste obiecte din cadrul unei baze de date Microsoft Access interacioneaz,

    uneori unele fiind chiar dependente de altele.

    1.4 Crearea bazelor de date Access 2010.

    n Access, toate obiectele care alctuiesc structura unei baze de date sunt stocate

    ntr-un singur fiier. Astfel, orice baz de date Access va fi stocat sub forma unui

    fiier distinct (ncepnd cu versiunea Access 2007 acesta deine extensia accdb).

    Crearea bazei de date pornete de la generarea acestui fiier i continu cu crearea

    tabelelor i definirea asocierilor dintre acestea, urmate de ncrcarea nregistrrilor

    n tabele i completarea bazei de date cu celelalte tipuri de obiecte necesare.

    Pentru crearea unei baze de date noi se apeleaz meniul FileNewBlank

    Database. n cadrul casetei File Name ce apare n partea dreapt a ferestrei se va

    preciza numele fiierului ce va stoca baza de date alturi de locaia unde acesta va

    fi salvat odat cu apsarea butonului Create.

    Formatul bazelor de date create cu versiunea Access 2010 este acelai cu cel

    aferent versiunii Access 2007, asigurndu-se n acest sens, compatibilitatea ntre

    aceste dou versiuni (ambele utiliznd extensia .accdb). Access 2010 poate

    deschide bazele de date create cu versiunile anterioare. Dac, ns, utiliznd

    versiunea Access 2010, se vor apela obiecte care sunt prezente doar n acest

    format, versiunile anterioare nu vor putea accesa bazele de date create cu

    versiunea 2010.

  • Baze de date Microsoft Access

    Pagina 14 din 78

    Figura nr. 1.9 Procedura de creare a unei baze de date noi (necompletate)

    Baza de date nou creat va propune iniial crearea unui nou tabel a crui structur

    va fi definit de utilizator prin precizarea denumirilor de cmpuri i a valorilor

    specifice nregistrrilor acestuia. Structura ferestrei bazei de date este aplicat n

    Figura nr. 1.10.

    Figura nr. 1.10 Explicarea ferestrei Access 2010

  • Baze de date Microsoft Access

    Pagina 15 din 78

    1.3 Obiecte de tip tabel ntr-o baz de date Access Access pune la dispoziie mai multe metode pentru crearea tabelelor bazei de date:

    crearea instantanee a unui tabel definind direct cmpurile i nregistrrile acestuia

    sub forma unei structuri tabelare (opiune ce poate fi apelat prin meniul

    CreateTablesTable), crearea tabelului prin proiectarea structurii acestuia nainte

    de ncrcarea nregistrrilor (opiunea CreateTablesTable Design) sau

    construirea tabelului pornind de la o list preluat din Microsoft SharePoint (Create

    Table SharePoint List). Cea mai utilizat metod pentru crearea tabelelor

    Access este apelarea modului de proiectare (Table Design). Ea presupune, mai

    nti, definirea cmpurilor tabelului respectiv, a tipurilor de dat i a proprietilor

    fiecrui cmp n parte. De aceea, apelarea acestei metode coincide cu deschiderea

    unei ferestre pentru proiectarea tabelului, care conine dou panouri importante:

    grila de cmpuri i panoul de proprieti ale fiecrui cmp n parte (Figura nr. 1.4).

    Figura nr. 1.11 Fereastra pentru definirea structurii cmpurilor din cadrul unui tabel

    Descrierea cmpurilor se va realiza n cadrul grilei de cmpuri unde vor fi trecute

    toate denumirile de cmpuri din cadrul tabelului respectiv, n fiecare celul a

    coloanei Field Name. n atribuirea numelui unui cmp trebuie s se aib n vedere

    anumite reguli: denumirea trebuie s conin maxim 64 de caractere, s nu nceap

    cu spaiu i s nu conin caractere speciale precum semnul punct, semnul

    exclamrii sau paranteze drepte.

    Pentru fiecare cmp n parte este obligatorie precizarea tipului cmpului, adic ce

    fel de date va conine acesta (de tip text, de tip numr, de tip data calendaristic,

    etc.). Tipul cmpului va fi ales dintr-o list, n cadrul coloanei Data Type, pentru

    cmpul a crui denumire se afl pe acelai rnd. Principalele tipuri de dat pe care

    un cmp le poate lua i care se vor preciza n cadrul coloanei DataType sunt:

  • Baze de date Microsoft Access

    Pagina 16 din 78

    Text, care admite o lungime maxim a realizrii atributului de 255 caractere.

    Pentru acest tip de dat, lungimea implicit este de 50 de caractere.

    Memo, utilizat pentru stocarea datelor de tip text, mai precis pentru stocarea

    blocurilor de text de pn la 65.536 de caractere. Acest tip de dat este recomandat

    atunci cnd se dorete stocarea unei anumite descrieri cu privire la elementele unei

    nregistrri, putnd conine text formatat (rich text) i beneficiind de opiunea Doar

    adugare (Append only) util atunci cnd nu se permite modificarea sau tergerea

    coninutului existent.

    Number, pentru stocarea datelor de tip numeric, fiind reprezentat de mai multe

    subtipuri: Integer (cu valori cuprinse n intervalul [-32.768, 32.768]), Long integer (cu

    valori ntre -2.147.483.648 i 2.147.483.648), Byte (cu valori pozitive ntre 0 i 255),

    Single (cu 7 caractere dup virgul i valori ntre -3,4*1038 i 3,4*1038), Double (cu

    15 caractere dup virgul i valori cuprinse ntre -1797*1038 i 1797*1038).

    Date/Time, utilizat pentru stocarea datelor calendaristice sau de tip or.

    Currency, (format fix cu patru zecimale, prevenind erorile de rotunjire), al crui

    nume provine de la semnul monetar ($) pe care l afieaz automat naintea valorii

    cmpului.

    Autonumber, caracterizat prin faptul c genereaz automat o valoare numeric

    de tip Long Integer, prin incrementare cu o unitate (Increment) fa de ultima valoare

    a acestui cmp sau prin generare aleatoare (Random).

    Yes/No, tip de dat de tip logic: adevrat sau fals.

    OLE object, cu ajutorul cruia exist posibilitatea de includere n cadrul unei

    baze de date Access diverse fiiere care stocheaz imagini, sunete sau secvene

    video.

    Attachment, putnd stoca unul sau mai multe fiiere, utiliznd un sistem numit

    date complexe.

    Lookup Wizard, asistent pentru definirea regulilor pentru asigurarea integritii

    bazei de date.

    Cea de-a treia coloan din cadrul grilei este coloana pentru descrierea cmpului nou

    introdus (Description), unde, opional, utilizatorul poate face diverse comentarii cu

    privire la cmpul precizat pe acelai rnd.

    Fiecare tabel trebuie s aib definit o cheie primar. Cheia primar poate fi

    alctuit fie dintr-un singur cmp, fie din mai multe. Pentru definirea unei chei

    primare, se selecteaz cmpul sau cmpurile dorite i apoi se apas butonul

    (Primary Key) din grupul Tools al filei Design. Cmpul sau cmpurile care formeaz

    cheia primar pot fi recunoscute prin cheia () care le nsoete n dreptul capului de

    rnd. Pentru definirea unei chei primare compuse din mai multe cmpuri, se vor

  • Baze de date Microsoft Access

    Pagina 17 din 78

    selecta, n prealabil, toate cmpurile aferente (prin utilizarea procedeului de selecie

    multipl tasta CTRL apsat) i se va alege opiunea de stabilire a cheii primare.

    Simbolul de cheie primar va aprea, n aceast situaie, pentru toate cmpurile

    selectate.

    Pentru salvarea tabelului creat, se apeleaz meniul FileSave sau se apas

    butonul Save de pe bara de acces rapid, dup care se va preciza numele sub care

    va fi salvat. Dup salvarea tabelului n cadrul ferestrei de navigare a bazei de date

    (situat n partea stng a ferestrei aplicaiei Access) va aprea pictograma cu

    denumirea tabelului nou creat, ceea ce indic faptul c acesta a devenit un obiect al

    bazei de date.

    Principalele proprieti atribuite unui cmp dintr-un tabel Access pot fi vizualizate n

    tabelul urmtor:

    Nume

    proprietate Descriere

    Field Size Precizeaz dimensiunea maxim, prin stabilirea numrului de

    caractere a unui cmp de tip Text sau a unui subtip de dat pentru

    cmpurile Numerice.

    Decimal Places Stabilete numrul de caractere afiate dup virgul pentru un

    numr cu zecimale.

    Format Determin modul de afiare a valorii cmpului:

    - pentru tipul de dat Text caractere majuscule, minuscule,

    stabilirea unui text afiat pentru valori vide sau nule, etc.

    - pentru tipuri de dat numerice sau dat calendaristic modul de

    afiare a valorii stocate, prin precizarea secvenelor pentru

    formatare.

    Aceast proprietate vizeaz atribute definite cu tipul numeric, dat calendaristic sau logic. Formatul dorit poate fi

    ales prin selectarea dintr-o list predefinit pentru proprietatea

    Format. Pentru atributele numerice se poate opta pentru

    urmtoarele formate de afiare: General Number, Currency,

    Fixed, Standard, Percent, Scientific. n cazul atributelor de tip

    dat calendaristic exist formatele: General Date, Long

    Date, Short Date, Medium Date, Long Time, Medium Time,

    Short Time, iar n cazul atributelor logice: Yes/No, True/False,

    On/Off. Fiecare astfel de format prezint un exemplu pentru

    vizualizarea sa.

    Caption Specific textul afiat n titlul unei coloane, fr a afecta denumirea

    cmpului.

    Default value

    Stabilete o valoare implicit atribuit automat pentru orice realizare

    nou a cmpului.

    Input Mask

    Stabilete un ablon pentru ncrcarea datelor, prin precizarea unor

    caractere cu o semnificaie special. De exemplu, pentru a

  • Baze de date Microsoft Access

    Pagina 18 din 78

    permite introducerea unui caracter de tip numeric (o cifr),

    masca de introducere trebuie s conin semnul #, cifra 9 sau

    cifra 0.Proprietatea Format are prioritate n faa ablonului stabilit.

    Validation Rule

    Restricie impus valorilor cmpului, prin precizarea unei reguli ce

    poate fi atribuit doar cmpului n cauz.

    Validation Text Mesajul de eroare ataat regulii de validare.

    Required Stabilete obligativitatea introducerii unei valori n cmpul respectiv.

    Indexed Permite definirea unui fiier index pe atributul respectiv. Acest

    fiier ajut la regsirea rapid a datelor din cadrul cmpului

    respectiv.

    Exerciiu: Pentru exemplificare, propunem un exerciiu privind realizarea structurii

    unei baze de date pentru evidena vnzrilor unui magazin ctre clienii persoane

    fizice prin sistemul de autoservire i plata la cas. Structura bazei de date este

    prezentat n Figura nr. 1.12, unde pot fi observate tabelele i asocierile ntre

    acestea.

    Figura nr. 1.12 Structura bazei de date propuse spre rezolvare

    1.4.1 Crearea asocierilor ntre tabelele unei baze de date relaionale

    Pentru accesarea simultan a datelor din mai multe tabele, este necesar s se

    defineasc asocierile standard dintre acestea. Acestea reprezint colecia de

    legturi care se stabilesc ntre o realizarea a unei tabele i o realizare a tabelei

    asociate. Crearea asocierilor standard ntre dou tabele ale bazei de date se

    realizeaz prin intermediul ferestrei Relationship ce poate fi deschis prin opiunea

    Database ToolsRelationship. La prima deschidere a acestei ferestre, n cazul n

    care nici o asociere nu a fost definit, se deschide automat fereastra de adugare a

    tabelelor ce urmeaz a fi asociate. Apelarea acestei ferestre ulterior se poate realiza

  • Baze de date Microsoft Access

    Pagina 19 din 78

    prin apsarea butonului Show Table situat pe bara de meniuri al grupului Design. n

    cadrul ferestrei Relationship se vor plasa tabelele care trebuie asociate i pentru

    trasarea asocierii ntre dou tabele se va proceda la apsarea butonului Edit

    Relationship ce va permite deschiderea unei ferestre cu aceeai denumire ce

    permite precizarea numelor tabelelor care urmeaz a fi asociate i a cmpurilor prin

    care se va realiza aceasta.

    Figura nr. 1.13 Stabilirea asocierilor ntre dou tabele

    1.4.1.1 Utilizarea asistentului de preluare a datelor Lookup Wizard

    Pentru a uura procesul de ncrcare a datelor n tabele, precum i pentru a

    respecta restricia de integritate referenial (vezi definiia), n cadrul aplicaiei

    Microsoft Access a fost introdus utilitarul Lookup Wizard. Acesta reprezint un

    asistent care ofer posibilitatea de a alege dintr-o list valorile cheilor externe dintr-o

    tabel asociat, astfel nct aceste valori s se regseasc printre valorile cheii

    primare din asociere. Lund drept exemplu tabelele CategoriiProduse i Produse,

    n cadrul crora Codul categoriei este cheie primar n prima i cheie extern n cea

    de-a doua, la ncrcarea datelor n tabele, pentru cheia extern din Produse se va

    afia o list care va cuprinde toate valorile ncrcate n cadrul cmpului

    CodCategorie din tabela CategorieProduse. n acest fel, utilizatorul poate alege din

    list doar aceste valori, respectnd astfel restricia de integritate referenial.

    Figura nr. 1.14 Utilizarea asistentului Lookup Wizard pentru precizarea tipului de dat al unei

    chei externe

  • Baze de date Microsoft Access

    Pagina 20 din 78

    Pentru alegerea valorilor cheii externe dintr-o list se procedeaz astfel:

    1. Se introduce denumirea cmpului cheie extern;

    2. Se alege utilitarul Lookup Wizard din lista disponibil n coloana Data Type

    (Figura nr. 1.14);

    3. Se parcurg paii pe care asistentul i afieaz:

    Primul pas: Bifarea primei opiuni, pentru preluarea datelor dintr-un alt tabel

    sau o interogare;

    Al doilea pas: Precizarea tabelului din care face parte cheia primar de unde

    vor fi preluate datele n list;

    Al treilea pas: Selectarea cmpului sau cmpurilor ale cror valori vor fi

    afiate n list. Selecia se face cu ajutorul butonului care selecteaz un

    singur cmp, sau care selecteaz toate cmpurile din tabelul primar

    pentru afiarea lor.

    Al patrulea pas: Stabilirea limii cmpului afiat;

    Al cincilea pas: Precizarea denumirii sau etichetei pe care cmpul cheie

    extern o va afia.

    4. Pentru finalizare, la apsarea butonului Finish, Access afieaz un mesaj prin

    care va invita la salvarea tabelului pentru ca modificrile s fie efectuate.

    Figura nr. 1.15 Editarea asocierii ntre dou tabele ale bazei de date

  • Baze de date Microsoft Access

    Pagina 21 din 78

    n situaia n care se apeleaz la utilizarea asistentului Lookup Wizard fereastra

    Relationship va afia cele dou tabele asociate prin intermediul cmpurilor de

    legtur. Pentru operaiunile de tergere sau modificare a unei asocieri deja create

    se va selecta linia care desemneaz aceast asociere i se va apela meniul

    contextual (afiat printr-un click dreapta) selectnd ulterior, dup caz, fie opiunea

    Delete pentru tergerea asocierii, fie Edit Relationship pentru modificarea

    proprietilor unei asocieri (Figura nr. 1.15).Dac se bifeaz restricia de

    integritate referenial (Enforce Referential Integrity), linia care desemneaz

    asocierea dintre cele dou tabele va afia 1 la captul dinspre tabela primar i

    semnul la captul dinspre tabela extern. Aceast proprietate este permis

    numai n cazul n care tipul asocierii este One To Many. Odat cu selectarea acestei

    proprieti alte dou proprieti ale asocierii pot fi activate: Modificarea n cascad

    a cmpurilor legate (Cascade Update Related Fields), prin care orice modificare

    adus cmpului cheie primar din cadrul asocierii presupune modificarea automat

    a cmpului cheie extern pentru toate nregistrrile asociate, i tergerea n

    cascad a nregistrrilor legate (Cascade Delete Related Records), ce presupune

    tergerea tuturor nregistrrilor asociate din tabela extern odat cu tergerea unei

    nregistrri din tabela primar.

    Aceste modificri se vor realiza pentru toate tabelele bazei de date Access pentru a

    defini structura final a bazei de date relaionale.

    2.2. ncrcarea datelor n tabele i modaliti de filtrare a datelor unei

    baze de date.

    Tabelele unei baze de date relaionale sunt destinate stocrii datelor ce pot fi

    consultate sau actualizate ulterior. De aceea o etap important n crearea bazelor

    de date const n ncrcarea tabelelor cu date coerente. Aceste date sunt introduse

    de la tastatur, fie direct n tabele, fie, cel mai des ntlnit n practic, prin

    intermediul unor formulare create special pentru a asigura o interfa ct mai

    agreabil i uor de utilizat. Pentru ncrcarea datelor n cadrul tabelelor trebuie s

    se in cont de corelaiile i dependenele dintre tabelele aflate ntr-una sau mai

    multe asocieri. Astfel, mai nti vor fi ncrcate date n tabelele care dein n cadrul

    unei asocieri cheia primar, dup care se va trece la ncrcarea datelor n tabelele

    ce conin cheile externe aferente, pentru a se respecta restricia de integritate

    referenial. De exemplu, o plat nu poate fi ncrcat pn cnd nu exist bonul de

    cas aferent vnzrii n prealabil, aa cum un produs care face parte dintr-o anumit

    categorie de produse nu poate fi ncrcat n baza de date dac nu a fost ncrcat

    mai nti categoria aferent n cadrul tabelului CategorieProduse.

    ncrcarea datelor se va face n modul de afiare a datelor n cadrul unui tabel.

    Pentru aceasta, se selecteaz tabelul n cauz, apoi, fie se efectueaz dublu clic, fie

    se apas butonul Open pentru deschiderea tabelelor. nregistrarea introdus se

    salveaz automat n momentul n care cursorul va prsi rndul acesteia.

  • Baze de date Microsoft Access

    Pagina 22 din 78

    La nivel de tabel, exist posibilitatea de a sorta datele ncrcate n tabele, n funcie

    de un anumit cmp. Pentru a sorta datele dintr-un tabel, se poziioneaz mai nti

    cursorul n cadrul cmpului dup care se va face sortarea, apoi, din grupul de

    opiuni Sort&Filter, se alege una din opiunile prezente: Sort Ascending sau Sort

    Descending.

    Pentru filtrarea datelor, exist posibilitatea definirii unor filtre cu ajutorul metodei

    formularului (HomeSort&FilterAdvancedFilter By Form), prin care se poate

    alege o valoare pentru unul sau mai multe cmpuri pentru care se aplic criterii de

    filtrare.

    Figura nr. 1.16 Utilizarea opiunii de filtrare a datelor dintr-un tabel cu ajutorul formularului

    O alt metod este cea de filtrare prin selecie. Pentru aplicarea acestei metode,

    mai nti se poziioneaz cursorul pe valoarea care se constituie drept criteriu de

    filtrare pentru cmpul respectiv, dup care se alege opiunea

    HomeSort&FilterSelection. Mai departe se va selecta opiunea de filtrare potrivit

    criteriului selectat: afiarea nregistrrilor pentru care cmpul prezint ntocmai

    valoarea selectat (Equals), pentru care cmpul difer de valoarea selectat (Does

    not equal), care conine valoarea selectat (Contains) sau care nu conine ca

    valoare selecia (Does not contain) (Figura nr. 1.17).

  • Baze de date Microsoft Access

    Pagina 23 din 78

    Figura nr. 1.17 Modalitatea de filtrare a datelor dintr-un tabel prin metoda de filtrare prin

    selecie

    2 Interogarea datelor i extragerea informaiilor din cadrul

    unei baze de date Access

    Structurarea unei baze de date relaionale este un proces ghidat de reguli stricte

    privind construirea tabelelor care s respecte modelul relaional. Restriciile impuse

    de acest model implic obligativitatea stocrii informaiei n structura din care

    aceasta face parte i nu n locul unde apare. Dei o informaie poate s apar n

    mai multe locaii, totui ea va fi stocat ntr-un singur tabel, potrivit principiului non-

    redundanei datelor.

    Interogarea unei baze de date este un proces foarte important pentru utilizatorii

    acestora, ntruct presupune regsirea i extragerea informaiilor dorite de ctre

    utilizator. Pentru realizarea interogrilor, Access pune la dispoziia utilizatorilor

    obiectele de tip Cerere (Query). Rezultatul cererii se prezint sub forma unei foi de

    rspuns dynamic (ceea ce nseamn c la fiecare apelare sunt afiate datele care

    ndeplinesc criteriile i structura interogrii), foaie care nu mai exist fizic dup

    nchiderea cererii. Aadar, o cerere de interogare a bazei de date nu mrete spaiul

    ocupat n cadrul calculatorului de ctre baza de date. O cerere poate interoga date

    din cadrul unuia sau mai multor tabele, sau chiar din cadrul altor cereri.

    O cerere reprezint, de fapt, o modalitate de a oferi rspunsuri la diverse ntrebri

    adresate bazei de date. Aceste rspunsuri pot fi formulate utiliznd datele stocate

    ntr-unul sau mai multe tabele. n procesul de interogare a mai multor tabele,

    cererile utilizeaz un concept relativ simplu, denumit compunere. La baz, acest

    concept const n punerea laolalt a datelor din mai multe tabele prin intercorelarea

    lor, pornind de la egalitatea valorilor unor cmpuri cu aceeai semnificaie din tabele

    diferite. De exemplu, avnd structura tabelelor din Figura nr. 1.12, rspunsul la

    ntrebarea Care sunt denumirile produselor din categoria sosuri? va fi obinut prin

    compunerea tabelelor Produse i CategoriiProduse, pentru care condiia de

  • Baze de date Microsoft Access

    Pagina 24 din 78

    compunere va fi egalitatea dintre valorile cmpului CodCategorie din tabelul

    CategoriiProduse i cele ale cmpului cheie extern CodCategorie din Produse.

    Deci se va selecta categoria cu denumirea Sosuri pentru care se va afla care este

    codul acesteia i se vor afia denumirile acelor produse pentru care codul categoriei

    este cel aflat n tabelul CategoriiProduse (Figura nr. 2.1).

    Figura nr. 2.1 Compunerea a dou tabele pentru obinerea informaiilor cerute prin impunerea

    unui criteriu de filtrare a datelor

    Cteva dintre destinaiile care se pot da cererilor de interogare a bazelor de date pot

    fi:

    Regsirea informaiei n baza de date;

    Cutarea datelor n tabele legate;

    Afiarea unui subset de date prin impunerea anumitor condiii;

    Sortarea informaiilor obinute din mai multe tabele;

    Efectuarea de calcule folosind date din tabelele bazei de date;

    Actualizarea bazei de date;

    Pregtirea datelor n vederea afirii lor n cadrul unor formulare sau

    rapoarte.

    n Access, interogrile pe tabele multiple leag date stocate n dou sau mai multe

    tabele legate prin una sau mai multe asocieri, astfel nct aceste date s devin

    informaii importante pentru analiz.

    2.1 Tipuri de cerere pentru interogarea bazelor de date

    Access ofer posibilitatea construirii urmtoarelor tipuri de cerere:

    Cereri de selecie (Select Query), formeaz cel mai utilizat tip de

    cerere de interogare, care dau posibilitatea stabilirii de criterii de

  • Baze de date Microsoft Access

    Pagina 25 din 78

    cutare, regsirii informaiei dorite i afirii acestei informaii pentru

    a fi accesibil utilizatorului. Tot n aceast categorie se nscriu i

    cererile prin care se afieaz rezultatul unor calcule dintre valorile

    unor anumite cmpuri. La rndul lor, cererile de selecie se mpart n

    alte categorii mai mici:

    o Cereri de selecie propriu-zis: selecteaz date din unul sau

    mai multe tabele i/sau interogri, pe baza unor criterii

    stabilite iniial;

    o Cereri parametrizate: presupune filtrarea datelor din tabele

    sau interogri pe baza unor criterii precizate printr-un

    parametru, adic, o valoarea care se va stabili de ctre

    utilizator la executarea cererii;

    o Cereri cu cmpuri calculate: afieaz, pe lng datele din

    tabele sau interogri, i rezultatul unor calcule efectuate ntre

    valorile a dou sau mai multe cmpuri, sau ntre acestea i

    valori scalare;

    o Cereri de agregare a datelor: sintetizeaz date din tabele,

    utiliznd funcii de agregare a datelor dintr-unul sau mai multe

    cmpuri pentru mai multe nregistrri.

    Cereri de analiz ncruciat, care permit sintetizarea datelor i a

    rezultatelor obinute din calcule, sub forma unei foi de calcul tabelar,

    fcnd informaia mai uor de citit i de neles.

    Cereri de aciune, care modific date din cadrul tabelelor sau

    creaz noi tabele, pe baza unor criterii. Cererile de aciune se mpart

    n urmtoarele subcategorii:

    o Cereri pentru crearea de noi tabele (Make Table Query):

    creaz un nou tabel, cu toate nregistrrile sau doar o parte a

    acestora, din unul sau mai multe tabele asociate;

    o Cereri pentru adugarea de date n tabele (Append Query):

    adaug anumite nregistrri dintr-un tabel n altul;

    o Cereri pentru modificarea datelor din tabele (Update

    Query): Modific date dintr-un anumit tabel, n funcie de

    anumite criterii precizate;

    o Cereri pentru tergerea datelor din tabele (Delete Query):

    pe baza unui anumit criteriu, terg nregistrrile dintr-un

    anumit tabel.

  • Baze de date Microsoft Access

    Pagina 26 din 78

    Oricare ar fi tipul cererii de interogare, orice obiect de tip cerere este supus

    urmtoarelor operaii:

    Operaia de construire sau de creare a cererii;

    Operaia de utilizare, deschidere sau afiare a datelor interogate;

    Operaia de modificare a definiiei cererii realizate prin operaia de creare.

    2.2 Crearea obiectelor de tip cerere

    Un obiect de tip cerere poate fi creat utiliznd dou modaliti principale: prin

    proiectare grafic a cererii (cunoscut i sub denumirea de Modul Design), i prin

    utilizarea limbajului standard de interogare a bazelor de date (cunoscut sub

    denumirea de limbajul SQL Structured Query Language). n prezentul capitol ne

    vom ocupa doar de prima modalitate, folosind interfaa grafic Access.

    Figura nr. 2.2 Regsirea elementelor de tip interogare n cadrul unei baze de date

    Toate obiectele de tip cerere sunt afiate n cadrul grupului de obiecte Queries din

    panoul de navigare printre obiectele bazei de date. Efectuarea unui dublu click pe

    numele unui asemenea obiect va deschide rspunsul la cererea pentru care obiectul

    de tip interogare a fost creat. Pentru modificarea definiiei unei interogri se va

    efectua click dreapta pe numele acesteia i se va apela opiunea Design View din

    cadrul meniului contextual care apare.

  • Baze de date Microsoft Access

    Pagina 27 din 78

    Pentru a facilita modul de definire a structurii unei interogri, Microsoft Access

    propune utilizarea unui set de programe ajuttoare, numite asisteni, care au

    menirea de a conduce utilizatorul la o anumit finalitate cu privire la scopul

    interogrii create prin parcurgerea succesiv a anumitor pai. Apelarea acestor

    asisteni poate fi efectuat prin opiunea CreateQueriesQuery Design.

    Figura nr. 2.3 Accesarea asistenilor pentru crearea interogrilor

    Caseta de dialog afieaz urmtoarele moduri de creare a unei noi cereri:

    Asistentul pentru cereri simple (Simple Query Wizard);

    Asistentul pentru crearea tabelelor ncruciate (Crosstab Query

    Wizard);

    Asistentul pentru cutarea nregistrrilor duplicat (Fiind Duplicates

    Query Wizard);

    Asistentul pentru cutarea nregistrrilor care nu au corespondent n

    cele dou tabele surs (Fiind Unmatched Query Wizard).

    Dei asistentul poate uura munca celui care l utilizeaz, n practic, cel mai des se

    utilizeaz prima modalitate de creare a cererilor, i anume modul grafic de

    proiectare, din considerentul c permite personalizarea modului de definire a

    obiectelor de tip interogare.

    2.2.1 Crearea cererilor de selecie

    Cererile de selecie a datelor formeaz categoria celor mai utilizate tipuri de

    interogare a unei baze de date, ntruct sunt cele care permit aflarea rspunsurilor

    la cele mai frecvente ntrebri care intereseaz utilizatorul final. Construirea unei

    cereri de selecie a datelor pornete de la analiza cerinei pe care utilizatorul o

    adreseaz bazei de date. Astfel, trebuie identificate, pe rnd, ce informaii trebuie

    afiate, care sunt datele ce trebuie apelate pentru afiarea acestora, din ce tabele

  • Baze de date Microsoft Access

    Pagina 28 din 78

    fac parte acestea i cum se asociaz aceste tabele. Foarte important este, n egal

    msur, identificarea tipului de interogare ce trebuie folosit pentru aflarea

    rezultatului final.

    Pentru cererile de selecie a datelor, se alege opiunea Design View din caseta

    New Query. Access va afia fereastra de interogarea a tabelelor dup exemplu,

    cunoscut sub denumirea Query By Example (prescurtat Q.B.E.). Alturi de aceast

    fereastr, se va afia i caseta de selectare a tabelelor care urmeaz a fi interogate,

    denumit Show Table.

    Figura nr. 2.4 Structura ferestrei de interogare QBE

    Pentru a rspunde unei cereri de selecie utiliznd metoda de proiectare se

    apeleaz opiunea CreateQueriesQuery Design. Pe rnd, trebuie specificate

    tabelele care ofer sursa informaional pentru cererea specificat, alturi de

    cmpurile ale cror valori se vor afia sau pentru care se impun condiii. Panoul

    tabelelor va fi completat prin selectarea acestora din fereastra Show Table (Figura

    nr. 2.4). Atunci cnd aceste tabele sunt asociate, grila de tabele va afia inclusiv

    legturile dintre acestea, fie c ele provin din fereastra Relationship, fie c sunt

    rezultatul utilizrii asistentului Lookup Wizard.

    Specificarea cmpurilor interogrii

    Grila de cmpuri conine mai multe rnduri care au destinaii diferite. Fiecare

    coloan din cadrul grilei este destinat unui anumit cmp din cadrul tabelelor aduse

    pentru interogare. O scurt descriere a rndurilor aferente grilei Query Design este

  • Baze de date Microsoft Access

    Pagina 29 din 78

    necesar pentru a identifica rolul acestora n procesul de proiectare a modului de

    interogare a bazei de date:

    Rndul Field din cadrul grilei se completeaz automat sau de la tastatur cu

    denumirea unui cmp din cadrul tabelelor prezente.

    Rndul Table este destinat precizrii tabelului din care face parte cmpul

    introdus n cadrul primului rnd din gril, avnd n vedere c aceeai

    denumire o pot lua dou sau mai multe cmpuri, dar din tabele diferite.

    Rndul Sort ofer posibilitatea sortrii datelor afiate la executarea interogrii

    prin ordonarea cresctoare sau descresctoare a celor din cmpul sau

    cmpurile unde se precizeaz sortarea. Valorile pentru acest rnd pot fi alese

    dintr-o list derulant.

    Rndul Show este destinat posibilitii de afiare sau ascundere la

    executarea interogrii a datelor din cmpul pentru care se selecteaz sau

    deselecteaz.

    Rndul Criteria prezint importan prin prisma oportunitilor oferite pentru

    filtrarea datelor din tabele. Aici i n cadrul rndurilor care urmeaz vor fi

    introduse expresiile valide pe baza crora se va efectua selectarea doar a

    acelor nregistrri care ndeplinesc criteriile precizate. Criteriile vor fi precizate

    utiliznd anumii operatori de comparaie sau logici.

    Grila de cmpuri ale ferestrei de proiectare poate fi completat prin aducerea

    cmpurilor pe coloane diferite ale rndului Field. Pentru completarea acestui rnd

    pot fi utilizate mai multe metode: prin efectuarea unui dublu click pe denumirea

    cmpului selectat din cadrul tabelelor prezente n panoul de tabele, prin metoda

    glisarea denumiri cmpului din tabelul din care acesta face parte situat n panoul de

    tabele pn pe rndul Field aferent unei coloane noi din grila de cmpuri, sau prin

    selectarea din caseta derulant aferent rndului Field din grila de cmpuri.

    Alturi de aceste modaliti de completare a rndului Field exist posibilitatea

    completrii manuale a acestuia prin tastarea denumirii cmpului ale crui valori

    urmeaz a fi afiate la vizualizarea rezultatului interogrii. Coloanele definite n

    acest sens poart denumirea de cmpuri cu expresii. Pentru situaii speciale n care

    valorile solicitate spre a fi afiate nu pot fi aflate printr-o simpl consultare a

    cmpurilor din tabele ci necesit ajustri prin aplicarea de diverse operaii de

    prelucrare, Access permite tastarea modului de afiare a datelor direct n rndul

    Field. Spre exemplu, dac se cere doar o parte din informaia deinut de un cmp,

    formula pentru extragerea valorii cerute este tastat sub forma:

    Denumire cmp: Formul de calcul

    De exemplu, afiarea lunii n care a fost emis fiecare bon de cas presupune, pe

    lng afiarea valorilor cmpurilor care identific fiecare bon de cas (regsite n

    cmpuri din tabelul BonCas), i definirea modului de extragere a lunii din data

    bonului de consum. n acest sens, pe rndul Field, se va tasta formula de calcul

    pentru afiarea lunii n care a fost emis fiecare bon de cas:

  • Baze de date Microsoft Access

    Pagina 30 din 78

    LunaEmitereBonCasa:Month([DataBonCasa])

    Exist, de asemenea, situaii speciale n care, alturi de valori ale unor cmpuri din

    cadrul bazei de date, un anumit cmp din cadrul unei interogri necesit doar

    afiarea unor valori scalare. n asemenea situaie, pe rndul Field al grilei de

    cmpuri va fi tastat valoarea scalar care trebuie afiat fiind precedat de

    denumirea atribuit acestei coloane.

    Access ofer, de asemenea, posibilitatea de a aduce n grila de cmpuri a tuturor

    atributelor unui tabel, prin efectuarea unui dublu clic pe semnul * care apare n

    tabelul respectiv. Acelai lucru se poate obine i dac se efectueaz un dublu clic

    pe denumirea tabelului din panoul superior, pentru a selecta toate cmpurile, i

    utilizarea metodei Drag and Drop pentru a aduce toate aceste atribute n cadrul

    grilei.

    Exist posibilitatea tergerii anumitor cmpuri din cadrul grilei de cmpuri, n situaia

    n care nu le mai considerm necesare pentru interogare. Acest lucru se realizeaz

    prin poziionarea cursorului deasupra denumirii cmpului n cauz, i efectuarea

    unui clic cnd cursorul capt forma unei sgei negre cu vrful n jos (). Apoi,

    pentru tergere, se apas tasta Delete.

    Precizarea criteriilor de filtrare

    Criteriile se precizeaz pe rndul Criteria sau Or utiliznd expresii valide, care s

    poat fi nelese de Microsoft Access.

    n continuare, vom prezenta cteva modaliti de specificare a condiiilor de filtrare a

    datelor introduse cu ajutorul unor operatori. Aceste condiii vor fi introduse pe rndul

    Criteria pe aceeai coloan cu denumirea cmpului asupra crora acioneaz.

    Pe rndul Criteria pot fi utilizai diferii operatori prin care pot fi construite condiii

    complexe. Vom enumera cele mai importante categorii de astfel de operatori,

    oferind o scurt descriere de utilizare a lor n criteriul de filtrare:

    operatorii de comparaie: (>, >=,

  • Baze de date Microsoft Access

    Pagina 31 din 78

    >= >=2000 Toate valorile mai mari dect 2000

    Between Between #1/2/2011# And #5/3/2011# Toate datele cuprinse n intervalul precizat

    Like Like S* Returneaz toate valorile care ncep cu litera

    S

    NOT NOT Pere Se afieaz toate valorile diferite de Pere

    IN IN (5,8,4) Toate valorile de 5,8 sau 4

    IS NULL IS NULL Caut nregistrrile al cu valori nule

    IS NOT

    NULL

    IS NOT NULL Caut nregistrri care conin valori

    Operatori de

    identificare

  • Baze de date Microsoft Access

    Pagina 32 din 78

    Pentru a exemplifica modalitatea de corelare a condiiilor multiple prin operatorul

    AND, propunem spre rezolvare urmtoarea cerere de interogare: S se afieze

    denumirile produselor care au existat sau exist n magazin din categoria Conserve

    din fructe si legume pentru care termenul de valabilitate este mai mic de 25 zile.

    Vom analiza cererea de interogare n vederea determinrii tabelelor care vor

    participa la afiarea rezultatului, a cmpurilor care se cer a fi afiate i a celor pentru

    care se impun condiii. Urmrind structura bazei de date (a se vedea Figura nr.

    1.12) vom observa c informaiile necesare sunt plasate n dou tabele: denumirea

    categoriei produselor pentru care se impune condiia s fie conserve din fructe i

    legume se gsete n tabelul CategoriiProduse, n timp ce denumirea produselor

    care se cere a fi afiat i termenul de valabilitate sunt cmpuri ale tabelului

    Produse.

    Figura nr. 2.5 Modalitatea de rezolvare a unei cereri de interogare utiliznd fereastra Query

    Design

    Cele dou tabele sunt asociate prin intermediul perechii de cmpuri CodCategorie

    (cheia primar) din CategoriiProduse i CodCategorie (cheie extern) din Produse.

    Proiectarea obiectului de tip interogare care va oferi rspunsul pentru aceast

    cerin este explicat n Figura nr. 2.5.

    Aadar, toate condiiile precizate pe acelai rnd Criteria sunt combinate utiliznd

    operatorul AND. Dac dou condiii sunt precizate pe rnduri Criteria diferite atunci

    ntre cele dou condiii se interpune operatorul OR.

  • Baze de date Microsoft Access

    Pagina 33 din 78

    Compunerea tabelelor n vederea interogrii lor

    n vederea interogrii datelor din mai multe tabele surs, fereastra QBE permite

    1. Echicompunere (Inner Join) se vor selecta nregistrrile care au

    corespondent n ambele tabele.

    2. Compunere extern (OUTER JOIN) se vor selecta toate nregistrrile din

    una din tabele, indiferent dac au sau nu corespondent n cealalt tabel. n

    funcie de direcia selectrii datelor, aceasta poate fi compunere extern de

    stnga (LEFT JOIN) sau de dreapta (RIGHT JOIN).

    n privina cererilor de selecie care au ca surs mai multe tabele trebuie precizat c,

    n mod implicit, Access utilizeaz operaia de Echicompunere, fapt ce conduce la

    selectarea nregistrrilor ce au corespondent n ambele tabele.

    Not:

    Dac o cerere de interogare presupune selectarea datelor din dou tabele cu un

    numr de x i respectiv y nregistrri, i ntre cele dou tabele nu este implicit sau

    explicit definite nici o asociere, atunci rezultatul va conine un set de x * y

    nregistrri, adic se formeaz produsul cartezian ntre cele dou seturi de date.

    Exemplu de echicompunere ntre dou tabele: S se afieze toate denumirile

    produselor care au fost vndute. Se vor afia, prin urmare, toate denumirile acelor

    produse pentru care valorile cmpului IdProdus se regsesc i n tabelul

    ProduseVndute.

    Figura nr. 2.6 Exemplu de interogare a dou tabele prin echicompunere

  • Baze de date Microsoft Access

    Pagina 34 din 78

    Figura nr. 2.7 Rezultatul interogrii a dou tabele compuse prin operaiunea de

    echicompunere

    Exemplu de compunere extern: S se afieze toate denumirile produselor,

    indiferent dac au fost sau nu vndute. Se vor afia toate denumirile produselor

    chiar dac valorile cmpului IdProdus nu se regsesc i n tabelul ProduseVndute.

    Figura nr. 2.8 Selectarea datelor din dou tabele prin compunere extern

    Rezultatul afiat este cel prezentat n Figura nr. 2.9.

  • Baze de date Microsoft Access

    Pagina 35 din 78

    Figura nr. 2.9 Afiarea rezultatului unei interogri avnd ca surs dou tabele compuse prin

    compunere extern

    Se observ, prin urmare, c pentru acele valori care nu au corespondent n cea

    de-a doua tabel, cmpul corespondent va prezenta valoarea NULL.

    Dac ntre dou tabele nu exist asocieri predefinite, acestea se pot stabili ntre

    dou cmpuri fcnd parte din cele dou tabele, prin glisarea mouse-ului de la

    cmpul de legtur din primul tabel ctre cmpul de legtur din cel de-al doilea.

    Ulterior, i aceast asociere, reprezentat printr-o linie ce va uni cele dou cmpuri

    ntre care se realizeaz legtura, poate fi modificat n sensul schimbrii tipului de

    compunere ntre tabelele n cauz.

    Lansarea n execuie a cererii se realizeaz prin urmtoarele procedee: Utiliznd butonul View, , primul din grupul Result al meniului Design (acest

    buton poate permite comutarea ntre diversele tipuri de afiare a interogrii); Utiliznd butonul Run, din acelai grup Result;

    Efectund dublu click pe numele interogrii din panoul de navigare al bazei de date.

    2.2.2 Crearea cererilor parametrizate

    Cererile parametrizate presupun introducerea unei valori pentru criteriul unui cmp

    de ctre utilizator, n momentul n care interogarea este lansat n execuie. Pentru

    aceasta, se procedeaz la crearea unei cereri de interogare de selecie, parcurgnd

    paii pe care i-am prezentat, urmnd s stabilim, n final, crui cmp i se va atribui

    parametrul pentru filtrarea datelor.

    Un parametru const, de fapt, dintr-un text pe care calculatorul l va afia n

    momentul n care cererea este lansat n aciune, text care va invita utilizatorul s

    introduc valoarea n urma creia se va face filtrarea. Acest text va trebui,

  • Baze de date Microsoft Access

    Pagina 36 din 78

    ntotdeauna, introdus ntre paranteze drepte, pentru ca Access s-l recunoasc

    drept parametru i nu drept un criteriu stabilit anterior. De exemplu, se dorete

    afiarea tuturor produselor dintr-o categorie specificat de utilizator n momentul

    execuiei. Fereastra QBE va arta astfel:

    Figura nr. 2.10 Proiectarea unei interogri parametrizate

    La executarea interogrii nu sunt afiate direct rezultatele sub forma unui set de

    nregistrri, aa cum se ntmpl n situaia unei interogri simple, ci se va afia mai

    nti mesajul prin care se cere valoarea parametrului care va completa condiia

    impus, urmnd ca filtrarea s se realizeze n funcie de aceast valoare.

    n stabilirea mesajului parametrului unei interogri, cteva observaii se impun a fi

    precizate:

    1. Mesajul se va introduce ntotdeauna ntre paranteze drepte, pentru a fi tratat

    ca parametru i nu ca o valoare de tip text ce urmeaz a fi comparat cu

    valorile cmpului n cauz;

    2. Textul definit ca mesaj al parametrului trebuie s fie diferit de denumirea

    oricrui cmp din cadrul tabelelor selectate, n caz contrar fcndu-se

    comparaia ntre valoarea cmpului pentru care se impune condiia i

    valoarea cmpului a crui denumire apare ntre paranteze drepte pe rndul

    Criteria.

  • Baze de date Microsoft Access

    Pagina 37 din 78

    3. Parametrul face obiectul unei comparaii, prin urmare orice parametru va fi

    trecut pe rndul Criteria, precedat de operatori de comparaie sau fcnd

    parte dintr-o formul al crei rezultat va fi comparat cu valoarea cmpului

    pentru care s-a impus condiia.

    Figura nr. 2.11 Etapele executrii unei interogri parametrizate

    2.2.1.2 Crearea cererilor cu cmpuri calculate Crearea unei interogri nu se limiteaz numai la cmpurile tabelei sau tabelelor

    bazei de date. Se pot utiliza expresii pentru a crea cmpuri calculate. Aceste

    cmpuri pot fi rezultatul unor operaii ntre dou sau mai multe cmpuri, sau ntre

    unul sau mai multe cmpuri i anumite valori scalare. Pentru a efectua operaii cu

    aceste cmpuri, sunt folosii operatorii aritmetici (+, -, *, /) i parantezele rotunde.

    Parantezele drepte sunt utilizate pentru desemnarea unui anumit cmp (cu alte

    cuvinte, cmpurile trebuie trecute ntre paranteze drepte). Exemple de cmpuri

    calculate:

    Se cunoate c Valoare produs vndut=Cantitate*Pre Vnzare. Aceast formul

    se exprim, n limbajul Access, n urmtoarea form:

    [Valoare produs]: [Cantitate] * [PretVanzare]

    Totodat Access dispune i de o bibliotec de funcii predefinite la care utilizatorul

    poate face apel n definirea unui cmp calculat. Spre exemplu, dac se dorete

  • Baze de date Microsoft Access

    Pagina 38 din 78

    afiarea vechimii, n zile, de la emiterea unui bon de cas i pn n prezent poate fi

    formulat urmtorul cmp calculat:

    VechimeBonCasa: Date()-DataBonCasa

    unde Date() este funcia Access care returneaz data curent.

    Aceste formule se introduc n grila de cmpuri, n urmtoarea coloan liber, pe

    rndul Field. Eticheta cmpului calculat va fi dat de partea din stnga semnului :.

    n exemplul nostru, cmpul se va numi VechimeBonCasa.

    Pentru exemplificare explicm modul de proiectare a interogrii pentru urmtoarea

    cerin: Care sunt denumirile produselor i valoarea vndut din fiecare prin

    bonurile de cas din ultimele 30 de zile.

    Figura nr. 2.8 Exemplu de proiectare a unei interogri cu cmp calculat

    Observaie: Aa cum s-a putut vedea i n cazul interogrilor parametrizate,

    ncadrarea ntre paranteze drepte este specific i modului de precizare a mesajului

    unui parametru. De aceea, cnd denumirea unui cmp ce face parte dintr-o formul

    nu este corect tastat, ceea ce apare ntre paranteze drepte este considerat de

    Access ca fiind un parametru i la executarea interogrii va fi afiat caseta Enter

    Parameter Value specific interogrilor parametrizate.

  • Baze de date Microsoft Access

    Pagina 39 din 78

    2.2.1 Agregarea datelor din mai multe nregistrri ale unei interogri

    Agregarea datelor definete o modalitate de calcul a unor valori statistice aplicnd

    diverse funcii de sintetizare unui grup de valori ale aceluiai cmp provenind din

    mai multe nregistrri ale unui set de date. Astfel, Access permite numrarea

    elementelor unui anumit grup (funcia COUNT), nsumarea acestora (funcia SUM),

    valoarea cea mai mare (MAX), valoarea cea mai mic (funcia MIN), deviaia

    standard (STDEV), variana (VAR), prima valoare a cmpului dintr-un set de

    nregistrri (FIRST) sau ultima valoare (LAST). Toate aceste funcii sunt numite

    funcii de agregare, acionnd doar la nivel de grup de nregistrri. Gruparea

    nregistrrilor se realizeaz dup valori egale ale unui anumit cmp al setului de

    date supus agregrii. Pentru nelegerea agregrii datelor n Access vom considera

    urmtoarea cerin:

    Care este cantitatea cea mai mare vndut din fiecare produs?

    Sintetizarea presupune afiarea a dou informaii pentru fiecare produs din cadrul

    nomenclatorului: denumirea produsului i cantitatea maxim comandat din acesta.

    Considernd, pentru exemplificare, urmtorul set de nregistrri aferent comenzilor

    emise de clieni pentru produsele firmei, vom detalia modul n care Access va

    realiza gruparea datelor i apoi agregarea cantitilor comandate:

    Figura nr. 2.12 Modalitatea de sintetizare a informaiei prin gruparea nregistrrilor dup

    valorile unui anumit cmp

  • Baze de date Microsoft Access

    Pagina 40 din 78

    n situaia existenei unei condiii de filtrare n cerina interogrii, aceast condiie

    este prioritar, Access realiznd mai nti filtrarea datelor, urmnd a stabili cmpul

    de grupare i agregarea pe setul de nregistrri care va rmne n urma eliminrii

    acelor nregistrri care nu respect criteriul de filtrare impus.

    Pentru exemplificare vom completa cerina anterioar cu o condiie suplimentar

    impus asupra datelor: Care este cantitatea cea mai mare vndut din fiecare

    produs dup data de 1.1.2012?

    Se observ c este necesar eliminarea unor nregistrri din setul produselor

    vndute, astfel nct s rmn doar cele vndute dup data impus prin cerin.

    Considerm data vnzrii ca fiind data bonului de cas. Atunci cnd filtrarea se

    impune asupra unui alt cmp dect cele de grupare i de sintetizat (a se vedea

    Figura nr. 2.12) acest cmp va prezenta clauza WHERE.

    Figura nr. 2.13 Exemplificarea modului de proiectare a interogrii de sintetizare propuse spre

    rezolvare

    Acest tip de interogare se va rezolva ca o interogare obinuit (prin precizarea

    tabelelor surs, a cmpurilor selectate i a criteriului de filtrare) urmnd ca

    sintetizarea datelor s fie stabilit prin selectarea unor valori din lista de valori

    aferent fiecrui cmp pe rndul Total. Acest rnd devine vizibil odat cu apsarea

    butonului Total situat pe bara de meniuri a grupului DesignShow/Hide (Figura nr.

  • Baze de date Microsoft Access

    Pagina 41 din 78

    2.13). Pentru cmpurile de grupare se va alege ntotdeauna Group By, pentru

    cmpurile de filtrare opiunea Where, iar sintetizarea datelor aferente cmpului

    calculat se va realiza prin selectarea unei funcii de sintetizare din lista aferent

    aceluiai rnd Total.

    2.2.2 Cereri de tip tabel ncruciat (CrossTab)

    O categorie aparte de cereri care au la baz agregarea i sintetizarea informaiei pe

    mai multe grupri de date o reprezint interogrile de tip analiz ncruciat. Aceste

    interogri sunt utile n scopul analizei datelor permind obinerea unor situaii

    sintetice asemntoare tabelelor pivot realizate prin procesoarele de tabele (ca de

    exemplu Microsoft Excel). Practic, este posibil elaborarea unor tabele n care

    gruparea i ordonarea datelor se realizeaz att pe linii ct i pe coloane la

    intersecia crora se pot efectua calcule complexe.

    Etapele ce trebuie urmate pentru realizarea unei astfel de cereri de interogare sunt

    urmtoarele:

    Se va crea o interogare de selecie n modul Design View, pe baza tabelelor

    ce conin datele necesare i se vor selecta cmpurile dorite pentru afiare i

    eventualele cmpuri pentru care se vor impune restricii.

    Din grupul DesignQueryType se va selecta opiunea CrossTab ce va avea

    ca efect imediat afiarea rndurilor Total i Crosstab n grila interogrii.

    Se va specifica dup care cmpuri se va realiza gruparea datelor, respectiv

    funciile totalizatoare pe rndul Total, i clauza Where pentru cmpurile de

    filtrare suplimentar.

    Rndul CrossTab permite declararea modului de dispunere a informaiei n

    cadrul rezultatului: Row Heading n cazul cmpurile ce vor fi afiate pe liniile

    tabelului, Column Heading pentru cmpul ce va fi afiat pe vertical, i Value

    pentru valorile ce vor fi afiate la intersecia liniilor cu coloanele. Este permis

    existena mai multor cmpuri ordonate pe orizontal (Row Heading), dar a

    unui singur cmp Column Heading i a unui singur cmp Value.

    Pentru exemplificare vom parcurge etapele prezentate anterior pentru a rspunde

    cerinei: S se afieze pentru fiecare produs care este valoare total vndut de

    fiecare vnztor pe anul 2011.

    Vom conveni plasarea cmpurilor Nume, respectiv, Prenume din tabelul Vanzatori

    pe liniile situaiei centralizatoare, cmpul Denumire din tabelul Produse pe coloana

    acesteia, iar la intersecia lor se va plasa valoarea total, calculat ca sum a

    produsului dintre cmpul Cantitate i Pre din tabelul ProduseVandute. Filtrarea

    datelor se va realiza utiliznd cmpul DataOraBonCasa din tabelul BonCasa din

    care se va extrage anul utiliznd funcia Year. Modul de proiectare a interogrii

    potrivit cerinei enunate este prezentat n Figura nr. 2.14.

  • Baze de date Microsoft Access

    Pagina 42 din 78

    Figura nr. 2.14 Modalitatea de rezolvare a interogrilor de tip CrossTab

    2.2.3 Crearea cererilor de aciune

    Aa cum am putut observa, la nivel de tabel sunt permise operaiunile de actualizare

    a datelor (adugri, modificri sau tergeri ale nregistrrilor din tabele). Exist,

    ns, situaii cnd actualizrile individuale ale anumitor nregistrri din cadrul

    tabelelor nu sunt eficiente, atunci cnd numrul nregistrrilor care ar trebui

    actualizate n acelai mod este mare. n asemenea cazuri, se justific actualizarea

    n mas a nregistrrilor (desemnnd adugarea, modificarea sau tergerea mai

    multor nregistrri din acelai tabel printr-o singur operaie, specificnd tiparul de

    actualizare).

    Cererile de aciune sunt o categorie aparte a cererilor de interogare a bazelor de

    date, pentru c efectueaz schimbri la nivelul bazei de date, aceste schimbri

    afectnd att structura tabelelor (interogri pentru crearea de noi tabele), ct i

    datele coninute de acestea (celelalte interogri de aciune). De aceea, se impune

    s manifestm o anumit pruden n lucrul cu aceste tipuri de cereri, ntruct

    rezultatul lor este iremediabil (de exemplu, odat terse anumite nregistrri, ele nu

    mai pot fi recuperate).

    Specific acestor tipuri de interogri este faptul c ele trebuie lansate n execuie

    doar prin comanda Run din meniul Query sau prin apsarea butonului de pa

    bara de instrumente.

  • Baze de date Microsoft Access

    Pagina 43 din 78

    2.2.3.1 Cereri pentru modificarea datelor din nregistrrile unui tabel (Update

    Query)

    Sunt interogri utilizate pentru actualizarea nregistrrilor dintr-o tabel, care

    corespund unui anumit criteriu. Pentru a se efectua actualizarea, trebuie s

    precizm, la nivelul unei astfel de cereri, care sunt cmpurile asupra crora se

    aplic criteriul de modificare, care sunt cmpurile ale cror date vor fi modificate i

    care este formula de modificare a acestor date, sau valoarea care se va stoca

    pentru cmpurile de modificat. La fel ca i n cazul celorlalte tipuri de interogri, mai

    nti are loc filtrarea nregistrrilor urmnd ca setul de nregistrri rezultat n urma

    filtrrii s fie supus mai departe operaiunii de modificare a datelor din cmpul sau

    cmpurile actualizabile. Dac nu exist un criteriu de filtrare a nregistrrilor atunci

    modificarea va afecta toate nregistrrile din tabelul respectiv.

    Actualizarea cmpului modificat se poate efectua fie pe baza unei valori scalare

    (exemplu: Procentul de comision din vnzri ale casierilor angajai nainte de anul

    2008 s fie 6%), fie prin implicarea valorilor existente ale cmpului modificabil

    (exemplu: s se majoreze cu 2 procente comisionul casierilor angajai n anul 2008),

    fie prin implicarea valorilor altor cmpuri (exemplu: dac casierul a fost angajat n

    anul 2008, procentul de comision este de 5%, altfel este de 6%).

    Pentru exemplificare, vom enuna o cerere de modificare prin majorarea valorilor

    existente ale unui cmp dintr-un tabel: s se majoreze cu 30 zile termenele de

    valabilitate n zile ale produselor din categoria cu codul 1. Cmpul de modificat, n

    aceast situaie, este Termenul de valabilitate din tabelul Produs. Actualizarea se va

    realiza doar pentru produsele care fac parte din categoria cu codul 1, deci cmpul

    de filtrare va fi CodCategorie din cadrul aceluiai tabel. Rezolvarea presupune

    crearea unei interogri de selecie avnd cele dou cmpuri specificate mai sus, i

    criteriul de filtrare CodCategorie=1. Pasul urmtor definete tipul interogrii: din Fila

    Design grupul Query Type se selecteaz tipul de interogare Update care va

    schimba grila de interogare potrivit capturii din Figura nr. 2.15.

  • Baze de date Microsoft Access

    Pagina 44 din 78

    Figura nr. 2.15 Proiectarea unei interogri de modificare a datelor pe baza unei formule

    Executarea interogrii prin apsarea butonului din grupul DesignResult va

    aduce modificrile solicitate la nivelul tuturor nregistrrilor din tabelul Produse

    implicate potrivit criteriului de filtrare. Pentru a putea vizualiza rezultatele, se va

    deschide tabelul Produse din grupul de obiecte Tables.

    Exemplificarea modului de proiectare a interogrilor de modificare a datelor care in

    cont i de valoarea altor cmpuri n operaiunea de actualizare, vom enuna i

    explica modul de rezolvare a urmtoarei cerine: S se majoreze termenul de

    valabilitate al produselor din categoria cu codul 1 cu 5 zile, dac acestea sunt

    perisabile i cu 30 de zile, dac nu sunt perisabile.

    Se observ, prin urmare, c alturi de cmpul CodCategorie, considerat cmp de

    filtrare pentru interogarea noastr, modificarea se va realiza difereniat, n funcie de

    valoarea unui alt cmp din tabelul de actualizat, cmpul Perisabil. Acest cmp ia

  • Baze de date Microsoft Access

    Pagina 45 din 78

    valori logice (True sau False), n funcie de care depinde cu cte zile se va majora

    termenul de valabilitate a acelor produse vizate. Rezolvarea presupune o formul de

    modificare a cmpului TermenValabilitate(zile) care va verifica valoarea cmpului

    Perisabil prin intermediul funciei IIF. Aceast funcie permite evaluarea unei condiii

    i returnarea a cte unui rezultat n funcie de rezultatul condiiei. Se va utiliza, prin

    urmare, formula de actualizare:

    IIF([Perisabil]=False;[TermenValabilitate(zile)]+30; [TermenValabilitate(zile)]+5)

    Modul de proiectare al interogrii este explicat n Figura nr. 2.16.

    Figura nr. 2.16 Rezolvarea interogrii de modificare a datelor utiliznd o formula de

    actualizare complex

    Se observ c pe rndul Update To toate denumirile de cmpuri trebuie ncadrate

    ntre paranteze drepte.

    2.2.3.2 Cereri pentru tergerea nregistrrilor din tabele

    Pentru a terge dintr-o tabel anumite nregistrri care ndeplinesc un anumit criteriu

    de selecie, se pot defini interogri de aciune. Cum tergerea se realizeaz

    ntotdeauna la nivel de nregistrare (i nu la nivel de cmp), important n aceast

    situaie este criteriul prin care se realizeaz filtrarea nregistrrilor care urmeaz a fi

    terse (dac nici un criteriu nu se precizeaz, se vor terge toate nregistrrile din

    cadrul tabelului respectiv).

    Pentru efectuarea unei tergeri n mas a nregistrrilor potrivit unui criteriu stabilit,

    trebuie procedat astfel:

    Se va crea o interogare nou pe baza tabelei n care se va efectua tergerea

    nregistrrilor;

  • Baze de date Microsoft Access

    Pagina 46 din 78

    Se aduce n cadrul grilei cmpul sau cmpurile pentru care se vor defini

    criteriile de selecie i se vor preciza aceste criterii pe rndul Criteria;

    Se va schimba tipul cererii din Select Query n Delete Query, utiliznd

    opiunea Query Type->Delete Query;

    Se lanseaz cererea n execuie prin apelarea opiunii Run.

    Vom exemplifica prin crearea unei cereri de tergere a produselor vndute prin

    bonurile de cas cu numrul 2 i 3. Se observ c tabelul din care se solicit

    tergerea este ProduseVndute. Se cere tergerea acelor nregistrri pentru care

    numrul bonului de cas este 2 i 3. Prin urmare, cmpul de filtrare este NrBonCas

    situat n cadrul aceluiai tabel.

    Fereastra QBE va conine urmtoarele elemente:

    Figura nr. 2.17 Definirea unei interogri de tergere a datelor dintr-un tabel

    Not: tergerea nregistrrilor, la fel ca i modificarea acestora, trebuie s respecte

    restriciile impuse la nivel de tabel i asociere ntre tabele. Astfel, actualizrile

    asupra nregistrrilor unui tabel vor ine cont de restriciile asociate integritii

    refereniale (modificarea n cascad a cmpurilor legate, respectiv, tergerea n

    cascad a nregistrrilor asociate). Dac aceste opiuni nu sunt bifate la nivelul

    proprietilor asocierii tabelului respectiv cu alte tabele care dein o cheie extern

    pentru acesta, atunci actualizarea acestuia nu va fi posibil.

    2.2.3.3 Interogrile pentru crearea de noi tabele (Make Table Query)

    Acest tip de interogare permite generarea unei noi tabele plecnd de la datele

    stocate ntr-una sau mai multe tabele, sau de la rezultatul unei interogri. La baz,

    aceast interogare se va construi pe structura unei interogri de selecie normale, la

    finalul creia se va schimba tipul de interogare ntr-una de creare de tabel pe baza

    rezultatului acesteia. Prin urmare, scopul acestui tip de interogare rezid n a stoca

  • Baze de date Microsoft Access

    Pagina 47 din 78

    rezultatul unei foi de rspuns dinamic sub forma unui tabel pentru a surprinde o

    situaie dintr-un anumit moment dat.

    Acest tip de interogare se poate crea urmnd o anumit succesiune de pai:

    a. crearea unei interogri de selecie cu toate elementele ei (cmpuri

    sortate, criterii de filtrare, cmpuri calculate, sintetizri de date,etc.).

    b. transformarea acestei interogri n tipul de creare a unui nou tabel. Acest

    pas const n alegerea tipului de interogare Make Table Query din grupul

    DesignQuery Type.

    c. precizarea n cadrul casetei de dialog care apare a numelui tabelului nou

    creat, tabel care se va regsi dup executarea cererii de interogare n

    grupul de obiecte Tables.

    d. executarea cererii de interogare prin apelarea meniului Query- Run.

    Rezolvarea unei cerine exemplificative: S se creeze un tabel nou cu toi vnztorii

    care au vndut produse n valoare total mai mare de 3000 lei n anul 2012.

    Pasul 1: crearea interogrii ce va afia numele i prenumele vnztorilor care n

    anul 2012 au vndut produse n valoare mai mare de 3000 lei (interogare pentru

    sintetizarea datelor aferente cmpului calculat valoare). Modul de proiectare a

    acestei interogri este prezentat n Figura nr. 2.18.

    Figura nr. 2.18 Crearea unei interogri pentru generarea unui tabel nou

    Pasul 2: Schimbarea tipului interogrii din grupul Query Type al meniului Design din

    Select n Make Table.

    Pasul 3: Precizarea numelui tabelului ce va fi creat: CasieriVanzri (Figura nr. 2.19)

  • Baze de date Microsoft Access

    Pagina 48 din 78

    Figura nr. 2.19 Modificarea tipului de interogare pentru crearea unui nou tabel

    Pasul 4: Executarea interogrii de creare a tabelului (prin apsarea butonului Run)

    i vizualizarea informaiilor din cadrul tabelului nou creat.

    n fereastra de navigare a bazei de date va fi prezent un nou tabel cu numele atribuit

    la pasul anterior care va conine toate informaiile pe care interogarea le-a specificat

    prin fereastra de proiectare QBE.

    2.2.3.4 Interogri pentru adugarea de nregistrri (Append Query)

    Interogrile pentru adugare ofer utilizatorilor posibilitatea inserrii de noi

    nregistrri ntr-un tabel existent n baza de date pornind de la nregistrrile

    existente.

    Pentru a realiza o interogare de tip Append este necesar parcurgerea urmtoarelor

    etape:

    1. Elaborarea unei interogri de selecie n modul Design View. Se va alege tabela ce

    conine datele i vor fi luate n calcul doar cmpurile ce conin valorile ce vor fi

    adugate, iar, n cazul n care se dorete aplicarea unor criterii de selecie a

    acestora, se vor aduga cmpurile de restricionat.

    2. Se vor tasta eventualele condiii n rndul de criterii al interogrii.

    3. Din grupul DesignQuery Type se va selecta opiunea Append Query ce va

    conduce la afiarea casetei Append n care se va selecta numele tabelei n care

    dorim adugarea.

  • Baze de date Microsoft Access

    Pagina 49 din 78

    4. Transformarea interogrii de selecie ntr-o interogare de adugare are ca efect

    imediat apariia rndului Append To n fereastra de proiectare a interogrii. n acest

    rnd se va specifica pentru fiecare cmp din tabela ce conine datele denumirea

    cmpului corespondent din tabela unde vor fi adugate.

    Pentru exemplificare propunem spre rezolvare urmtorul exemplu: S se adauge n

    tabelul generat anterior prin interogare de tip creare tabel i vnztorii care n anul

    2011 au vndut produse n valoare mai mic de 3000 lei.

    Modul de rezolvare, respectnd paii expui anterior, este prezentat n Figura nr.

    2.20.

    Figura nr. 2.20 Proiectarea unei interogri pentru adugarea datelor ntr-un tabel

    3 Obiecte de tip formular ntr-o baz de date Access Formularele (Forms) desemneaz o categorie de obiecte specializate ale bazei de

    date Microsoft Access cu rol de a facilita revizuirea i editarea informaiilor din

    tabele. Pot fi asimilate ferestrelor Windows care asigur intermedierea ntre utilizator

    i datele unei baze de date (Graphic User Interface). Un formular poate reasambla

    informaiile din tabelele normalizate ale bazei de date potrivit unui format cunoscut

    din domeniul n care baza de date funcioneaz: factur, chitan, cerere de

    creditare, adeverine, etc. La nivelul formularelor pot fi definite reguli de validare

  • Baze de date Microsoft Access

    Pagina 50 din 78

    suplimentare celor definite n cadrul tabelelor. De asemenea, exist posibilitatea

    definirii unor formulare care s preia datele din dou sau mai multe tabele i s le

    afieze sau actualizeze mpreun.

    Din punct de vedere structural, un formular Access este alctuit din anumite zone

    care interacioneaz n diverse moduri cu utilizatorul. Aceste zone poart denumirea

    de controale i alctuiesc interfaa grafic pentru gestiunea datelor. La baza

    construirii formularului st o surs de date (format din unul sau mai multe tabele

    sau interogri existente la nivelul bazei