Ms Access

46
 Sisteme informatice în management  153 Baze de date    «  M i c ro s o ft A cces s » 1. Elementele componente a unei baze de date. O bază de date este un mod de memorare a datelor  într -o formă organizată.  Principalele component e ale unei baze de date:  Tabele  Interogări  Formulare  Rapoarte  Comenzi Macro  Module Fereastra Database vă pune la dispoziţie o metodă simplă şi coerentă de gestionare a obiectelor care fac parte din baza dumneavoastră de date. Selectaţi eticheta core s- punzătoare tipului de obiecte care vă interesează în partea

description

Ms Access

Transcript of Ms Access

  • Sisteme informatice n management

    153

    Baze de date Microsoft Access 1. Elementele componente a unei baze de date. O baz de date este un mod de memorare a datelor ntr-o form organizat.

    Principalele componente ale unei baze de date: Tabele Interogri Formulare Rapoarte Comenzi Macro Module

    Fereastra Database v pune la dispoziie o metod

    simpl i coerent de gestionare a obiectelor care fac parte din baza dumneavoastr de date. Selectai eticheta cores-punztoare tipului de obiecte care v intereseaz n partea

  • ANEXA 2 - ACCESS

    154

    de sus a ferestrei, ca urmare, toate obiectele de tipul res-pectiv vor fi prezentate n ordine alfabetic.

    Dac executai clic pe butonul Design (Proiectare) obiectul selectat curent va fi deschis n modul de afiare Design n vederea modificrilor.

    Dac executai clic pe butonul Open (Deschidere) obiectul va fi deschis pentru utilizare normal.

    Dac executai clic pe butonul New (Nou), va fi creat un obiect nou de tipul respectiv.

    Tabelele: reprezint obiecte din cadrul bazei de date

    care stocheaz datele. Un tabel este constituit din cmpuri, care sunt coloanele, crora li se atribuie cte un nume, un tip de date i o dimensiune bine precizat i nregistrri care sunt rndurile.

    Se pot aduga i mai trziu cmpuri dar dac s-au creat interogri, formulare sau rapoarte care folosesc datele din tabel s-ar putea s fie nevoie s le reproiectai i pe acestea.

    Puin planificarea poate duce la beneficii substan-iale.

    Interogrile: sunt destinate gsirii i afirii anumitor

    date din tabele ntr-o anumit ordine, de asemenea pot combina date din tabele diferite i permit operrii asupra acestora. Access permite s editai datele afiate ntr-o nre-gistrare.

    ATENIE !! Aceste modificri vor fi fcute i n tabe-lele de baz.

    Formularele: sunt ferestre pentru introducerea, afi-

    area i editarea datelor pe ecran. Ele pot fi sub forma unei foi de calcul sau pot afia cte o nregistrare sub forma unui

  • Sisteme informatice n management

    155

    sistem de cartele index care pot fi prezentate n orice ordi-ne.

    Formularele pot conine i subformulare pentru a afi-a date asociate, de asemenea pot conine butoane pentru a deschide alte formulare sau pentru a tipri rapoarte.

    Formularul reprezint interfaa utilizator a bazei dumneavoastr de date.

    Rapoartele: sunt folosite pentru operaii de ieire,

    datele fiind dirijate de obicei ctre o imprimant. Dac dorii s selectai doar unele date n vederea includerii n raport trebuie s creai mai nti o interogare i s fundamentai raportul pe rezultatele interogrii.

    Comenzi Macro: reprezint o secven de aciuni

    care trebuie repetat la cererea utilizatorului. Aceast sec-ven este programat prin alegerea dintr-o list derulant de aciuni disponibile, iar introducerea detaliilor pentru ope-raia respectiv se face n partea de jos a ecranului. Co-menzile Macro sunt asociate adeseori unui buton din cadrul unui formular astfel nct atunci cnd executai clic pe buto-nul respectiv aciunile respective sunt ndeplinite. Comenzile macro din Access trebuie create direct de utilizator.

    Modulele: sunt recipiente pentru procedurile, subru-

    tinele i funciile Visual Basic, folosite n cadrul bazei de da-te pentru operaii de calcul i diverse opiuni astfel nct es-te necesar o oarecare experien de programare pentru scrierea lor.

    2. Proiectarea unei baze de date.

  • ANEXA 2 - ACCESS

    156

    Nereuita proiectrii este echivalent cu proiec-

    tarea nereuitei

    Proiectarea reprezint procesul de transformare a cerinelor de date din lumea real ntr-o structur de baz de date care const n relaiile dintre tabele i cmpuri.

    Prima etap n proiectarea unei baze de date const n definirea obiectivelor pe care vrei s le realizai:

    care este scopul acestei baze de date? ce categorii de date trebuie stocate? ct de mari sunt aceste tipuri de date i ce di-

    mensiuni vor avea elementele lor componente? ce fel de rapoarte sunt necesare? ci utilizatori i cte amplasamente de reea vor

    folosi baza de date?

    Dac srii peste faza de planificare, v putei atep-ta s v confruntai mcar cu o parte din urmtoarele pro-bleme:

    Dac schimbai numele unui cmp, va trebui s mo-dificai, de asemenea toate interogrile, formularele, rapoartele, comenzile macro i modulele care folo-sesc numele cmpului respectiv.

    Atunci cnd schimbai tipul de dat al unui cmp, va fi nevoie s modificai formatul de reprezentare a da-telor n interogri, formulare i rapoarte, precum i declaraiile de variabile din cadrul modulelor.

    Modificarea dimensiunii unui cmp poate duce la in-validarea relaiilor cu tabelele asociate sau la situaia n care spaiul de ecran alocat n formulare i rapoar-te este necorespunztor.

  • Sisteme informatice n management

    157

    Modificarea relaiilor dintre tabele poate determina efecte neateptate asupra interogrilor. Bineneles c aceste efecte se vor manifesta n formularele sau rapoartele bazate pe interogrile respective.

    Nepotrivirile dintre datele stocate n pri diferite ale bazei de date pot crea incertitudini n ceea ce prive-te varianta corect.

    n cazul cel mai defavorabil, s-ar putea ca problemele mai subtile s rmn neobservate luni de zile, pn n momentul n care nite modificri efectuate ntr-o anumit parte a bazei de date determin apariia unor efecte colaterale nedorite n celelalte pri.

    n practic, n timpul dezvoltrii unui proiect vor fi ne-

    cesare ntotdeauna unele modificri ale formei iniiale a pro-iectului. Totui, pe msur ce ctigai mai mult experien-, vei reui din ce n ce mai bine s v planificai eficient de la nceput.

    3. Crearea tabelelor. Tabelele reprezint obiectele din cadrul bazei de da-

    te care stocheaz datele. Un tabel este constituit din cm-puri, care sunt coloane crora li se atribuie cte un nume, fiecare avnd un tip de date i o dimensiune bine precizat. Aceast abordare structurat a datelor asigur bazelor de date puterea i viteza de care au nevoie.

    Pentru crearea unui tabel trebuie s stabilim mai nti

    structura sa, dup aceea s introducem nregistrri.

  • ANEXA 2 - ACCESS

    158

    Selectnd butonul care se afl n dreapta fe-restrei bazei de date (vezi fig. de mai sus) se deschide fe-reastra de selecie:

    Aceast fereastr v permite s alegei modul de ge-nerare a unui nou tabel. Alegem opiunea Design View ca-re ne va deschide fereastra pentru proiectarea structurii unui tabel:

    Nume cmpuri

    List deru-lant : tipuri de date ale cmpurilor

    Proprietile cmpurilor

  • Sisteme informatice n management

    159

    Dup deschiderea ferestrei Proiectare tabel pentru a defini structura unui tabel trebuie s introducem numele cmpurilor, s alegem tipul de date pentru fiecare cmp din tabel i eventual putem scrie o descriere a fiecrui cmp.

    Tipurile de date ale unui cmp se pot alege dintr-o

    list derulant care se deschide n coloana Data Type:

    Text: majoritatea cmpurilor vor fi de tipul text. Pe lng nume i adres, cmpurile text trebuie utilizate, de asemenea, pentru numerele care nu au funcie matematic (de exemplu: folosirea unor cmpuri text pentru numerele de telefon va permite utilizatorilor s includ spaii, liniue i paranteze n cadrul cmpului). Dimensiunea prestabilit a unui cmp text este de 50 de caractere, dar putei alege orice dimensiune de la 1 la 255. Access nu aloc iniial dimensiunea maxi-m, obinnd astfel performane mai bune prin aloca-rea dinamic a spaiului de stocare care poate avea dimensiuni mai mici.

    Memo: dac limita de 255 de caractere este insufi-cient pentru un anumit cmp, 64KB (kilooctei) ar trebui s fie de ajuns. Aceast limit nseamn c pu-tei stoca aproximativ 16 pagini de text scris la un rnd pentru fiecare nregistrare. Cmpurile memo constau numai din text. Pot fi incluse secvene salt la nceput de rnd/salt la rnd nou, dar nu se accept opiuni de formatare a textului ca scrierea cu caractere aldine a unei pri dintr-un cmp sau indentarea unui paragraf.

    Numeric: tipul (Number) include mai multe tipuri care difer prin modul de stocare i viteza de rspuns. Ti-pul (Octet) accept numai valori ntregi poziti-

  • ANEXA 2 - ACCESS

    160

    ve pn la 255, tipul (ntreg) acoper do-meniul numerelor ntregi de la 32768 la 32768, iar ti-pul (ntreg Lung) numerele ntregi p-n dincolo de limitele de plus/minus 2 miliarde. Spaiul de stocare pentru un numr Long Integer este de patru ori mai mare dect cel pentru un octet. Tipurile n virgul mobil: tipul acoper do-meniul numerelor fracionare cu pn la apte cifre semnificative, n timp ce mrete precizia pn la 14 cifre semnificative. Tipul (IdentificatorMultiplicare) asigu-r un identificator unic global pentru bazele de date n cazul crora trebuie realizat sincronizarea unor mari cantiti de date suplimentare, de la mai multe situri.

    Dat calendaristic/Or: permite introducerea datei i a orei ntr-un anume format care trebuie stabilit n ru-brica de proprieti ale acestui tip de cmp. Opiunea Short Date este suficient n majoritatea situaiilor.

    Valut(Currency): acoper valorile (n dolari, lei, etc.) ntregi pn la 15 cifre i valori zecimale pn la su-timi. Este mai lent dect tipurile de numere ntregi sau n virgul mobil.

    Numr cu incrementare automat(AutoNumber): folo-sii un astfel de numr secvenial pentru a avea nume-re unice ale nregistrrilor. Numerele cu incrementare automat sunt atribuite chiar n momentul n care n-cepei s adugai o nregistrare nou. Pe de alt par-te dac renunai la adugarea unei nregistrri, nu-mrul cu incrementare automat este srit i nu va mai fi atribuit mai trziu. n cazul tergerii unei nregis-trri existente, nu exist nici o posibilitate de creare a unei alte nregistrri cu acelai numr. Datorit aces-

  • Sisteme informatice n management

    161

    tor particulariti de proiectare, este mai sigur s folo-sii tipul numr cu incrementare automat ca baz pentru relaiile cu alte tabele.

    Da/Nu(Yes/No): stocheaz numai valori Adevrat / Fals. Poate fi afiat n una din formele True / False, Yes/No, sau On/Off (Activat/Dezactivat). Dac avei nevoie s selectai manual unele nregistrri, acesta se poate prezenta sub forma unei casete de validare.

    Obiect OLE: este destinat pstrrii datelor provenite de la alte programe, care s-au nregistrat ele nsele ca servere OLE n Windows (documente de tip text, se-turi de foi de calcul, ilustraii, sunete).

    Program wizard de cutare(Lookup Wizard): reprezin-t o metod convenabil de creare a unui cmp care ndeplinete funcia de cutare ntr-un alt tabel. De obicei, tabelul de cutare are dou cmpuri Cmp1 i Cmp2, programul de cutare creeaz un cmp care stocheaz valoarea pentru Cmp1, dar afieaz Cmp2 ntr-o list combinat pentru referire i selec-tare mai uoar.

    n partea de jos a ferestrei Proiectare tabel, avei posibi-

    litatea s precizai mai multe proprieti pentru fiecare cmp.

    Principale proprieti sunt:

    Field Size depinde de tipul cmpului.

    Format - afecteaz modul n care sunt afiate da-tele.

    Input Mask (Masca de intrare) controleaz modul de introducere a datelor n cadrul cmpului.

  • ANEXA 2 - ACCESS

    162

    Caption (Titlu) este folosit de Access pentru a afia titlurile numelor de cmp n modul de afiare Datasheet (Foaie de date), n acest caz acest nu-me poate conine i spaii. Suplimentar aceast va-loare este utilizat ca etichet a unui control legat de acest cmp, din cadrul unui formular nou. Dac proprietatea Caption este necompletat, chiar nu-mele cmpului va fi folosit ca titlu.

    Default Value reprezint valoarea iniial, oferit la adugarea unei noi nregistrri.

    Validation Rule regul de validare

    Validation Text dac datele introduse nu respec-t regula de validare, textul din Validation Text va fi afiat ntr-o caset de mesaje.

    Required subliniaz faptul c un cmp nu trebuie lsat necompletat, are dou valori Yes/No. Este util pentru cmpurile cheie strin.

    Allow Zero Length o valoare nul (nu au fost in-troduse date) nu reprezint acelai lucru cu un ir de lungime zero (un ir fr caractere).

    Indexed indecii asigur mecanismul de regsire rapid a datelor. Indexul cheie primar prevede c-te un pointer unic ctre fiecare nregistrare i re-prezint ordinea de afiare prestabilit pentru tabe-le n Access. Opiunea No Duplicates (Fr dupli-cate) asigur performane excelente, opiunea Duplicates OK nu are aceleai performane ca i un index unic, dar poate fi totui util.

    Lookup (Cutare) orice cmp accept o etichet nou Lookup n cadrul proprietilor sale. Aceast etichet definete tipul de control care va repre-zenta cmpul respectiv n modul de afiare

  • Sisteme informatice n management

    163

    Datasheet i n noile formulare. Funcie de tipul de date al cmpului putem avea urmtoarele controa-le: Check Box, Text Box, Combo (list combinat), List Box (caset pentru list)

    Dup definirea structurii unui tabel nainte de a nchide

    fereastra de proiectare tabel, acesta trebuie salvat cu un anumit nume. Access v permite s folosii nume cu o lun-gime de pn la 64 de caractere, inclusiv spaii nglobate. Nu uitai c numele mai scurte, fr spaii, pot fi indicate mai uor dac va fi nevoie s scriei aceste nume n Visual Ba-sic. Nu se face distincie ntre literele mari i mici, totui acestea se stocheaz aa cum se introduc.

    n anumite condiii, Access v cere s alegei o surs de date, toate tabelele i interogrile fiind prezentate mpre-un. Dac toate numele de tabele ncep cu tbl i numele de interogri cu int, atunci distincia va fi foarte clar.

    Este de preferat ca numele obiectelor s fie prece-date de cteva litere care s fac posibil cunoaterea fiecrui tip de obiect: numele unui tabel s nceap cu tbl, numele unei interogri s nceap cu int, numele unui formular s nceap cu frm.

  • ANEXA 2 - ACCESS

    164

    4. Relaiile dintre tabele Este posibil s constatm c unele cmpuri se repet, n

    acest caz aceste cmpuri trebuie s devin un al doilea ta-bel legat de primul.

    O proiectare eficient a unei baze de date implic sepa-rarea datelor n mai multe tabele, n scopul minimizrii spa-iului de stocare, mbuntirii performanelor i creterii preciziei. Datele izolate trebuie legate mpreun, din nou, prin intermediul relaiilor.

    Relaiile dintre tabele se formeaz prin precizarea unei

    legturi dintre un cmp (sau o combinaie de cmpuri) , dintr-un tabel i cmpurile corespunztoare din alt tabel.

    Relaiile pot fi de mai multe tipuri:

    a). Relaii de la unu la mai muli: este cea mai cu-noscut i util relaie. Tabelul din partea unu a relaiei trebuie s conin un cmp numit cheie primar . Scopul cheii primare este asigurarea unicitii fiecrei nregistrri. Tabelul din partea mai muli trebuie s conin un cmp numit cheie strin care leag nregistrarea cu cheia pri-mar a altui tabel. Cheia strin trebuie s fie de acelai tip de dat i s aib aceeai dimensiune ca i cheia primar.

    De exemplu, dac proiectm o baz de date pentru stocarea informaiilor referitoare la o colecie de CD-uri, am putea avea n final tipurile urmtoare de cmpuri:

    CodCD TitluCD DataLansrii

  • Sisteme informatice n management

    165

    NumePiesa1 DurataPiesa1 NumePiesa2

    DurataPiesa2

    Se observ apariia cmpurilor multiple pentru de-numirea i durata piesei. De cte ori trebuie s repetm aceste cmpuri? De 20 de ori va fi suficient? Chiar i aa, de unde vom ti n ce cmp s cutm pentru a gsi un anumit cntec (o anumit pies) ?

    Ori de cte ori vom vedea c denumirile cmpurilor se repet n acest fel, nseamn c aceste cmpuri trebuie s devin un al doilea tabel, legat de primul.

    Primul va avea cte o poziie pentru fiecare CD, iar al doilea, cte una pentru fiecare pies. Aceast soluie permite introducerea unui numr orict de mare sau orict de mic de piese, cte avem nevoie pentru fiecare CD. Acest exemplu ilustreaz o relaie tipic de unu la mai muli (one_to_many). Aspect ce poate fi reprezentat sub forma unor diagrame de forma urmtoare:

    CodCD reprezint cmpul cheie primar n tabelul tblEvidentaCD. n ceea ce privete tabelul tblPieseCD, cmpul CodCD este cheie strin, servind la identificarea albumului cruia i aparine o pies i n mod sigur nu este

    cmpuri multiple

    CodCD TitluCD

    DataLansarii

    tblEvidentaCD CodCD NrPiesa NumePiesa

    Durata/min

    tblPieseCD

    Mai muli

    unu

  • ANEXA 2 - ACCESS

    166

    unic. Dac un album are 16 piese, vor exista 16 nregistrri n tabelul tblPieseCD care au acelai CodCD.

    b). Relaia de la mai muli la mai muli: avem unele situaii care nu se potrivesc cu o relaie simpl de la unu la mai muli. Soluia const n a crea un tabel intermediar care sparge relaia de la mai muli la mai muli ntr-o pereche de relaii de la unu la mai muli.

    De exemplu, o facultate ar trebui s se in evidena tuturor studenilor nscrii, precum i a tuturor cursurilor ofe-rite de facultate. Care este relaia dintre studeni i cursuri? Un student este nscris la mai multe cursuri, dar un curs es-te inut pentru mai muli studeni. Aceasta este o relaie de la mai muli la mai muli (many_to_many).

    Soluia const n crearea unui tabel intermediar care sparge relaia de la mai muli la mai muli ntr-o pereche de relaii de la unu la mai muli. n cazul exemplului cu studenii i cursurile tabelul intermediar ar putea fi denumit nscrieri. Tabelul nscrieri cuprinde numai dou cmpuri IdentificatorStudent i IdentificatorCurs. De fiecare dat cnd un student se nscrie la un curs, apare cte o nregis-trare n tabelul nscrieri. Aceasta determin existena unei relaii de la unu la mai muli ntre tabelele Studeni i nscri-eri i tot a unei relaii de la unu la mai muli ntre tabelele Cursuri i nscrieri.

    IdentificatorStudent NumeDeFamilie Prenume

    TabelulStudeni IdentificatorStudent

    IdentificatoCurs

    Tabelulnscrieri IdentificatorCurs DeumireCurs Descriere

    TabelulCursuri unu

    Mai muli

    Mai muli

    unu

  • Sisteme informatice n management

    167

    c). Relaia unu la unu: dou tabele unite printr-o re-laie unu la unu sunt similare, n practic, cu un tabel care cuprinde cmpurile din ambele tabele.

    Relaia poate fi util pentru: structuri foarte mari (> de 255 de cmpuri); asigurarea securitii datelor; creterea eficienei.

    4.1. Cum s creai o relaie? Pentru a crea o relaie n Access, selectai fereastra Database i alegei opiunea Relationship (Relaii) din me-niul Tools. Tabelele i interogrile pot fi adugate n fereas-tra Relationship prin intermediul ferestrei Show Tables. Putei crea o relaie prin selectarea unui cmp din tabelul primar i tragerea acestuia peste cmpul corespun-ztor din tabelul asociat. Pentru o relaie de al unu la mai muli, tabelul asociat este tabelul din partea mai muli a relaiei. Access rspunde prin deschiderea unei ferestre n care sunt confirmate detaliile relaiei. Exemplu: n fereastra Relationship se aduc tabele tblEvidentaCD i tblPieseCD ntre care se dorete genera-rea unei relaii.

  • ANEXA 2 - ACCESS

    168

    Selectnd cmpul CodCD din tblEvidentaCD i trgndul peste cmpul CodCD din tabelul tblPieseCD, Ac-cess va deschide o fereastr pentru confirmarea detaliilor seleciei:

    n aceast fereastr sunt prezentate cmpurile impli-cate n relaia dintre tabele/interogri i tipul relaie (One-To-Many).

    Atunci cnd declarai o relaie, avei de asemenea posibi-litatea s-i cerei programului Access s pzeasc integritatea referenial a datelor implicate. Aceasta se face selectnd caseta de validare etichetat Enforce Referential Integrity. Efectul op-iunii Referential Integrity n ntreinerea bazei de date este de nepreuit. Selectarea opiunii, v ofer posibilitatea de precizare a unor actualizri sau tergeri executabile n cascad n cadrul acestei relaii. Aceste opiuni v permit s precizai dac tergeri-le i actualizrile din tabelul primar trebuie transferate ctre nre-gistrrile asociate din celelalte tabele.

  • Sisteme informatice n management

    169

    5. Generarea formularelor Formularele reprezint ferestrele primare folosite pentru introducerea i afiarea datelor n Access. Un formu-lar poate fi afiat n trei moduri diferite:

    Modul Design (Proiectare) este utilizat pentru a schimba prezentarea i proprietile unui formular, sau pentru a modifica controalele dintr-un formu-lar.

    Modul Datasheet (Foaie de date) este similar, cel puin n aparen, cu afiarea direct a tabelului sau a interogrii.

    Modul Form (Formular) reprezint modul de afia-re normal al unui formular n curs de utilizare. n funcie de felul n care a fost proiectat formularul, modul Form poate afia o singur nregistrare (modul Single Form), sau mai multe nregistrri deodat (modul Continuous Form).

    Formularele v permit s prezentai datele ntr-o for-

    m care l scutete pe utilizator de preocuprile legate de modul de stocare a datelor.

    Un formular de baze de date v permite s tragei (cu mouse-ul) nregistrrile din mai multe tabele asociate, s le ordonai n conformitate cu necesitile i s srii ntr-un mod mai mult sau mai puin aleator de la o nregistrare la alta.

    Formularul poate conine butoane de comand i cmpuri calculate, ceea ce nu este valabil pentru o foaie de date. Vei putea crea formulare diferite pentru utilizri diferi-te: introducerea unor nregistrri noi, editarea celor existen-te, numai pentru afiare sau formulare care funcioneaz pur i simplu ca nite casete de dialog.

  • ANEXA 2 - ACCESS

    170

    Pentru crearea formularelor Access ofer mai multe

    programe wizard pentru formulare: Design view (modul proiectare) v permite s creai toa-

    te elementele manual. Form Wizard v ofer posibilitatea s controlai fiecare

    etap a procesului. Auto Form: Columnar : creeaz un formular cu controa-

    lele aliniate unul sub cellalt (coloan), configuraie co-respunztoare pentru formularul principal.

    Auto Form: Tabular : creeaz un formular cu controalele aliniate unul lng cellalt, configuraie corespunztoare pentru un subformular.

    Auto Form: Datasheet : creeaz un formular care are modul de afiare prestabilit Datasheet.

    Chart Wizard : creaz un grafic. Pentru a obine un gra-fic tiprit, folosii un raport n loc de formular.

  • Sisteme informatice n management

    171

    PivotTable Wizard : creeaz un formular pentru afiarea datelor din Excel 7.0.

    Fiecare obiect dintr-un formular este denumit ele-

    ment de control (control). Atunci cnd deschidei un formu-lar n modul de afiare Design, toate elementele de control sunt vizibile. Fiecare element de control are o etichet aso-ciat.

    Elementele de control care afieaz date pot fi legate sau nelegate. Majoritatea sunt legate de un cmp dintr-un tabel.

    Dac ntre dou tabele exist o relaie de la unu la

    mai muli, formularul principal afieaz o nregistrare din ta-belul primar n modul Single Form, iar subformularul afiea-z mai multe nregistrri din tabelul asociat n modul Continuous sau Datasheet. Atunci cnd utilizatorul trece la o alt nregistrare din formularul principal, Access actuali-zeaz automat subformularul cu nregistrrile asociate co-respunztor. De asemenea avei posibilitatea s adugai nregistrri noi tabelului primar n formularul principal sau tabelului asociat n subformular.

    Dedesubtul listei programelor wizard se afl o caset cu list derulant n care trebuie s selectai tabelul sau interogarea care va servi ca surs de date pentru formular. n cazul unui formular caset de dialog, caseta pentru preci-zarea sursei de date poate fi lsat necompletat.

    Un formular Access complet poate fi afiat n cadrul al-tui formular. Aceast facilitate este ideal pentru afiarea date-lor asociate din dou tabele.

  • ANEXA 2 - ACCESS

    172

    Un subformular poate conine, de asemenea, un alt subformular, pentru a afia o relaie de la unu la mai muli la mai muli (one-to-many-to-many), cu toate c nu se accept o mbricare mai profund.

    5.1 Crearea formularelor cu subformulare

    Pentru crearea unui formular care conine un sub-formular folosind programul Form wizard, trebuie urmai urmtorii pai:

    Exemplu: (pentru tabelele tblEvidentaCD i tblpieseCD n-tre care s-a stabilit o relaie de unu-la-mai muli).

    Dup selectarea programului Form wizard i selectarea din lista derulant a tabelului principal tblEvidentaCD care va servi drept surs de date, se deschid urmtoarele fe-restre pas cu pas:

    List derulant de unde

    se aleg tabelele sau

    interogrile surs.

    Lista cmpurilor cu-

    prinse n sursa aleas.

    Buton pentru selectarea

    tuturor cmpurilor din

    tabelul surs.

    Buton pentru selec-ie cmp cu cmp din tabelul surs.

    Se afieaz cmpurile

    selectate

  • Sisteme informatice n management

    173

    Dup selectarea din tabele a cmpurilor cu care do-rim s crem formularul i subformularul i am ales modul de vizualizare cu subformular suntem ntrebai ce format preferm pentru subformular, tabelar / foaie de date:

    Este de preferat s alegem formatul Foaie de date

    care permite afiarea mai multor date pe acelai spaiu de ecran.

    Dup ce am ales formatul pentru subformular suntem

    rugai s selectm un stil pentru fundalul formularului. n fe-reastra care se deschide avem posibilitatea s alegem din mai multe variante, care pot fi previzualizate n momentul n care sunt selectate, dup care se trece la penultimul pas cu ajutorul butonului :

  • ANEXA 2 - ACCESS

    174

    Dup selectarea cmpurilor din tabelul principal tblEvidentaCD, din partea unu a relaiei, care conine cheia primar, se va deschide lista derulant i se alege cel de al doilea tabel surs, tblpieseCD, din partea mai muli a rela-iei.

    Similar se aleg cmpurile care vor face parte din subformularul de introducere a nregistrrilor corespunz-toare tabelului tblpieseCD. (nu este necesar s trecem nc o dat cmpul de legtur cheia strin CodCD deoare-ce aceasta va avea aceeai valoare cu cheia primar din tabelul principal):

    Dup selectarea cmpurilor din cele dou tabele, se va deschide o fereastr care ne ntreab cum dorim s vi-zualizm datele.

    Dac vizualizm datele dup tabelul principal tblEvidentaCD, putem crea un formular cu subformular sau

  • Sisteme informatice n management

    175

    dou formulare legate ntre ele (pe formularul tabelului tblEvidentaCD va fi creat un buton care dac este acionat va deschide formularul pentru tblpieseCD). Cele dou ca-zuri se pot vedea n ferestrele de mai jos:

    Formular cu subformular:

    Dou formulare legate cu un buton:

  • ANEXA 2 - ACCESS

    176

    Dac vizualizm datele dup tabelul tblpieseCD, din partea mai muli a relaiei, putem crea un formular simplu care conine date din ambele tabele, astfel cmpurile din ta-belul principal repetndu-se ori de cte ori este nevoie:

    De unde tie Access ce nregistrri trebuie s prezin-te n subformular pentru o anumit nregistrare din formula-rul principal?

    Dac aceast operaie se efectueaz dup ce s-a

    stabilit o relaie ntre cele dou tabele, Access introduce au-tomat cmpul cheie primar i cmpurile asociate n dou

    din proprietile subformularului: LinkMasterFields

    (Leag cmpurile formularului principal) i LinkChild-

    Field (Leag cmpurile subformularului), dac nu exist o

    relaie ntre tabele Access va cuta denumiri de cmp care se potrivesc i le va utiliza dac tipurile de date sunt compa-tibile.

  • Sisteme informatice n management

    177

    n fereastra care se deschide se vor cere introduce-rea unor nume pentru formularul principal i pentru subformular. Pentru subformular se va crea un fiier separat care va fi folosit de formularul principal.

    Pentru introducerea numelor este bine s respectm

    regula amintit mai devreme la salvarea componentelor din cadrul unei baze de date din Access. Putem folosi pentru formularul principal numele frmEvid+Piese, iar pentru subformular numele subformPiese. Aceasta este ultima fereastr prin care se cer infor-maii pentru generarea unui formular cu ajutorul programului Wizard i putem alege modul de deschidere a formularului View pentru introducere de informaii sau Design pentru modificarea formei.

    Toate acestea se regsesc n aceast fereastr:

  • ANEXA 2 - ACCESS

    178

    Dup ce sa completat i aceast fereastr apsm pe butonul pentru a putea vizualiza formularul:

  • Sisteme informatice n management

    179

    6. Generarea interogrilor Utilizarea unei baze de date presupune extragerea

    rapid a datelor care ne intereseaz. Interogarea este folo-sit pentru regsirea anumitor date, care aparin anumitor cmpuri, din anumite tabele, corespund unor criterii, pot fi sortate ntr-o anumit ordine.

    O interogare ne permite s:

    Combinm nregistrri din mai multe tabele ntr-o singur foaie de date.

    Selectm numai acele nregistrri care nde-plinesc criteriile noastre.

    Ne limitm numai la anumite cmpuri.

    Sortm nregistrrile n ordinea pe care o do-rim.

    Interogrile pot afia simultan nregistrri din mai

    multe tabele. n cazul n care dou tabele sunt implicate ntr-o relaie de la unul la mai muli, interogarea are n mod normal cte un rnd pentru fiecare nregistrare din partea mai muli, iar valorile din partea unu a relaiei sunt repe-tate pentru fiecare rnd.

    Majoritatea rapoartelor folosesc interogrile ca surs

    de nregistrri, deoarece rapoartele combin n mod frec-vent date din mai multe tabele sau folosesc posibilitile in-terogrilor pentru prelucrarea datelor, n vederea obinerii unor rezultate de sintez.

    Interogarea poate fi folosit ca surs de nregistrri pentru un formular, combinnd date din mai multe tabele.

  • ANEXA 2 - ACCESS

    180

    Pentru a crea o interogare selectm eticheta Queries din fereastra bazei de date i selectm opiunea . Astfel avem disponibile mai multe programe wizard pentru generarea unor interogri mai complexe.

    Opiunea Simple Query Wizard ne va conduce pas cu pas la crearea unei interogri simple, ntr-un mod similar cu cel de la generarea formularelor.

    Opiunea Design View deschide o fereastr Query Design (proiectare interogare) precum i fereastra Show Tabeles (prezint tabelele).

    Pentru exemplificare folosim urmtorul Exemplu:

    Observai c fereastra Show Tables are o etichet pentru selectarea tabelelor, ct i a interogrilor. Se poate crea astfel, o interogare stiv trgnd nregistrri dintr-o alt interogare. Introducerea n fereastra Query Design a tabelelor sau interogrilor care vor furniza nregistrri pentru interoga-re se realizeaz executnd dublu-clic pe denumirea obiectu-

    Grila de ieire

  • Sisteme informatice n management

    181

    lui respectiv sau clic pe butonul . Dup selecie fe-reastra Show Tables se poate nchide. Vom selecta tabelele tblEvidentaCD i tblpieseCD, iar n fereastra Query Design vor fi afiate i linia de legtu-r ntre cmpurile ntre care au fost definite relaii. Cmpurile implicate n interogare trebuie adugate grilei de ieire. Pentru a aduga un cmp dintr-un tabel executai dublu-clic pe el, tragei-l pe gril sau selectai-l din

    lista derulant din rndul Field. n continuare se pot intro-

    duce criterii sau cerine de sortare pentru cmp i s

    deselectm caseta de validare Show (prezint), astfel nct

    s nu fie afiat de dou ori.

    Dei s-ar putea s vi se par inutil, exist situaii n care o interogare trebuie s conin cmpuri identice din dou tabele. De exemplu, dac interogarea va fi folosit ca baz a unui formular n care vor fi adugate nregistrri noi, trebuie incluse att cmpul cheie primar, ct i cmpul

  • ANEXA 2 - ACCESS

    182

    cheie strin. Dei valorile acestora corespund ntotdeauna, omiterea uneia dintre ele va mpiedica programul Access s scrie n ambele cmpuri din tabelele respective. n exemplul nostru cmpul CodCD se va repeta de-oarece apare n ambele tabele. n tabelul tblEvidentaCD es-te cheie primar, iar n tblpieseCD este cheie strin. Astfel dac folosim interogarea pentru generarea unui formular de introducere nregistrri Access va ti s scrie n ambele cmpuri din tabele i s asocieze nregistrrile conform rela-iei existente dintre ele. Pentru a selecta un cmp n grila interogrii, execu-tai clic pe bara ngust aflat n imediata apropiere, chiar deasupra numelui cmpului. Cmpul astfel selectat poate fi ters apsnd tasta sau deplasat prin tragere c-tre o poziie nou. Dac nu mai avei nevoie de un anumit tabel ntr-o interogare, toate cmpurile acestuia pot fi nltu-rate deodat, selectnd tabelul n partea de sus a ferestrei Query Design i apsnd tasta . (vezi fig. de mai sus)

    Deoarece cmpurile cheie primar i strin au n mod frecvent acelai nume, Access prezint n cadrul grilei numele tabelului imediat sub numele cmpului. Dac de-numirea tabelelor nu sunt vizibile, executai clic-dreapta pe gril i selectai opiunea Table Names Numele tabelelor (sau selectai Table Names din meniul View). Aceast opi-une poate fi activat ca opiune prestabilit prin intermediul Tools I Options I Tables/Queries (Instrumente I Opiuni I Tabele/Interogri).

  • Sisteme informatice n management

    183

    Sub rndul Field, grila interogrii conine un rnd

    Sort (sortare). Selectarea opiunii Ascending (Ascendent) sub cmpurile CodCD i NrPiesa, determin sortarea inte-rogrii de la elementul cel mai mic la cel mai mare (de exemplu de la A la Z) n cadrul numelui cmpului respectiv. Opiunea Descending (Descendent), adic de la elementul cel mai mare la elementul cel mai mic (de exemplu de la Z la A), poate fi util pentru datele calendaristice n cazul n care este nevoie n primul rnd de data cea mai recent. Dac cerei realizarea sortrii pe mai multe cmpuri, Access va sorta secvenial de la stnga la dreapta.

    Caseta de validare din cadrul rndului Show preci-

    zeaz fie includerea cmpului ca o coloan n cadrul infor-maiilor de ieire ale interogrii, fie utilizarea acestuia numai pentru criterii de selecie. Pentru a realiza o selecie dup un anumit criteriu simplu, de exemplu, toate nregistrrile referitoare la piesa cu numrul 2, trebuie s introducem pur i simplu valoarea

    respectiv n rndul Criteria. Dac se introduc mai multe

    valori n acelai rnd de criterii sub cmpuri diferite, Access va extrage numai nregistrrile care ndeplinesc toate crite-riile menionate. n cazul n care criteriile sunt introduse pe rnduri diferite, o nregistrare va fi inclus dac ndeplinete oricare dintre criterii.

  • ANEXA 2 - ACCESS

    184

    7. Generarea rapoartelor Produsul final al aplicaiilor de baze de date este un raport. Programul Access combin datele din tabele, intero-gri i chiar formulare, genernd un raport pe care s-l tip-rii i s-l distribuii celor care au nevoie de el sau l solicit. n timp ce formularul este proiectat n primul rnd pentru lucrul pe ecran, raportul este proiectat n primul rnd pentru tiprire, dei el poate fi afiat i pe ecran. Pe lng aceast deosebire de destinaie, mai exist o alt deosebire conceptual major ntre formular i raport. Formularul este proiectat pentru un acces aleator la date, el se bazeaz pe un set dinamic de date care trebuie actuali-zate sau completate. Raportul nu modific nici o dat datele, el trebuie s parcurg secvenial nregistrrile pentru a genera subtotaluri i rezumate. n locul unui set dinamic de date Access folosete pentru rapoarte o copie protejat la scriere a datelor, care este citit secvenial.

    Metoda de generare a unui raport de baz folosind utilitarul Report Wizard este similar celei pe care ai folosit-o ca s creai un formular. Unul dintre avantajele utilizrii vrjitorului pentru prezentarea etapelor de proiectare a ra-poartelor, este c el parcurge toi paii pe care trebuie s-i executai cnd pornii de la un raport necompletat.

    Trebuie s creai un raport pentru orice intenionai s tiprii cu regularitate, fie c este vorba de un listing sim-plu, o list de etichete potale, o colecie de grafice, sau un rezumat i o analiz financiar complex.

  • Sisteme informatice n management

    185

    Pentru exemplificare folosim urmtorul Exemplu:

    Pentru a executa un raport care s afieze lista CD-urilor, cu denumirea i durata pieselor, executm urmtorii pai:

    1. Executai clic pe eticheta Reports din fereastra Database i apoi pe butonul New. Programul Access afi-eaz caseta de dialog New Report. Raportul ca i formularul, necesit o surs de date care poate fi unul sau mai multe tabele sau o interogare. Vom selecta interogarea Inter dintre opiunile oferite de lista casetei combinate de dialog. Selectai opiunea Report Wizard din lista aflat n colul din dreapta-sus a casetei de dialog i executai clic pe OK.

  • ANEXA 2 - ACCESS

    186

    2. Cmpurile pe care le alegei pentru afiare com-pun rndurile raportului. Raportul tiprit va conine att titlul CD-ului ct i denumirea pieselor astfel nct s nu fim ne-voii s consultm alt raport n care s vedem crui codCD i corespund piesele. Cmpurile necesare din interogarea Inter sunt: CodCD, TitluCD, NrPiesa, NumePiesa, Durata/min. Nu vom selecta cmpul DataLansrii. Cu butonul > selectai aceste cmpuri, n ordine, din lista Available Fields. Pe msur ce completai cu cmpuri lista Selected Fields, programul Access le nltur din lista Available Fields. Pentru a selecta toate cmpurile o dat facei clic pe butonul >>.

    Cmpurile sunt afiate n raport de la stnga la dreapta n ordinea n care apar n lista Selected Fields.

  • Sisteme informatice n management

    187

    Dup ce ai fcut selecia cmpurilor executai clic pe butonul Next pentru a trece la pasul urmtor. 3. Programul Report Wizard ne ntreab cum vrem s apar datele n raport. Acestea pot fi grupate dup cm-purile din tabelul principal tblEvidenaCD dac selectm op-iunea by tblEvidenaCD sau by tblpieseCD dup tabelul

    Piese din partea mai muli a relaiei. Remarcai butonul Show me more information aflat n partea stng, la mij-locul casetei de dialog. Selectai acest buton ca s afiai prima serie de ecrane suplimentare cu sugestii. (vezi fig. de mai jos)

    Ele conin exemple din tabelele Sale Reps, Customers i Orders, care ilustreaz diversele grupri pe care vrjitorul le poate include automat n raport. Executai

  • ANEXA 2 - ACCESS

    188

    cilc n mod repetat pe butonul Close pn cnd revenii la caseta de dialog de mai sus.

    n cazul nostru selectm opiunea by tblpieseCD i

    executm clic pe butonul Next. 4. Utilitarul Report Wizard v ntreab dac dorii s adugai un nivel de grupare. Selectai cmpul TitluCD din list i executai clic pe butonul > ca s stabilii gruparea dup titlul CD-ului.

    Programul Report Wizard permite s selectai proprii-le niveluri de grupare, avnd posibilitatea unei grupri multi-ple pe mai multe nilveluri.

    Caseta de dialog Report Wizard arat acum ca n fi-gura:

  • Sisteme informatice n management

    189

    5. Selectai butonul Grouping Options. Utilitarul Re-port Wizard afieaz caseta de dialog Grouping Intervals.

    Prin schimbarea intervalului putei stabili cum se face gruparea nregistrrilor n raport. Pentru cmpurile numeri-ce, putei grupa elementele cte zece, cte cincizeci, cte o

  • ANEXA 2 - ACCESS

    190

    sut i aa mai departe. Pentru cmpurile text, putei s grupai elementele dup prima liter, dup primele dou lite-re etc.

    Pentru exemplul nostru alegem gruparea elementelor dup primele dou litere selectnd opiunea 2 Initial Letters din lista Grouping Intervals.

    Executai clic pe butonul OK ca s revenii la a treia caset de dialog Report Wizard i executai clic pe butonul Next ca s continuai. 6. Putei sorta nregistrrile din interiorul unui grup dup un anumit cmp selectat, avnd cel mult patru cm-puri sortate diferit. Caseta de dialog nu permite s selectai cmpul TitluCD, ntruct nregistrrile sunt grupate n funcie de va-lorile acestui cmp.

  • Sisteme informatice n management

    191

    Selectai NrPiesa din prima list derulant. Dac nu se specific altfel, ordinea de sortare este cresctoare; dac dorii o sortare n ordine descresctoare, executai clic pe butonul aflat la dreapta listei derulante. (Acest buton este un obiect de control comutator; cu un nou clic revenii la sorta-rea n ordine cresctoare/alfabetic). 7. Selectai butonul Summary Options ca s afiai caseta de dialog:

    Dac dorii s adugai ntr-o coloan informaii re-zumative, stabilii opiunile pentru coloana respectiv n aceast caset de dialog. Report Wizard afieaz n list toate cmpurile numerice din raport, cu excepia cmpurilor AutoNumber i ofer casete de validare pentru operaiile Sum (suma), Average (media), Minimum (valoarea minim), Maximum (valoarea maxim), care pot fi efectuate pe baza valorilor din coloana respectiv. n funcie de casetele de validare pe care le-ai selec-tat, Report Wizard include acele cmpuri rezumative la sfr-itul raportului. Grupul de opiuni Show permite s decidei dac ra-portul va conine numai cmpurile calculate sau toate nre-

  • ANEXA 2 - ACCESS

    192

    gistrrile , mpreun cu cmpurile rezumative adugate la sfritul fiecrui grup i la sfritul raportului. Caseta de validare - Calculate percent of totals for sums afieaz procentul pe care l reprezint totalul unui grup din totalul general calculat pe toate grupurile.

    Pentru raportul din acest exemplu nu vom selecta nimic. Selectai butonul Next ca s afiai a patra caset de dialog Report Wizard. 8. Selectai unul dintre cele ase stiluri existente de punere n pagin a unui raport. Fereastra din partea stng a casetei de dialog permite s previzualizai aspectul rapor-tului configurat n stilul ales. Pentru raportul din acest exemplu, selectai butonul Stepped din grupul de opiune Layout.

  • Sisteme informatice n management

    193

    Dac nu se specific altfel, utilitarul Report Wizard activeaz caseta de validare Adjust the field width so all fields fit on a page (ajustarea limii cmpului astfel nct toate coloanele s ncap n raport). Ca regul, ar trebui s selectai aceast opiune. Din grupul de opiuni Orientation, selectai orienta-rea hrtiei pe care va fi tiprit raportul: Portrait / Landscape. Executai clic pe butonul Next pentru a continua cu a cincea caset de dialog Report Wizard. 9. Selectai unul dintre stilurile predefinite de raport. Fereastra din stnga conine o previzualizare a stilului se-lectat.

  • ANEXA 2 - ACCESS

    194

    Selectai unul dintre stiluri i apoi butonul Next ca s afiai a asea i ultima caset Report Wizard. 10. Tastai raportCD-uri pentru titlul noului raport. Programul utilizeaz acest titlu i pentru numele fiierului n care salveaz raportul.

    Selectai opiunea Preview the raport (previzualizarea raportului) i executai clic pe butonul Finish ca s ncheiai configurarea.

    Programul Report Wizard creeaz raportul i l afi-eaz n modul de previzualizare:

  • Sisteme informatice n management

    195

    n vederea Design a raportului vedem seciunile componente: seciunea Detail (se repet pentru fiecare n-

  • ANEXA 2 - ACCESS

    196

    registrare), antetul i subsolul raportului, antetul i subsolul de pagin, precum i un numr de pn la 10 anteturi i subsoluri de grup.

    Tot n aceast vedere putem aranja n pagin con-troalele iar n fereastra de proprieti putem modifica forma-tul, data sau evenimentele controalelor (text box-uri i eti-chete). Aceast vedere a raportului arat astfel:

  • Sisteme informatice n management

    197

    7.1. Configurarea paginii Opiunea Page Setup (configurarea paginii) din me-niul File v pune la dispoziie opiuni de configurare pentru Margins, Page i Layout (amplasarea elementelor). Eticheta Page a casetei de dialog Page Setup v permite s definii imprimanta ctre care va fi dirijat raportul, indiferent de configurarea Windows a imprimantei prestabili-te.

    Eticheta Layout permite repetarea seciunii Detail att pe orizontal, ct i pe vertical (putem avea nevoie pentru editarea etichetelor potale). Tot aici putem modifica orientarea paginii, pe orizontal pentru rapoartele cu multe coloane. Dac observai c fiecare a doua pagin a raportului rmne necompletat, verificai dac limea raportului m-preun cu marginile din stnga i dreapta nu depesc li-mea hrtiei.

  • ANEXA 2 - ACCESS

    198

    MDB1MDB2MDB3MDB4MDB5