Tehnici de Realizare a Bazelor de Date Acces

Tehnici de realizare a bazelor de date Access

1. INTRODUCERE

Domeniul gestiunii informațiilor abordează problema organizării, stocării și regăsirii în timp util a datelor de care dispunem despre un anumit subiect și care sunt de intereses. Fără îndoială că fiecare dintre noi se confruntă continuu cu această problemă, chiar dacă, în viața de zi cu zi, nu folosim un termen atât de pretențios. O simplă agendă personală, o carte de telefon, un mers al trenurilor sau un catalog de produse sunt toate mijloace pentru păstrarea, organizarea și regăsirea informațiilor de care avem nevoie la un moment dat. Putem să rezolvăm această problemă prin folosirea bazelor de date.

O bază de date este o colecție de informații corelate, referitoare la un anumit subiect sau colectate, organizate și memorate într-un anumit scop. Sistemul care permite colectarea, organizarea, memorarea, și regăsirea informațiilor dintr-o bază de date se numește sisteme de gestiune a bazelor de date (SGBD). SGBD poate să fie convențional, în care informațiile sunt stocate pe foi de hârtie (sau alte suporturi) depuse în dosare, registre, rafturi, fișete, încăperi, etc, sau computerizat, caz în care informațiile sunt păstrate în volume, repertorii, fișiere pe suport magnetic. În acest caz, operarea în baza de date se face prin intermediul unor programe, de către operatori special instruiți în vederea folosirii acestora.

Microsoft Access (numit în continuare Access) este un astfel de sistem interactiv computerizat pentru gestiunea bazelor de date relaționale, conceput să funcționeze în mediul Microsoft Windows. La fel ca și alte SGBD, Access ne dă posibilitatea să organizăm, memorăm, corelăm, regăsim și să prezentăm datele de care dispunem.

Trăsăturile distinctive ale sistemului sunt:

fiind creat pentru mediul Microsoft Windows și lucrând în acest mediu, Access utilizează toate facilitățile grafice ale acestuia;

Access permite regăsirea datelor de interes, prin formularea unor interogări independente de formatul și de locul de amplasare a sursei de date;

Access oferă posibilitatea prezentării datelor într-un mod sugestiv, folosind machete, rapoarte, diagrame și obiecte grafice;

numeroși asistenți puși la dispoziție, ușurează și sporesc eficiența muncii de proiectare, prin soluțiile predefinite oferite;

anumite operații de rutină pot fi automatizate, prin mecanismul de definire și de utilizare a macro-comenzilor;

pentru prelucrările mai sofisticate se poate întrebuința limbajul de programare Access Basic, orientat pe obiecte și pe evenimente și specializat în rezolvarea problemelor specifice de gestiune a datelor;

este posibilă integrarea și conlucrarea cu produsele Microsoft Office pe baza tehnologiei OLE 2.0 Automation și accesul la surse de date externe (dBASE IV, FoxPro, Paradox, Oracle, etc) prin Open Data Base Conectivity.

1.1 Structura lucrãrii

Lucrarea începe prin prezentarea domeniului de aplicabilitate, a audienței scontate și se încheie cu enumerarea convențiilor de limbaj și de notare folosite în cadrul lucrării. Ea este structurată, pe capitole și subcapitole, după cum urmează:

Capitolul 1 – Definește noțiunile de bază de date și aplicație Access. Prezintă etapele pe care trebuie să le parcurgă proiectantul atunci când concepe și creează o aplicație de baze de date în Access.

Capitolul 2 – Este împărțit în subcapitole după cum urmează:

Subcapitolul 1 – Constă dintr-o prezentare a primei clase de obiecte (tabele) destinate memorării datelor într-o bază de date Access.

Subcapitolul 2 – Prezină interogările, clasa de obiecte cu ajutorul cărora extragem dintr-o bază de date Access numai datele de care avem nevoie la un moment dat.

Subcapitolul 3 – Începe descrierea posibilităților de interfațare dintre aplicație și utilizatorul acestuia. În acest sens, sunt prezentate machetele, principalul mijloc de introducere și vizualizare a informațiilor într-o bază de date Access.

Subcapitolul 4 – Continuă discuția începută în subcapitolul precedent. Facem cunoștință cu diferitele tipuri de rapoarte pe care le putem crea, pentru prezentarea datelor și a rezultatelor prelucrărilor.

Subcapitolul 5 – Constă dintr-o trecere în revistă o posibilităților de prelucrare și aranjare a informațiilor dintr-o bază de date Access. Prelucrările include: sortarea, gruparea, totalizarea, adăugarea, eliminarea, căutarea, actualizarea, filtrarea, înlocuirea, arhivarea și formatarea datelor.

Subcapitolul 6 – Continuă discuția începută în subcapitolul 1, în privința corelării tabelelor și prezintă tipurile de corelații și de asocieri posibile în Access, precum și posibilitățile de vizualizare, prelucrare și prezentare a datelor din tabelele corelate.

Subcapitolul 7 – Subiectul acestui subcapitol îl constituie automatizarea unor activități repetitive, de rutină, cu ajutorul macro-comenzilor.

Subcapitolul 8 – Prezintă principalele aspecte ale folosirii modulelor ca mijloc de prelucrare specializată a datelor dintr-o aplicație Access. Constituie și o introducere, sumară desigur, în folosirea limbajului Access Basic.

Capitolul 4 – Finalizează discuția începută în subcapitolele 3 și 4 cu privire la interfațarea aplicației cu utilizatorul ei și crearea unor aplicații funcțional unitare.

Bibliografie

Conține câteva titluri recomandate pentru completarea studiului și aprofundarea noțiunilor care fac subiectul lucrării de față.

1. BAZE DE DATE ȘI APLICAȚII ACCESS

Domeniul de utilizare a bazelor de date este gestiunea informațiilor. Prin asigurarea informațiilor înțelegem colectarea, memorarea, organizarea, regăsirea și analiza acestora. Access este un sistem care ne ajută să realizăm toate acestea operații într-o manieră unitară, elegantă și accesibilă.

O bază de date Access este o colecție de elemente distincte gestionării informațiilor despre un anumit subiect sau colectate și păstrate într-un anumit scop. Elementele unei baze de date Access le numim obicte. O bază de date Access poate să conțină următoarele clase principalele de obiecte: tabele, interogări, machete, rapoarte, controale, macro-comenzi și module.

Un obiect poate să fie selectat și poate să fie manevrat (prelucrat) într-un anumit fel. Obiectele create posedă proprietăți pe care le putem stabili pentru a da obiectelor înfățișarea și comportamentul dorit și metode care indică ce operații se pot efectua cu obiectul respectiv. Toate obiectele aparținând unei clase posedă aceleași proprietăți și aceleași metode. Diferențierea obiectelor (individualizarea) făcându-se prin valorile diferite atribuite acestor proprietăți.

Obiectele dintr-o bază de date care aparțin aceleiași clase alcătuiesc o colecție. Baza de date care posedă aceste obiecte poate fi privită ca un obiect de nivel mai înalt, care conține restul obiectelor. Spunem că baza de date este un recipient al colecțiilor de obiecte care o compun. În afară de baza de date, și alte obiecte pot să fie recipienți pentru alte obiecte.

O aplicație Access este alcătuită dintr-una sau mai multe baze de date ale căror obiecte sunt conectate, corelate și coordonate pentru a alcătui un ansamblu coerent de elemente și de activități destinate rezolvării unor probleme concrete. Utilizatorul vede anumite obiecte ale aplicației și le folosește direct (machete și rapoarte), iar alte obiecte, care susțin și controlează felul în care lucrează machetele și rapoartele (tabele, interogări, macro-comenzi și module), sunt transparente pentru acesta. Manevrarea obiectelor se face prin proprietățile și metodele lor. De asemenea, într-o aplicațăiei folosim evenimente, care apar în anumite obiecte (de exemplu, în machete sau rapoarte) și dirijează evoluțiile ulterioare.

Pentru rezolvarea, în Access, a multor probleme de mai mică anvergură este suficient să creăm baza de date cu cele câteva obiecte necesare și să le utilizăm prin comenzi și manevre specifice Access. Pentru aceasta, nu este nevoie să fim neapărat specialiști în informatică sau calculatoare, dar trebuie, oricum, să fim bine familiarizați atât cu facilitățile și tehnicile de lucru Access, cât și cu principiile de proiectare a bazelor de date. O astfel de persoană, capabilă să creeze baze de date și aplicații Access, va fi numită, în continuare, proiectant (al bazei de date sau aplicației ).

Dacă, dimpotrivă, suntem o persoană care dorește numai să folosească o bază de date sau o aplicație Access, majoritatea amănuntelor funcționării sistemului Access sunt irelevante. Ba mai mult chiar, acestea ne-ar putea distrage atenția de la adevărata noastră treabă (de contabilitate, de exemplu). O astfel de persoană, interesată numai în exploatarea unei aplicații Access, o vom numi utilizator.

Diferența dintre o bază de date și o aplicație este dată de felul în care proiectantul leagă obiectele într-un sistem coerent, permițând utilizatorului să-și concentreze atenția asupra sarcinilor de serviciu pe care le are de rezolvat și nu asupra aplicației sau sistemului folosit pentru dezvoltarea ei (în cazul de față Access).

Contrar așteptărilor celor mai mulți dintre noi, o aplicație Access nu conține un program principal asemănător celor cu care ne-am obișnuit în alte medii pentru dezvoltarea aplicațiilor pentru baze de date. Practic obiectele Access se “descurcã“ singure și execută acțiunile prevăzute de proiectant, prin mecanismele puse la dispoziție de sistem și pe care le vom studia în capitolele următoare (macro-comenzi și proceduri Access Basic), atunci când apar evenimentele așteptate.

2.1 Realizarea unei aplicații Access

Atunci când ne angajem într-o acțiune de proiectare a unei aplicații de baze de date trebuie să parcurgem, în general, trei etape:

etapa de analiză a sistemului, a problemei de rezolvat. Această activitate, de obicei, nu este dependentă de sistemul în care vom implementa aplicația. Ea se finalizează prin realizarea unui model al sistemului studiat, de exemplu pe baza modelului entitate-legătură;

etapa de proiectare a elementelor bazei de date (obiecte), pe baza modelului stabilit în cadrul analizei. În cadrul acestei faze, definim proprietățile obiectelor, evenimentele la care trebuie să răspundă aplicația și stabilim felul în care vor răspunde obiectele la diferitele evenimente.

etapa de realizare a aplicației constă din crearea efectivă a obiectelor cu structura și proprietățile proiectate și este urmată de codificarea, programarea, testarea și implementarea procedurilor de tratare a evenimentelor și testarea funcționalității aplicației pe baza unor date fictive, dar reprezentative. În final, se va trece la exploaterea de test a aplicației, urmată de verificarea ei amănunțită și cu date reale.

Ultimele două etape prezentate mai sus sunt dependente de mediul de dezvoltare al aplicației.

2.1.1 Analiza

În cadrul etapei de analiză a sistemului, vom parcurge următoarele faze:

Stabilirea scopului și domeniul de intrare (tema)

Primul lucru pe care trebuie să-l facem, ca proiectanți, este să identificăm problema pe care va trebui să o rezolve aplicația. De asemenea, vom stabili ce trebuie sã facă fiecare dintre utilizatorii aplicației. În cele mai multe cazuri va fi vorba de o activitate din domeniul gestiunii informațiilor (de exemplu: evidența comenzilor, urmărirea inventarului sau a stocurilor dintr-o magazie, gestiunea financiar-contabilă a unei firme etc).

În această fază, va trebui:

să studiem sistemul pe care intenționăm să-l modelăm;

să purtăm discuții (amănunțite și repetate) cu utilizatorii finali pentru stabilirea amănuntelor, a anumitor cerințe sau preferințe (în privința formei machetelor și a rapoartelor) și să discutăm sugestiile acestora;

să preluăm toate documentele primare tipărite (date de intrare) și situațiile raportate (rezultate) folosite în gestinea conconvențională;

să punem pe hârtie toate activitățile pe care trebuie să le rezolvăm și să stabilim fluxurile de informații (și aceasta cât mai amănunțit).

Identificarea entităților sistemului și precizarea legăturilor dintre acestea

În a dintr-o magazie, gestiunea financiar-contabilă a unei firme etc).

În această fază, va trebui:

să studiem sistemul pe care intenționăm să-l modelăm;

să purtăm discuții (amănunțite și repetate) cu utilizatorii finali pentru stabilirea amănuntelor, a anumitor cerințe sau preferințe (în privința formei machetelor și a rapoartelor) și să discutăm sugestiile acestora;

să preluăm toate documentele primare tipărite (date de intrare) și situațiile raportate (rezultate) folosite în gestinea conconvențională;

să punem pe hârtie toate activitățile pe care trebuie să le rezolvăm și să stabilim fluxurile de informații (și aceasta cât mai amănunțit).

Identificarea entităților sistemului și precizarea legăturilor dintre acestea

În a doua fază, pe baza informațiilor colectate și a studiului efectuat, vom trece la:

identificarea tuturor elementelor sistemului modelat și la gruparea lor pe categorii pe care le vom numi entități;

stabilirea, pentru fiecare entitate, a principalelor caracteristici care au relevanță pentru problema de rezolvant, pe care le vom numi atribute.

Notă:

Un element aparținând unei entități poartă numele de exemplar (individ) al entității. Toate exemplarele unei entități sunt dotate cu aceleași atribute. Valorile atributelor sunt însă diferite și fac diferența dintre exenplarele entității, particularizându-le și individualizându-le.

alegerea cheii primare, care să identifice unic exemplarele entității;

stabilirea legăturilor care există între entități și tipul acestor legături.

Conform modelului entitate-legătură, între entitățile unui sistem pot să existe trei tipuri de legături: “1-la-1”, “1-la-n” și “n-la-n”. Într-o legătură “1-la-n”, fiecărui exemplar dintr-o entitate îi corespunde cel mult un exemplar din a doua entitate. Acesta este tipul de legătură cel mai rar. În al doilea tip de legătură, “1-la-n”, fiecărui exemplar din prima entitate pot să-i corespundă mai multe exemplare din a doua entitate, respectiv fiecărui exemplar din a doua entitate îi poate corespunde cel mult un exemplar din prima entitate. Tipul de legătură “1-la-n” ester cel mai frecvent întâlnit în modelele sistemelor analizate. În fine, în ultimul tip de legătură, “n-la-n”, fiecărui exemplar din prima entitate pot să-i corespundă mai multe exemplare din a doua entitate, și invers, fiecărui exemplar din a doua entitate îi pot corespunde mai multe exemplare din prima entitate.

Precizarea datelor de intrare, a prelucrărilor necesare și a prezentării rezultatelor

În această fază vom identifica, împreună cu utilizatorii, care sunt datele furnizate aplicației, în ce fel vor fi acestea introduse, ce prelucrări vom aplica acestor date, în ce fel și pe ce suport vor fi ele prezentate ca rezultate finale.

2.1.2 Proiectarea aplicației

Etapa de proiectare include fazele de stabilire a caracteristicilor obiectelor bazei de date și de proiectare a interacțiunilor dintre aceste obiecte în vederea obținerii funcționalității dorite a aplicației.

Proiectarea obiectelor bazei de date

După finalizarea analizei trecem la proiectarea obiectelor bazei de date, începând cu tabelele și corelațiile dintre acestea. Tabelele constituie obiectele Access destinate păstrării informațiilor. Regula pe care o vom aplica pentru gruparea datelor în tabele este următoarea:

pentru fiecare entitate a sistemului, identificată în cadrul analizei, vom crea câte un tabel;

structura tabelului va trebui să reflecte atributele și componența entității pe care o reprezintă.

Legăturile dintre entități se vor materializa în corelații între tabelele bazei de date, care permit asocierea corectă a datelor păstrate în diferite tabele.

Nota:

Împărțirea datele în tabele reprezintă fundamentul întregii aplicații. De felul în care am realizat această etapă depinde calitatea aplicației. Anumite sugestii pentru împărțirea în tabele găsim în casetele pentru dialog ale ”asistentului” Table Wizard.

Apoi, vom continua cu proiectarea obiectelor aparținând clasei de obiecte numite interogări. Cu ajutorul interogărilor putem să extragem datele de interes din tabel. În consecință, vom crea câte o interogare pentru fiecare set de date care este necesar pentru prelucrarea sau pentru prezentare

Proiectarea interfeței aplicației-utilizator

Machetele și rapoartele sunt clasele de obiecte care ne permit introducerea datelor și prezentarea rezultatelor. Cu alte cuvinte ele realizează, împreună cu alte câteva mecanisme Access (meniuri, comenzi, bare cu scule, butoane), o posibilitate de legătură dintre aplicației și utilizatorul ei. Numim această legătură, interfața aplicației-utilizator. Și în cazul acestora va trebui să proiectăm (conținut, formă, funcționare) toate machetele și rapoartele, cât și alte elemente de interfațare necesare.

Proiectarea interacțiunilor dintre obiectele bazei de date

Macro-comenzile și modulele cu proceduri Access Basic sunt obiectele cu ajutorul cărora automatizăm acțiunile sau coordonăm funcționarea aplicației ca un ansamblu unitar și coerent al activități. Proiectarea acestor ultime componente întregește activitățile acestei etape.

În concluzie, elaborarea proiectului unei aplicații Access, începe prin construirea obiectelor, continuă prin stabilirea, atât a proprietăților acestora și a evenimentelor la care ele trebuie să răspundă, cât și a modului în care vor reacționa, și se finalizează prin codificarea macro-comenzilor și a procedurilor necesare pentru efectuarea acțiunilor. Surpriza va fi mare când vom constata că, pentru destul de multe aplicații mai simple, este posibil ca programarea nici să nu fie necesară!

2.1.3 Realizarea aplicației

După ce am pus pe hârtie întreg proiectul aplicației, suntem în măsură să trecem la realizarea ei efectivă. Fazele principale de parcurs, în această etapă, sunt următoarele:

Cearea fișierului bazei de date

Primal lucru pe care trebuie să-l facem, după definitivarea proiectului, este crearea fișierului bazei de date. Aceasta va acționa ca un recipient uriaș ce va păstra obiectele aplicației (amănuntele de proiectare) și datele acestuia. În funcție de complexitatea aplicației vom putea folosi un fișier sau mai multe fișiere pentru baze de date.

Crearea obiectelor și testarea lor

Următorul pas în realizarea aplicației constă din crearea obiectelor acesteia, de obicei, în următoarea ordine:

creăm tabelele pe baza proiectării făcute anterior;

adăugăm câteva înregistrări cu date în fiecare tabel (încărcarea de test a tabelului);

creăm o interogare de selecție pentru o machetă din aplicație (de obicei macheta pentru introducerea datelor);

creăm macheta, pe baza interogării de selecție creată anterior;

adăugăm datalii la macheta creată (macro-comenzi, proceduri pentru tratarea evenimentelor, alte interogări);

testăm macheta pentru a vedea dacă afișează și memorează datele dorite;

adăugăm alte machete și rapoarte abia după ce prima funcționează satisfăcător.

Notă:

Vom avea grijă să lucrăm și să punem la punct un singur obiect o dată. Pentru fiecare obiect vom folosi un nume semnificativ și ușor de reținut și reamintit.

Încărcarea bazei de date și testarea aplicației

După ce am creat obiectele și le-am testat individual, vom trece la testarea sistematică a întregului ansamblu: vom încărca tabelele cu date reale și vom trece la exploatarea de test a aplicației. Vom corecta orice diferență între comportarea aplicației și prevederile obiectului.

Restul lucrării va urmări cele discutate în aceste paragrafe, pentru a ne introduce în tainele proiectării și implementării unor mici aplicații Access. În general, fiecare capitol va prezenta aspecte legate de crearea și utilizarea câte unei clase de obiecte, existând însă și capitole destinate unor alte subiecte ca: prelucrarea datelor sau administrarea unei baze de date .

În continuare, vom discuta primul pas în realizarea unei aplicații Access și anume crearea fișierului bazei de date.

2.2 Crearea fișierului unei baze de date

O bază de date Access este memorată într-un fișier, care conține toate obiectele bazei de date, adică tabelele, interogările, machetele, rapoartele etc. Baza de date se comportă ca un uriaș recipient al tuturor obiectelor bazei de date și implicit a datelor acesteia.

Pentru crearea unui fișier nou pentru baza de date Access:

1. În fereastra de început de sesiune de lucru Access, executăm comanda New Database, din meniul File sau acționăm butonul New Database, din bara cu scule.

2. În caseta pentru dialog New Database, introducem numele bazei de date (în caseta File Name) având maximum 8 caractere (fără spații) și extensia. Dacă nu introducem o extensie explicită, Access va adăuga, implicit, extensia .MDB.

3. Dacă este necesar, selectăm altă unitate și/sau alt repertoriu (în casetele Drives și Directories).

4. Acționăm butonul OK. Access creează un fișier de baze de date gol și afișează fereastra Database.

2.3 Crearea obiectelor bazei de date Access

Pentru crearea unui obiect Access:

1. Acționăm butonul corespunzător obiectului, din fereastra Database.

2. Acționăm butonul de comandă New, din fereastra Database sau executăm comanda New, din meniul File și alegem tipul de obiect dorit.

Pentru anumite tipuri de obiecte, Access va afișa o casetă pentru dialog, în care putem selecta tabelul sau interogarea pe care se va baza funcționarea obiectului. Alegem o interogare atunci când funcționarea obiectului se bazează pe mai multe tabele. În caz contrar, alegem un tabel.

Pentru modificarea unui obiect:

1. Acționăm butonul corespunzător tipului de obiect pe care dorim să-l modificăm, din fereastra Database;

2. Alegem obiectul din listă;

3. Acționăm butonul Design, Access deschide o fereastră și afișează obietul pentru modificare, în modul de lucru Design view.

Fiecare clasă de obiecte din Access are anumite particularități, pe care le numim proprietăți. O proprietate este o caracteristică, un atribut al unui obiect. Proprietățile obiectelor determină felul în care lucrează obiectele sau aspectul acestora. După ce am creat un obiect, îi modificăm proprietățile folosind asistenții și utilitarele Access (Wizards și Tools). În afară de proprietăți, obiectele Access sunt caracterizate prin acțiunile pe care le pot executa sau care pot fi efectuate asupra lor, anumite metode. Acestea pot fi folosite, în proceduri, pentru manevrarea obiectelor.

Atenție! Nu trebuie să confundăm proprietățile obiectelor Access cu atributele entităților.

Atunci când creăm un nou obiect, Access afișează o casetă pentru dialog și putem să alegem modul de creare al obiectului: prin forțe proprii sau cu ajutorul asistenților Access corespunzători.

2.4 Tipărirea obiectelor unei baze de date

În Access, avem posibilitatea să tipărim următoarele clase de obiecte: foi de date, machete, rapoarte, definițiile unor obiecte, parametri pentru protecție și module Access Basic. În general, pentru tipărirea unui obiect va trebui să parcurgem următoarele etape:

vizualizarea de probă a obiectului sau documentului;

stabilirea parametrilor de punere în pagină;

tipărirea propriu-zisă.

2.4.1 Vizualizarea de probă

Pentru vizualizarea de probă a obiectului sau documentului procedăm astfel:

1. Deschidem obiectul sau îl selectăm în fereastra Database;

2. Executăm comanda Print Preview, din meniul File sau acționăm butonul cu același nume, din bara cu scule. În modul de lucru Print Preview, Access afișează documentele în fereastra Print Preview.

Notă:

Pentru a trece la pagina următoare, acționăm butoanele Page din partea stânga jos a ferestrei Print Preview.

2.4.2 Punerea în pagină

Pentru stabilirea parametrilor de punere în pagină vom proceda în felul următor:

1. Deschidem obiectul sau îl selectăm în fereastra Database.

2. Executăm comanda Print Setup, din meniul File.

3. În caseta pentru dialog Print Setup, putem stabili valorile următorilor parametri de punere în pagină:

orientarea în pagină (verticală- Portrait sau orizontală-Landscape);

mărimea foii de hârtie și marginile documentului față de marginile hârtiei;

tipul de imprimantă folosită și driver-ul pentru imprimantă.

4. Acționăm butonul OK.

Notă:

În privința parametrilor folosiți la tipărire, Access acționează diferit, în funcție de obiectul tipărit. Astfel:

dacă tipărin tabele, integrări sau module, el folosește parametrii de punere în pagină curenți;

dacă tipărim machete sau rapoarte, folosește parametrii salvați o dată cu salvarea obiectului.

2.4.3 Tipărirea propriu-zisă

Pentru începerea tipăririi propriu-zise a obiectului sau documentului:

1. Deschidem obiectul sau îl selectăm din fereastra Database

2. Executăm comanda Print, din meniul File sau acționăm butonul cu același nume din bara cu scule

3. În caseta pentru dialog Print, putem să precizăm câțiva parametri suplimentari:

ce urmează să fie tipărit (în caseta de grup Print Range);

ce fel de tipărire solicităm (în caseta Print Quality);

câte copii solicităm (în caseta Copies);

felul în care vor fi tipări copiile: în secvență sau nu (caseta de control Collate Copies);

destinația tipăririi (caseta de control Print To File)

2.4.4 Tipărirea definiției unui obiect al bazei de date

În cazul anumitor obiecte ale bazei de date (tabele, interogări, machete, rapoarte și macro-comenzi) Access ne permite să tipărim definiția obiectului, adică structura acestuia.

Pentru tipărirea definiției obiectului:

1. Deschidem obiectul în modul Design view sau îl selectăm în fereastra Database.

2. Executăm comanda Print Definition, din meniul File sau acționăm butonul cu același nume din bara cu scule

3. În caseta pentru dialog Print Options, precizăm anumite opțiuni pentru obiectul selectat.

4. Acționăm butonul OK. Access creează un raport cu definiția obiectului și-l afișează în Print Preview.

5. Efectuăm tipărirea prin execuția comenzii Print, din meniul File sau prin acționarea butonului Print, din bara cu scule.

2.4.5 Obiectele bazei de date

În cazul manevrării obiectelor bazei de date, există mecanisme puse la dispoziție chiar de Access.

Pentru copierea unui obiect al bazei de date:

1. În fereastra Database, selectăm obiectul vizat.

2. Executăm comanda Copy, din meniul Edit.

3. Deschidem baza de date destinație.

4. Executăm comanda Paste, din meniul Edit.

5. În caseta pentru dialog Paste As, introducem numele obiectului.

6. Acționăm butonul OK.

Pentru redenumirea unui obiect al bazei de date

1. În fereastra Database, selectăm obiectul vizat.

2. Executăm comanda Rename, din meniul Edit.

3. În caseta pentru dialog Rename, introducem noul numele al obiectului.

4. Acționăm butonul OK.

Pentru eliminarea unui obiect al bazei de date

1. În fereastra Database, selectăm obiectul vizat.

2. Executăm comanda Delete, din meniul Edit.

2.4.6 Închiderea și salvarea unei baze de date

Atunci când am terminat lucrul cu o bază de date, trebuie să salvăm modificările efectuate și să o închidem. În acest fel, toate actualizările pe care le-am făcut devin permanente.

Pentru închiderea și salvarea unei baze de date:

1. Comutăm pe fereastra Database, dacă aceasta nu este activă.

2. Executăm comanda Close Database, din meniul File.

3. OBIECTELE SISTEMULUI ACCESS

3.1 Tabele

Tabelul este un obiect Access destinat pãstrării datelor despre un anumit subiect. Vom numi subiectul la care se referă datele dintr-un tabel entitate. Pentru fiecare entitate identificată la analiza sistemului, vom crea câte un tabel. Tabelele sunt identificate printr-un nume și apar listate în fereastra Database, atunci când acționăm butonul Table.

Într-un tabel, datele sunt organizate pe rânduri și pe coloane. Rândurile conțin informații despre fiecare exemplar al entității respective, iar fiecare coloană reprezintă o caracteristică, un atribut de entității. Pentru rândurile unui tabel mai putem să folosim termenl de înregistrări, iar pentru coloane pe cel de câmpuri. Ceea ce este important de reținut este că fiecare câmp al unui tabel va conține aceeași caracteristici (de exemplu aceeași lungime maximă).

Rezultă că un tabel Access conține două tipuri de informații: informațiile care descriu modul de alcătuire și de organizare al tabelului, adică ceea ce numim structura tabelului și datele propriu-zise. Structura tabelului cuprinde informații despre numărul, tipul de date și proprietățile câmpurilor, câmpurile cheii primare, câmpurile indexate și tipul indexării. Proprietățile câmpurilor sunt stabilite la faza de proiectare. Ele pot fi vizualizate în fereastra pentru proprietăți.

3.1.1 Crearea unui tabel

În Access, avem două posibilități pentru crearea unui tabel: cu ajutorul asistenților pentru tabele (Table Wizards) sau prin forțe proprii. Prima metodă este mai ușoară și mai rapidă, asistenții ghidându-ne și sugerându-ne anumite soluții. Ea este recomandată pentru proiectanții aflați în faza de inițiere. Metoda a doua este pentru avansați și permite un control mai amănunțit al proprietăților tabelului creat.

Pentru crearea unui tabel:

1. Deschidem baza de date

2. În fereastra Database, acționăm butonul Table.

3. Acționăm butonul de comandă New Table. Access afișează caseta pentru dialog New Table.

Access intră în modulul de lucru Design view, care constă din afișarea unei foi de date cu rânduri și trei coloane: Field Namw, Data Type și Description.

În acest mod de lucru, definirea unui câmp, în structura unui câmp, în structura unui tabel, implică doi pași: adăugarea câmpului și stabilirea proprietăților câmpului.

3.1.1.1 Adăugarea unui câmp

Pentru adăugarea unui câmp, în structura tabelului folosim Field Builder și specificăm trei lucruri:

un nume maximum de 64 caractere (inclusiv spații) ca identificatorul de câmp (în coloana Field Name);

un tip de date (în coloana Data Type), care indică ce fel de valori vor fi memorate în acel câmp, câtă memorie se va aloca pentru câmp, ce operații vor fi posibile cu aceste valori și dacă va fi să indexăm sau să sortăm înregistrările după valorile acestuia:

un text explicativ, care să descrie scopul câmpului în intenția proiectantului (în coloana Description).

Tabelul 1. Tipuri de date în câmpurile unui tabel Access

Pentru adăugarea unui câmp, procedăm în felul următor:

1. Introducem numele câmpului în prima celulă liberă din coloana Field Name, apoi apăsăm tasta TAB;

2. Introducem tipul câmpului în același rând, dar în prima celulă liberă din coloană Data Type, apoi apăsăm tasta TAB. Pentru a afișa lista opțiunilor posibile:

acționăm butonul pentru extinderea listei;

apăsăm tastele ALT+ săgeată jos.

3. Introducem o descriere a scopului câmpului în caseta liberă din coloana Discription a aceluiași rând. Această descriere va fi atașată în bara de stare, atunci când lucrăm în foaia de date și selectăm câmpul, dar este utilă și atunci când folosim machete.

3.1.2 Stabilirea cheii primare

Atunci când creăm un tabel, va trebui să stabilim câmpul sau câmpurile ale căror valori identifică unic înregistrările din tabel. Numim aceste câmpuri, câmpurile cheii primare.

Câteva reguli pentru alegerea chei primare sunt prezente mai jos:

Access nu acceptă valori duplicate sau nule în câmpul cheii primare;

dimensiunea ei afectează viteza de operare în baza de date. Pentru performanțe maxime, cheia trebuie să fie minimală;

este de preferat să fie ușor de reamintit.

Pentru stabilirea cheii primare a unui tabel:

1. Deschidem tabelul în modelul Design view;

2. Selectăm câmpul (câmpurile) care vor furniza cheia primară, prin acționarea antetului;

3. Acționăm butonul Set Primery Key, din bara cu scule.

În cazul în care dorim să eliminăm cheia primară, procedăm în felul următor:

1. Acționăm butonul Indexes, din bara cu scule, pentru a deschide o fereastră Indexes;

2. Selectăm câmpul cheie primară și apăsăm tasta DEL.

3.1.2 Modificarea structurii unui tabel

Prin structura unui tabel înțelegem totalitatea informațiilor despre felul de organizare a tabelului și despre datelepe care le putem pãstra în el. Aceste informații le furnizăm la crearea tabelului și includ: numărul de câmpuri; numele, tipul și proprietățile fiecărui câmp; ordinea câmpurilor; cheia primară și indecși.

Modificarea structurii unui tabel o putem efectua în modul Design view. Posibilitatea de modificare a structurii include: schimbarea tipului de date; schimbarea proprietăților câmpurilor; schimbarea ordinii câmpurilor; introducerea sau eliminarea unor câmpuri; modificarea cheii primare și a indecșilor.

Pentru rearanjarea câmpurilor dintr-un tabel:

1. Selectăm rândul de definiție al câmpului, prin acționarea antetului de rând, în Design view.

2. Acționăm antetul din nou și-l antrenăm până la sfârșitul listei cu nume de câmpuri.

3. Eliberăm butonul mouse-ului. Access mută rândul de definiție a câmpului în noua poziție.

Pentru eliminarea unui câmp din structura unui tabel:

1. Deschidem tabelul, în modul de Dedign view.

2. Selectăm rândul de definiție alt câmpului vizat, prin acționarea antetului sau prin deplasarea cu ajutorul tastelor cu săgeți și apăsarea tastelor SHIFT+SPACEBAR.

3. Executăm comanda Delete Row, din meniul Edit sau acționăm butonum Delete Row, din bara cu scule.

Pentru introducerea unui câmp deasupra altui câmp:

1. Selectăm rândul deasupra căruia dorim să inserăm un alt câmp, prin acționarea antetului sau prin deplasarea cu ajutorul tastelor cu săgeți și apăsarea tastelor SHIFT+SPACEBAR.

2. Executăm comanda Insert Row, din meniul Edit sau acționăm butonum Insert Row, din bara cu scule.

3. Definim câmpul dorit în rândul nou introdus.

Pentru mutarea câmpurilor într-un tabel:

1. În modul Design view pentru tabele, selectãm câmpurile pe care dorim să le mutăm prin acționarea fiecărui antet de rând.

2. Acționăm din nou în antetul rândului și ținem apăsat butonul mouse-ului. Access afișează o bară subțire orizontală chiar deasupra ultimului rând selectat.

3. Antrenăm bara orizontală până la rândul de sub locul în care dorim să mutăm câmpurile. Access reordonează rândurile astfel încât acestea să reflecte modificarea.

3.1.3 Folosirea tabelelor

În acest paragraf vom discuta câteva dintre operațiile pe care le putem efectua asupra datelor dintr-un tabel sau chiar asupra întregului tabel, ca obiect de sine-stătător. Vom discuta despre editarea înregistrărilor, despre formatarea în foaia pentru date, despre salvarea și închiderea tabelului.

3.1.3.1 Editarea înregistrărilor

Editarea este operația prin care se efectueazã o modificare în conținutul unei înregistrări. Editarea se efectuează, ca și introducerea datelor, în modul Datasheet view și necesită trei pași: deschiderea tabelului, localizarea înregistrării și a câmpului de modificat (selectarea) și apoi execuția schimbării propriu-zise.

Pentru efectuarea modificării valorii Inui câmp:

Selectăm întregul câmp și introducem noua valoare:

sau

1. Plasăm cursorul în poziția dorită, prin acționare cu mouse-ul.

2. Deplasăm cursorul cu ajutorul tastelor cu săgeți până la poziționarea dorită.

3. Apăsăm tasta DEL, pentru eliminarea caracterului de după cursor sau apăsăm tasta BACKSPACE, pentru eliminarea caracterului dinaintea cursorului.

Tabelul 2. Selectarea în foaia de date

Alte procedee pentru editarea câmpurilor:

Apăsăm tasta F2, pentru selectare/deselectarea câmpului curent.

Apăsăm tasta ESC, pentru anularea modificărilor din câmp/înregistrare.

Apăsăm tasta CTRL+’, pentru introducerea, în câmpul curent, a valorii din câmpul corespunzător al înregistrării anteroare.

Tabelul 3. Deplasarea în foaia de date.

Pentru salvarea modificărilor avem trei posibilități:

Trecerea la înregistrarea următoare.

Apăsăm tastele SHIFT+ENTER.

Închidem foaia de date.

3.1.3.2 Salvarea și închiderea tabelului

Atunci când am terminat lucru cu un tabel, salvăm modificările făcute și putem să-l închidem.

Pentru salvarea configurației curente:

Executăm comanda Save Table, din meniul File.

Pentru închiderea tabelului:

Executăm comanda Close, din meniul File sau acționăm dublu caseta meniului de control.

3.1.3.3 Tipuri de corelații între date

Există trei tipuri de relații pe care le puteți stabili între tabele:

One-to-many (unul- la- mai- mulți). Cheia din tabelul principal poate să apară de mai multe ori în tabelul secundar

One-to-one (unul -la-unu). Cheia din tabelul principal poate să apară o singură dată în tabelul secundar

Many-to-many (mai-mulți-la–mai-mulți). Un sistem în trei, în care două tabele au câte o relație de tip one-to-many cu un al treilea tabel, stabilind astfel între ele o relație many-to-many.

3.2 Interogări

3.2.1Crearea unei interogări

O interogare este o întrebare pe care o formulăm în privința datelor dintr-o bază de date.

În Access, avem posibilitatea să creăm mai multe tipuri de interogări. Astfel putem avea interogări pentru selecție, de acțiune, de sinteză. Dintre acestea, cele mai des utilizate sunt interogările pentru selecție. O interogare pentru selecție este o interogare prin care regăsim și selectăm un set de înregistrări, care satisfac anumite condiții, din unul sau mai multe tabele.

Tabelul 4. Tipuri de interogări

Pentru crearea unei interogări pentru selecție:

1. Deschidem o bază de date.

2. În fereastra Database, acționăm butonul Query.

3. Acționăm butonul New.

4. În caseta pentru dialog New Query, avem două posibilități:

să apelăm la serviciile asistenților Query Wizards pentru crearea interogărilor;

să creăm interogarea noi înșine

În primul caz, vom acționa butonul Query Wizards, iar în cel de al doilea, butonul New Query.

5. Imediat după acționarea butonului New Query, Access deschide fereastra Query, în care afișează caseta pentru dialog Add Table.

6. În caseta pentru dialog Add Table, selectăm un tabel pe care îl vom folosi în cadrul interogării pe care o definim.

7. Acționăm butonul Add.

8. Repetăm pașii 6 și 7 pentru toate tabelele pe care urmează să le folosim în cadrul interogării.

9. Acționăm butonul Close, pentru a închide caseta pentru dialog.

3.2.2 Modificarea unei interogării

Operația de modificare a unei înregistrări poartă numele de editare. Putem să modificăm o interogare în mai multe feluri. Dintre acestea menționăm:

mutarea unei coloane;

inserarea unei coloane;

modificarea dimensiunilor unei coloane;

executarea unui câmp din foaia de date, dar păstrarea lui pentru stabilirea condițiilor de selectare.

Tehnica de lucru este cea obișnuită în aceste situații:

În modul de lucru Datasheet view al interogării, selectăm coloana vizată.

Executăm comanda Column Width, din meniul Format.

În caseta pentru dialog Column Width, introducem dimensiunea dorită pentru lățimea coloanei sau acționăm butonul Best Fit, pentru adaptarea lățimii la lungimea maximă a valorii din câmpul respectiv.

3.2.3 Vizualizarea și tipărirea setului rezultat

Pentru execuția unei interogări și vizualizarea setului dinamic rezultat avem mai multe posibilități. Dacă tocmai am terminat de creat sau modificat o interogare, deci suntem în modul Design view, procedăm astfel:

Executăm comanda Datasheet, din meniul View sau acționăm butonul Datasheet View, din bara cu scule. De asemenea, putem să executăm comanda Run, din meniul Query.

Dacă am deschis o bază de date sau avem afișată fereastra Database:

1. Acționăm butonul Query;

2. Selectăm interogarea al cărei set dinamic rezultat dorim să-l vizualizăm.

3. Acționăm butonul de comandă Open. Access va afișa setul dinamic rezultat în modul Datasheet view.

Pentru tipărirea setului rezultat procedăm în felul următor:

1. Deschidem interogarea în modul Datasheet view sau o selectăm din fereastra Database.

2. Executăm comanda Print, din meniul File sau acționăm butonul Print, din bara cu scule.

3. În caseta pentru dialog Print, specificăm opțiunea de tipărire.

Acționăm butonul OK.

3.2.4 Salvarea unei interogări

În cazul în care interogarea pe care am creat-o ne va fi necesară și în alte sesiuni de lucru, o putem salva pentru utilizări ulterioare:

Pentru salvarea interogării:

1. Executăm comanda Save, din meniul File sau acționăm butonul Save, din bara cu scule.

2. În caseta pentru dialog Save As, introducem numele interogării pe care o salvăm (în caseta Query Name).

3. Acționăm butonul OK. Access salvează interogarea și toate modificările efectuate în baza de date.

3.3 Machete

.1 Crearea unei machete

La fel ca și în cazul tabelelor și al interogărilor, Access ne permite să creăm machetele în două feluri: asistați de From Wizards sau prin forțe proprii. În primul caz, crearea machetei ester facilitată de întrebările asistenților, dar este limitată la câteva formate predefinite. În al doilea caz, suntem liberi să creăm macheta după propriile noastre necesități și după propria imaginație.

Pentru crearea unei machete:

În fereastra Database, acționăm butnul From.

Acționăm butonul de comandă New sau executăm comanda New, din meniul File.

În caseta pentru dialog New Form, selectăm un tabel sau o interogare, din lista obținută prin extinderea casetei Select A Table/Query.

Acționăm butonul Blank From.

Access intră în modul de lucru Design view, în care începem crearea machetei.

3.3.1.1 Cadrul pentru proiectarea machetelor

În modul de lucru Design view pentru machete, Access afișează un cadru pentru proiectare, prevăzut cu riglă pe margini și cu o grilă pentru poziționare. Aceste elemente, împreună cu caseta pentru scule constituie instrumentele pe care le vom utiliza pentru crearea machetei particularizate de care avem nevoie.

Cadrul pentru proiectarea machetei Access afișează macheta împărțită în secțiuni, despărțite prin linii de separație. Secțiunile unei machete sunt:

Dacă dorim, putem să mărim sau să micșorăm spașiul alocat unei secțiuni printr-un procedeu asemănător celui folosit pentru mărirea sau micșorarea dimensiunii rândurilor din Datasheet view.

3.3.1.2 Adăugarea controalelor

Atunci când deschidem, pentru prima dată, o machetă în modul Design view, Access afișează o casetă cu scule specifică proiectării machetelor. Această casetă cu scule conține butoane pentru generarea tuturor tipurilor de controale posibile în machete.

Pentru afișare/ascunderea casetei cu scule:

Executăm comanda Toolbox, din meniul View.

În tabelul 5, sunt prezentate butoanele din caseta cu scule pentru crearea controalelor. Ele sunt listate în ordine din caseta cu scule și anume: de sus în jos ți de la stânga la dreapta.

Tabelul 5. Butoane din caseta cu scule.

Pentru adăugarea unui control:

Executăm comanda Control Wizard, din meniul View (dacă comanda nu este marcată) sau acționăm butonul Control Wizard din caseta cu scule (dacă nu a fost deja acționat).

În caseta cu scule, acționăm butonul corespunzător controlului pe care dorim să-l adăugăm.

Acționăm, într-o secțiune a cadrului pentru proiectare, în locul în care dorim să plasăm controlul.

Introducem informațiile suplimentare cerute de asistenții Access pentru controale (text, dacă este necesar, sau alți parametri).

3.3.2 Modificarea unei machete

Atunci când dorim sã modificăm o machetă, pentru a o adapta necesităților de lucru curente, folosim modul de lucru Design view. În acest caz, spunem că particularizăm macheta.

Pentru deschiderea unei machete în Design view:

În fereastra Database, acționăm butonul From, pentru afișarea listei machetelor.

Selectăm macheta dorită.

Acționăm butonul de comandă Design. Access deschide macheta în modul Design view. În acest mod, în casetele pentru text sunt afișate numele câmpurilor.

3.3.3 Folosirea unei machete

Machetele sunt folosite pentru vizualizarea și introducerea datelor într-o bază de date. Atunci când folosim o machetă putem să vizualizăm datele în trei feluri: în modul From view, în modul Datasheet view sau în modul Print Preview.

În primul mod, vizualizãm toate datele unei singure înregistrări, deodată. Pentru ca să trecem la altă înregistrare, vom folosi butoanele din partea din stânga-jos a machetei. În modul al doilea, vizualizăm mai multe înregistrări deodată, într-o manieră asemănătoare unei foi de lucru (LOTUS 1-2-3, Excel) sau a unei comenzi Browse (dBASE, FoxBase, FoxPro). Dacă dorim să vizualizăm alte înregistrări sau câmpuri, folosim butoanele pentru defilare verticală sau orizontală. Al treilea mod este folosit pentru previzualizarea machetei înaintea tipăririi.

Pentru comutarea între cele două moduri de vizualizare:

Executăm comanda Datasheet/From, din meniul View sau acționăm butonul Datasheet View/From View, din bara cu scule.

În ambele moduri, la sfârșitul machetei sau al foii de date, se găsește o înregistrare goală. Ea este destinată recepționării datelor introduse în machetă, atunci când adăugăm o nouă înregistrare.

Pentru adăugarea unei înregisrări:

Executăm subcomanda New, a comenzii GoTo, din meniul Records sau acționăm butonul New, din bara cu scule.

Apăsăm tasta TAB, pentru ca să ne poziționăm în următoarea casetă pentru text.

Introducem datele pentru câmpul respectiv.

Repetăm pași 3 și 4 pentru toate câmpurile înregistrării.

Pentru salvarea înregisrării introsuse:

În momentul în care am terminat introducerea datelor în ultimul câmp al înregistrării curente, apăsăm tasta TAB, pentru a trece la primul câmp al înregisrării următoare.

Access salvează automat conținutul înregistrării curente, înainte de a trece la înregistrarea următoare.

Pentru a anula ultimele modificări dintr-un câmp:

Executăm comanda Undo Typing, din meniul Edit sau acționăm butonul Undo, din bara cu scule. Access anulează modificarea cea mai recentă efectuată asupra valorii din câmp.

Executăm comanda Undo Current Field, din meniul Edit sau acționăm butonul Undo Current Field/Record, din bara cu scule. Access anulează toate modificările efectuate asupra valorii din câmpul/înregistrarea curentă.

3.3.4 Tipărirea, salvarea și închiderea unei machete

Înainte de tipărire este posibil să facem o vizualizare de probă a machetei ce urmează să fie tipărită. În acest fel, ne putem face u idee clară asupra felului cum va arăta aceast în forma tipărită

Pentru vizualizarea de probã a unei machete:

Executăm comanda Print Preview, din meniul File sau

acționăm butonul Print Preview, din bara cu scule.

În fereastra Print Preview, putem să mărim imaginea paginii tipărite, prin plasarea indicatorului mouse-ului pe pagină și acționarea cu mouse-ul, în momentul în care indicatorul s-a transformat într-o lupă. Dăcă acționăm, din nou, butonul mouse-ului, imaginea revine la dimensiunea normală

Executăm comanda From, din meniul View sau acționăm

butonul Close, din bara cu scule, pentru a reveni la modul de vizualizare From view.

Pentru tipărirea machetei:

1. Executăm comanda Print, din meniul File sau acționăm butonul Print din bara cu scule.

2. În caseta pentru dialog Print, putem să precizăm parametrii de tipărire.

3. Acționăm butonul OK.

Pentru salvarea machetei:

1. Executăm comanda Save From, din meniul File.

2. În caseta pentru dialog Save As, introducem numele machetei.

3. Acționăm butonul OK.

Pentru închiderea machetei:

Executăm comanda Close, din meniul File.

3.4 Rapoarte

Raportul este un obiect al unei baze de date Access pe care-l folosim pentru prezentarea datelor dintr-unul sau mai multe tabele și a rezultatelor prelucrărilor efectuate asupra lor.

3.4.1 Funcționarea unui raport

Un raport funcționează pe baza informațiilor de structură, stabilite la crearea raportului. Acestea definesc elementele care alcãtuiesc raportul (secțiune și controale), caracteristicile acestora, aranjarea în pagină, legăturile cu câmpurile și expresiile care produc datele prezentate. De asemenea, precizează atributele generale ale raportului. Secțiunile sunt diviziunile raportului, iar controalele sunt obiectele grafice care fac legătura și afișează datele din câmpuri sau expresii. Unele controale nu prezintă date, ci obiecte decorative ale rapor-tului. Din această categorie fac parte liniile, cadrele și casetele nelegate, care afișează imagini.

Între machete și rapoarte există multe asemănări, atât din punct de vedere al structurii cât și al tehnicilor de creare, utilizare și funcționare. Ambele clase de obiecte sunt destinate prezentării datelor, folosesc secțiuni și controale pentru gestionarea spațiului și a datelor, pot să includă submachete, respectiv subrapoarte.

Principalele caracteristici ale rapoartelor, care le diferențiază de machete, sunt:

rapoartele sunt unidirecționale (permit numai extragerea, nu și introducerea datelor);

rapoartele permit gruparea și totalizarea datelor (cu total pe subgrupă/grupă și total general, eventual cu procentaje față de totalul general);

rapoartele dau o imagine de ansamblu asupra datelor.

3.4.2 Crearea unui raport

Access ne pune la dispoziție două metode pentru crearea rapoartelor: cu ajutorul Report Wizards și prin proiectare independentă. Prima metodă, la fel ca și în cazul altor obiecte ester mai rapidă, mai ușoară și, în cosecință, recomandată începătorilor sau în cazul unor rapoarte simple. În cazul în care dorim să creăm rapoarte mai complicate, care necesită cunoștințe mai avansate, vom folosi metoda a doua.

Pentru crearea unui raport:

1. În fereastra Database, acționăm butonul Report.

2. Acționăm butonul New.

3. În caseta pentru dialog New Report, selectăm sau introducem tabelul sau interogarea pe care se va baza raportul.

4. Acționăm butonul Blank Report, din caseta pentru dialog New Report.

5. Access afișează cadru pentru proiectare independentă a rapoartelor, în modul de lucru Design view.

6. Adăugăm secțiuni și controale acestui cadru și le particularizăm conform necesităților.

3.4.3 Modificarea unui raport

Modificarea structurii unui raport este posibilă în modul de lucru Design view. După ce am deschis un raport în acest mod de lucru, putem să facem modificări diverse.

Pentru deschiderea unui raport în modul Design view:

1. În fereastra Database, acționăm butonul Report, pentru a afișa lista rapoartelor.

2. Selectăm raportul dorit.

Acționăm butonul Design.

3.4.4 Crearea unui șablon pentru machete sau rapoarte

Atunci când creăm o machetă sau un raport fără ajutorul asistenților, Access folosește un șablon pentru ca să definească atributele implicite ale machetei sau raportului. Șablonul determină ce secțiuni vor apărea în cadrul machetei sau raportului și definește dimensiunile secțiunilor. De asemenea, el conține toate valorile implicite ale proprietăților pentru machete sau rapoarte, cât și pentru secțiunile și controalele acestora. Șabloanele implicite pentru machete și rapoarte se numesc Normal. În orice caz, putem să folosim orice machetă sau raport existent ca șablon sau putem să creăm o machetă sau un raport special în acest scop.

Pentru stabilirea unei opțiuni a șablonului pentru machete sau a șablonului pentru rapoarte:

1. Executăm comanda Options, din meniul View.

2. În casetacaseta pentru dialog Options, selectăm Form & Report Design, din lista Category.

3. În caseta Items, selectăm From Template sau Report Template.

4. Introducem numele machetei sau al raportului pe care dorim să-l folosim ca șablon.

5. Acționăm butonul OK.

Șabloane pentru machete și rapoarte definesc:

dacă include un antet și un subsol pentru machete sau rapoarte;

dacă include un antet și un subsol pentru pagină;

ce dimensiuni (lățimea și lățimea) vor avea secțiunile;

care vor fi proprietățile implicite folosite pentru controale.

Notă:

Un șablon nu creează controalele într-un raport nou sau într-o machetă nouă. Access salvează valorile parametrilor pentru șabloane în baza de date sistem a grupului de lucru Access (), nu în baza de date proprie proiectantului. În momentul în care modificăm valoarea unui parametru, ea se aplică oricărei baze de date pe care o deschidem sau o creăm în grupul de lucru.

3.4.5 Tipărirea, salvareași închiderea unui raport

Tipărirea unui raport o putem efectua din: modurile Print Preview sau Design view, precum și din fereastra Database.

Pentru tipărirea unui raport:

1. Executăm comanda Print, din meniul File sau acționăm butonul Print, din bara cu scule.

2. Modificăm parametrii pentru tipărire, dacă este necesar.

3. Acționăm butonul OK.

Pentru salvarea raportului:

1. Executăm comanda Save, din meniul File.

2. În caseta pentru dialog Save As, introducem numele raportului.

3. Acționăm butonul OK.

3.4.6 Când folosim un raport și când folosim o machetă

Diferența dintre machete și rapoarte constă și din modul de grupare a datelor:

în machetă – grupăm datele prin crearea unei machete principale (pe baza Inui tabel-interogări) și a unei machete secundare (pe baza Inui tabel colelat cu primul).

în raport – grupăm datele dintr-un tabel/interogare. Aceste date sunt vizualizate atât în foaia pentru date (Datasheet), cât și în raport, dar ele sunt prezentate diferit.

Avantajele machetelor sunt următoarele: pot fi utilizate pentru vizualizarea, editarea, tipărirea datelor. Afișarea lor se face pe ecran consolei, dar pot fi și tipărite.

Avantajele rapoartelor sunt următoarele: dau o imagine de ansamblu; permit gruparea datelor și calculul de totaluri și subtotaluri; este posibilă introducerea unui subraport în raport; putem să controlăm așezarea în pagină și, apoi, să tipărim raportul.

Prelucrarea datelor

3.5.1 Expresii

Expresiile sunt componente de bazã ale unor activități Access. Putem să folosim expresii pentru efectuarea calculelor, pentru specificarea condițiilor de selectare din interogări, filtre și macro-comenzi, pentru controlul execuției unei macro-comenzi și pentru crearea procedurilor Sub și Function din Access Basic.

3.5.1.1 Comportarea unei expresii

O expresie este alcătuită din două categorii de elemente: operatori și operanzi. Operatorii indică o operație care se efectuează asupra unuia sau mai multor elemente. De exemplu, *, <>. Add, Like sunt operatori care indică înmulțirea, testul de inegalitate, și operația ȘI logic, recunoașterea unor șabloane de caractere. Operanzii precizează valorile care intră în evaluarea operatorilor.

3.5.1.2 Operatori

Access acceptă șase categorii de operatori: aritmetici, pentru comparație (relaționali), pentru concatenare, logici, pentru identificare (cu șabloane de caractere) și diverși.

Tabelul 6. Operatori aritmetici

Tabelul 7. Operatori relaționali

Tabelul 8. Operatori pentru concatemare șirurilor de caractere

Tabelul 9. Operatorul pentru recunoașterea șabloanelor de caractere

Tabelul 10. Operatori diverși

Precedența operatorilor

Atunci când într-o expresie apar mai mulți operatori, fiecare operație este evaluată și rezolvată într-o ordine prestabilită. Aceasta este numită precedența operatorilor. Parantezele pot fi folosite pentru a modifica ordinea de evaluare și pentru a impune evaluarea anumitor părți ale expresiei înaintea altora. Operațiile din paranteze sunt efectuate întotdeauna înaintea celor din afara lor. Atunci când expresiile conțin operatorii din mai multe categorii, operatorii aritmetici sunt evaluați mai întâi, după aceea sunt evaluați operatorii relaționali și în sfârșit sunt evaluați operatorii logici. În cadrul categoriilor, operatorii sunt evaluați în ordinea prezentată mai jos.

Tabelul 11. Operatori logici

Tabelul 12. Precedența operatorilor

3.5.1.3 Operanzi

Access acceptă mai multe tipuri de operanzi: identificatori, funcții, literali și constante. Identificatorii adresează valoarea Inui câmp, controlat sau proprietate.

O funcție returnează o valoare, în baza rezultatelor unui calcul sau unor alte operații. De exemplu: Sum( ), Dlookup ( ), sunt funcții. Prima calculează suma unor valori, iar a doua caută o valoare într-o bază de date. Literalii reprezintă valori pe care Access le evalueay[ exact a;a cum sunt scrise. Constantele reprezintă valori care nu sunt modificate în cursul execuției.

3.5.2 Sortarea înregistrărilor

Sortarea este operația de aranjare a înregistrărilor după valorile din anumite câmpuri în ordine ascendentă sau desscendentă.

Pentru sortarea înregistrărilor:

Comutăm pe modul Datasheet view (executăm comanda Datasheet, din meniul View sau acționăm butonul Datasheet View din bara cu scule)

Selectăm coloana corespunzătoare câmpului ale cărui valori dorim să constrituie criteriul de ordonare.

Acționămbutonul Sort Ascending din bara cu scule. Access aranjază înregistrările în ordinea specificată.

Ordonarea prin sortare se poate aplica următoarelor tipuri de câmpuri, iar efectul este următorul (la sortarea ascendentă):

3.5.3 Formatarea datelor

Formatarea este o operația prin care schimbã aspectul și modul de prezentare a datelor din baza de date. În Access, avem diverse posibilități pentru formatare, majoritatea folosindu-ne pentru a da un aspect mai plăcut informațiilor prezentate sau pentru a pune în evidență anumite aspecte semnificative ilustrate de valorile și rezultatele obținute.

Pentru formatarea textelor:

Executăm comanda Font, din meniul Format.

În caseta pentru dialog Font, alegem fontul, stilul și dimensiunea caracterelor, precum și alte caracteristici ale acestora.

Acționăm butonul OK.

Pentru formatarea rândurilor și coloanelor dintr-o foaie de date:

Executăm comanda Font, din meniul Format.

În caseta pentru dialog corespunzătoare, precizăm opțiunile noastre.

Acționăm butonul OK.

3.6 Folosirea tabelelor corelate

Tipuri de asocieri a înregistrărilor din tabelele corelate

Access ne permite să asociem înregisrările din tabelele corelate în trei feluri. Tipurile de asociere posibile în Access se numesc: asocierea de tip “inner-join”, asocierea de tip “outer-join” și asocierea de tip “self-join”.

3.6.1.1 Asocierea de tip “inner-join”

Asocierea de tip “inner-join” este o asociere în care înregistrările din douã tabele sunt combinate și adăugate la setul dinamic rezultat, atunci când în câmpurile asociate există valori: egale (varianta numită “equi-join”) sau inegale (varianta numită “ non-equi-join”)

Access nu admite decât asocieri de tip “equi-join”.

Pentru crearea unei asocieri de tip “equi-join”:

1. În modul de lucru Design view pentru interogări, adăugăm tabelele dorite pentru interogare.

Pentru asocierea a două tabele, antrenăm un câmp din lista cu câmpuri a unui tabel peste câmpul corespunzător (câmp având același tip de date și conținând date similare)din celălalt tabel. Access crează automat o asociere de tip “equi-join” între înregistrările celor două tabele. El tratează, de asemenea, o linie de asociere care conectează câmpurile asociate.

3.6.1.2 Asocierea de tip “outer-join”

Asocierea de tip “outer-join” este o asociere în care în setul dinamic sunt adăugate toate înregistrările dintr-un tabel, chiar dacă nu există valori corespunzătoare în câmpul asociat din cel de al doilea tabel. Înregistrările din al doilea tabel sunt combinate cu cele din primul numai atunci când există . O asociere de tip “self-join”poate

Pentru crearea unei asocieri de tip “outer-join”:

1. Creăm o asociere de tip”equi-join” .

2. Acționăm dublu linia de asociere dintre tabele sau selectăm linia de asociere și executăm comanda Join Proprietes, din meniul View.

3. În caseta pentru dialog Join Proprietes, selectăm tipul de asociere dorit:

4. Acționăm butonul OK

3.6.1.3 Asocierea de tip “self-join”

Asocierea de tip “self-join” este o asociere în care înregistrările dintr-un tabel sunt combinate cu alte înregistrări din același tabel, atunci când există valori corespunzătoare în câmpurile asociate. O asociere de tip “self-join” poate să fie de tip “equi-join” sau “outer-join”

Pentru crearea unei asocieri de tip “self-join”:

1. În modul de lucru Design view pentru interogări, adăugăm de două ori tabelul, în interogarea pe care o creăm. Access afișează două liste cu câmpurile acestui tabel în panoul pentru tabele al ferestrei Query.

2. Creăm asocierea, prin antrenarea câmpului vizat din prima listă cu câmpuri, peste câmpul corespunzător din a doua listă cu câmpuri.

3.6.2 Crearea machetelor pe baza unor tabele corelate

În cazul în care dorim să vizualizăm date din mai multe tabele în aceeași machetă sau în același raport, putem să folosim două metode: fie creăm macheta pe baza unei interogări pe tabele corelate, fie înglobăm în macheta principală una sau mai multe submachete.

Avantajul primei metode constă în faptul că putemsă alegem exact numai câmpurile și înregistrările care ne interesează. Setul rezultat este dinamic și este în continuu actualizat. A doua metodă ne permite să prezentăm informațiile structurate până la trei niveluri de ierarhizare.

3.6.3 Crearea și folosirea submachetelor

Atunci când creãm o machetã este mai convenabil să afișăm datele grupate după semnificația lor. Pentru face acest lucru creăm o machetă care conține o submachetă. Submacheta afișează o mulțime de înregistrări care sunt asociate cu înregistrarea prezentată în macheta principală.

Pentru aceasta trebuie să aplicăm următorul procedeu:

1. Creăm macheta principală, rezervând spațiu pentru submachetă, apoi o salvăm și o închidem.

2. Creăm submacheta și-i stabilim proprietățile ViewsAllowed și Default View conform felului de afișare dorit, apoi o salvăm și o închidem.

3. Adăugăm submacheta la macheta principală.

Tabelul 13. Valorile proprietăților ViewsAllowed și DefaultView

Pentru adăugarea submachetei la macheta principală:

1. Deschidem macheta principală în modul de lucru Design View.

2. Comutăm pe fereastra Database, prin apăsarea tastei F11.

3. Antrenăm submacheta din fereastra Database și o plasăm în macheta principală în poziția dorită.

4. Comutăm în modul de lucru From view, pentru a vizualiza ansamblul format din macheta principală și submachetă.

Pentru ca sã efectuăm modificări în structura submachetei în timpul lucrului cu macheta principală:

1. Având macheta principală afișăm în modul de lucru Design view, acționăm în orice parte a machetei principale executând controlul submachetei.

2. Acționăm dublu în controlul submachetei, Access va afișa submacheta în modul de lucru Design view.

3. Efectuăm modificările dorite în structura submachetei, apoi o salvăm și o închidem.

4. Afișăm macheta în modul de lucru From view, prin acționarea butonului corespunzător din bara cu scule.

Scopul folosirii unei construcții de tipul prezentat mai sus este de a puteavizualiza în macheta principală date dintr-o înregistrare a Inui tabel, iar în submachetă datele din înregistrările asociate din al doilea tabel. Atunci când construin o astfel de structură, Access încearcă să conecteze cele două machete, în mod automat. Pentru ca această operație să poată fi făcută corect, trebuie ca machetele să fie create pe baza unor tabele corelate sau ca tabelul sursă al machetei principale să aibă definită o cheie primară, iar tabelul sursă al submachetei să conțină un câmp cu același nume și un tip de date compatibil cu cel al câmpului cheii primare din primul tabel.

În cazul în care nici una dintre aceste două condiții nu este îndeplinită, va trebui să realizăm noi înșine asocierea, folosind proprietățile submachetei în felul următor:

1. Afișăm macheta principală în modul de lucru Design view.

2. Selectăm controlul submachetă și afișăm foaia pentru proprietăți a acesteia.

3. Punem în proprietatea LinkChildFields numele câmpului de legătură din submachetă..

4. Punem în proprietatea LinkMasterdFields numele câmpului sau controlului de legătură din macheta principală.

3.6.4 Crearea unei submachete pe baza unei interogări

În același fel în care putem să construim o machetă pe baza unei interogări, este posibil să creăm și o submachetă având ca sursă setul dinamic rezultat. Vom proceda în acest fel atunci când dorim să putem beneficia de avantajele interogărilor pentru obținerea datelor de afișat în submachetă: selectarea, gruparea și totalizarea înregistrărilor sau atunci când avem nevoie să prezentăm date din mai multe tabele.

Pentru crearea unei submachete pe baza unei interogări:

1. Creăm interogarea pe care se va baza submacheta noastră. Vom avea grijă să includem în interogare și câmpul de legătură cu macheta principală. Salvăm interogarea.

2. Creăm macheta principală și submacheta prin una dintre module prezentate mai sus și folosim interogarea ca sursă a datelor pentru submachetă.

3. Adăugăm submacheta la macheta principală, atribuind valori adecvate proprietăților LinkMasterFields și LinkChildFields ale submachetei, dacă ester necesar.

3.6.5 Crearea rapoartelor pe baza unor tabele corelate

Atunci când lucrăm cu tabele corelate, putem să creăm rapoarte care conțin alte rapoarte. Pentru a realiza acest lucru folosim conceptul de subraport, definit ca un raport inclus într-alt raport. Raportul care conține subrapoarte poartă numele de raport principal. Access ne permite să creăm, în funcție de necesități, diverse combinații de rapoarte principale și subrapoarte.

În primul rând, putem să creăm rapoarte pe baza unui tabel sau a unei interogări (eventual cu mai multe tabele). Un astfel de raport poartă numele de raport legat. Apoi, putem să creăm rapoarte nelegate, care nu preiau datele dintr-un obiect al unei baze de date Access. Un raport nelegat are, de cele mai multe ori, numai rolul unui recipient pentru subrapoarte sau submachete. Aceste subrapoarte pot prezenta date corelate cu sau fără nici o legătură între ele.

Access ne permite să introducem, într-un raport principal, oricâte subrapoarte și/sau submachete. Mai mult chiar, putem să ierahizăm aceste componente pe maximum 2 niveluri, în combinațiile prezentate în tabel.

Tabelul 14. Combinații de elemente într-un raport ierarhizat

3.7 Macro-comenzi

O macro-comandă este un obiect al unei baze de date Access, care conține o secvență de activități pe care Access le execută automat pentru utilizator. Macro-comenzile pot fi atașate unei machete, Inui raport, control, element de meniu sau unei combinații de teste.

O macro-comandă este compusă din acțiuni. O acțiune îndeplinește o anumită sarcină bine definită: deschide/închide o machetă, tipărește un raport, aplică un filtru. Pentru efectuarea activității solicitate, unele acțiuni au nevoie de anumite informații suplimentare. Aceste informații poartă numele de argumente.

3.7.1 Crearea unei macro-comenzi

În Access, putem sã creãm macro-comenzi în două feluri: prin forțe proprii sau cu ajutorul Command Button Wizard. Prima metodă este recomandată în cazul construirii unor macro-comenzi mai complexe, în timp ce a doua permite crearea unui buton de comandă și atașarea la acesta a unei acțiuni, care se va executa în momentul acționării lui.

3.7.1.1 Crearea unei macro-comenzi în fereastra Macro

Atunci când optăm pentru crearea unei macro-comenzi, vom proceda într-un mod asemănător creării altor obiecte ale bazei de date Access.

După deschiderea bazei de date, continuăm în felul următor:

1. Deschidem fereastra Database.

2. Acționăm butonul Macro.

3. Acționăm butonul de comandă New. Access afișează fereastra Macro.

4. În fereastra Macro, adăugăm acțiunile macro-comenzii, pe care, eventual, le comentăm și precizăm argumentele acestora.

Fereastra Macro este formată dintr-o grilă cu celule plasate pe două coloane. Coloana Action este destinată numelor acțiunilor executate de macro-comandă la fiecare pas, iar coloana Comment pentru deschiderea acșiunilor, precum și păstrarea unor note sau observații ale proiectantului. Dacă în cazul unor macro-comenzi simple, completarea acestei coloane poate să fie omisă, în cazul unor macro-comenzi complexe acest lucru este recomandabil. În vederea unor modificări, ulterioare ale macro-comenzii, aceste informații pot să fie extrem de utile. La fel ca și în cazul foilor de date, rândurile grilei di fereastra Macro au antete în partea stângă. În antetul rândului corespunzător celulei selectate, este afișat un triunghi negru. El indică acțiunea curentă. După ce am afișat fereastra Macro, vom trece la alegerea și adăugarea acțiunilor, în celulele coloanei Action.

Pentru adăugarea unei acțiuni:

1. În fereastra Macro, acționăm într-o celulă liberă din coloana Action.

2. Acționăm butonul pentru extindere și, din lista afișată, alegem acțiunea dorită sau introducem direct numele acțiunii, de la tastatură.

3. Adăugăm în coloana Comment o descriere a acțiunii efectuate și a scopului acestuia.

4. Precizăm valorile argumentelor acțiunii introduse.

În partea de jos a ferestrei Macro, sunt afișate argumentele acțiunii curente. În cazul creării unei macro-comenzi prin forțe proprii, proprietarul trebuie să furnizeze valori pentru aceste argumente.

Pentru precizarea argumentelor:

În zona pentru argumente

Acționăm butonul pentru extindere și, din lista afișată, alegem valoarea dorită. În cazul în care Access nu oferă o listă cu opțiuni posibile, va trebui să introducem valoarea de la tastatură.

3.7.2 Modificarea unei macro-comenzi

Dacã, din anumite motive, dorim să efectuăm modificări într-o macro-comandă existentă, vom utiliza următoarele procedee.

Pentru inserarea unei acțiuni într-o macro-comandă:

1. Acționăm celula din coloana Action, deasupra căreia dorim să introducem o altă acțiune.

2. Executăm comanda Insert Row, din meniul Edit.

3. Acționăm celula din coloana Action, a noului rând introdus.

4. Procedăm ca în cazul adăugării unei acțiuni.

Pentru rearanjarea acțiunilor dintr-o macro-comandă:

1. Acționăm antetul de rând al acțiunii vizate.

2. Acționăm din nou antetul de rând și ținem apăsat butonul mouse-ului.

3. Antrenăm rândul în sus sau în jos, apoi, în momentul în care am ajuns în poziția dorită, eliminăm butonul mouse-ului.

Pentru eliminarea unei acțiuni dintr-o macro-comandă:

1. Acționăm antetul de rând al acțiunii vizate.

2. Apăsăm taste DEL.

3.7.3 Depanarea unei macro-comenzi

În cazul în care macro-comanda pe care am creat-o nu funcționează așa cum ne-am dorit, va trebui să o depanăm. Metoda cea mai bună pentru a face acest lucru este execuția “pas-cu-pas”. Aceasta înseamnă execuția acțiune cu acțiune.

Pentru execuția “pas-cu-pas a unei macro-comenzi:

1. Deschidem macro-comanda în modul Design view sau selectăm numele macro-comenzii, din meniul Window, pentru a o activa.

2. Acționăm butonul Single Step, din bara cu scule sau executăm comanda cu același nume, din meniul Macro.

3. Executăm macro-comanda pe care dorim să o depanăm. Access afișează caseta Macro Single Step, înaintea execuției fiecărei acțiuni, indicând în acest fel atât acțiunea următoare, cât și condiția din argumentele acesteia.

4. Acționăm butonul Step, din caseta Macro Single Step. În cazul în care condiția există și este îndeplinită, Access execută acțiunea și o afișează pe următoarea, în caseta Macro Single Step.

5. Dacă dorim să oprim execuția macro-comenzii, acționăm butonul Halt, din caseta Macro Single Step.

3.8 Module

3.8.1 Componentele unui modul

Modulele sunt obiectele unei baze de date Access, cu ajutorul cărora organizăm procedurile dintr-o aplicație. Fiecare modul conþine o secțiune pentru declarații și o colecție de proceduri, pe care le adaugăm modulului.

Implicit, secțiunea pentru declarații conține instrucțiunea Option Compare Database, la care mai putem să adăugăm și altele.

Procedurile Access Basic, sunt de două feluri: procedurile pentru tratarea evenimentelor și proceduri generare.

Procedurile pentru tratarea evenimentelor sunt procedurile atașate unor evenimente ce apar într-o machetă, raport sau control. Ele sunt apelate și executate, automat, în momentul declanșării evenimentului pe care-l tratează. Convenția de numire a acestor proceduri este următoarea:

Numeobiect_numeeveniment

Unde:

Numeobiect-este numele obiectului căruia îi este asociată procedura: Form pentru machete, Report pentru rapoarte sau numele controlului.

_ -este separatorul obligatoriu dintre cele două nume.

numeeveniment- este numele evenimentului tratat.

Procedurile generale sunt procedurile apelante explicit din alte proceduri, din expresii sau macro-comenzi. Ele sunt utilizate atunci când dorim să calculăm o valoare (proceduri Function) sau atunci când dorim să efectuăm anumite activități comune mai multor evenimente (proceduri Sub). Procedurile generale pot fi create atât în module pentru machete sau pentru rapoarte, cât și în modulele globale, după rolul și posibilitățile de acces pe care intenționăm să le dăm.

3.8.2 Folosirea modulelor

Fiecare machetă sau raport din baza de date are atașat un modul care conține procedurile pentru tratarea evenimentelor ce apar în respectiva machetă sau raport. Aceste module, numite module pentru machete și module pentru rapoarte sunt create. Ele sunt componente ale structurii machetei sau raportului și păstrează proceduri proprii respectivei machete sau raport.

Pe de altă parte, dacă dorim să folosim anumite proceduri din diferite obiecte ale aplicației, vom introduce aceste proceduri într-un alt tip de modul, numit modul global. Modulele globale păstrează proceduri de interes general, accesibile de orice parte a bazei de date. O procedură dintr-un modul global poate fi apelată din expresii, macro-comenzi, proceduri pentru tastarea evenimentelor sau proceduri din module globale. Modulele globale apar listate în fereastra Database.

Înainte de a putea să executăm o procedură, Access Basic trebuie să o compileze. Access Basic face ultimele verificări asura corectitudinii instrucțiunilor componente (controlul de sintaxă fiind deja efectuat din momentul introducerii instrucțiunii) dacă totul este în regulă, le transformă în formatul executabil.

Pentru ca să ne asigurăm că toate procedurile au fost compilate:

Executăm comanda Compile Loaded Modules, din meniul Run al ferestrei Module.

De asemenea, trebuie să notăm faptul că această comandă compilează numai modulele încărcate în baza de date. Aceasta înseamnă:

toate modulele globale;

toate modulele atașate machetelor și rapoartelor deschise.

3.8.2.1 Crearea și deschiderea unui modul

Atunci când dorim să utilizăm modulele într-o aplicație Access, va trebui să parcurgem câțiva pași: întâi, vom crea modulul, apoi îl deschidem și adăugăm procedurile corespunzătoare, iar la sfârșit atașăm procedurile cu evenimente din obiectele bazei de date și le testăm funcționarea.

Pentru crearea unui modul global:

1. Acționăm butonul Module, din fereastra Database.

2. Acționăm butonul de comandă New.

Pentru deschiderea unui modul global existent:

1. Acționăm butonul Modul, din fereastra Database. Access afișează lista modulelor din baza de date.

2. Selectăm modulul pe care dorim să-l deschidem.

3. Acționăm butonul de comandă Design sau acționăm dublu numele modulului. Access deschide modulul în fereastra Module.

Pentru deschiderea unui modul pentru machetă sau pentru raport:

1. Acționăm butonul From sau Report, din fereastra Database și apoi selectăm macheta sau raportul pe care dorim să-l deschidem.

2. Acționăm butonul Code, din bara cu scule sau executăm comanda Code, din meniul View. Macheta sau raportul vor fi deschise în modul de lucru Design view, împreună cu modulele lor.

INTERFAȚA CU UTILIZATORUL

Totalitatea mijloacelor prin care aplicația Access comunică cu utilizatorul ei poartă numele de interfață. De obicei, interfața este bidirecțională, permițând atât transferul datelor primare și al comenzilor de la utilizator, cât și extragerea rezultatelor și afișarea mesajelor de la aplicație.

Conceperea interfeței este una dintre sarcinile proiectantului. Accesul pune la dispoziția acestuia diverse mecanisme pentru interfațare: machete, casete pentru dialog, meniuri, bare cu scule, combinații de taste. Rolul proiectantului este să aleagă dintre acestea pe cele mai potrivite pentru aplicația dată și să decidă felul în care utilizatorul aplicației va folosi diferitele facilități ale acesteia, pentru rezolvarea sarcinilor de lucru.

4. 1. Structura interfeței cu utilizatorul

Atunci când concepe o aplicație, proiectantul trebuie să decidă ce elemente va întrebuința pentru realizarea interfeței și felul în care utilizatorul va folosi aplicația pentru a efectu diferite operații. Folosirea aplicației presupune trecerea de la un câmp la altul, de exemplu într-o machetă sau trecerea de la un obiect la altul, de exemplu de la o machetă la un raport sau la altă machetă.

Atunci când ne referim la o machetă, modalitatea de trecere de la un control la altul (focalizarea) este stabilită de așa- numita ordine de vizitare. Ordinea de vizitare este impusă de proiectant, fie implicit, prin secvența în care a creat controalele în cadrul machetei, fie explicit, prin folosirea proprietății TabIndex a fiecărui control. Din acest punct de vedere, se pot face câteva recomandări suplimentare, în privința proiectării unei machete:

controalele trebuie grupate logic, în așa fel încât utilizatorul să-și concentreze atenția într-o singură zonă a machetei;

deplasarea să fie naturală, de exemplu de sus în jos sau de la stânga spre dreapta;

controalele folosite pentru găsirea sau filtrarea înregistrărilor le plasăm în antet sau în subsol, pentru a sublima funcționalitatea lor diferită.

În privința trecerii de la un obiect la altul, ne putem inspira din metodele folosirii în aplicațiile Windows cunoscute. În acest sens, vom comenta câteva dintre alternativele care ne stau la dispoziție:

în machete, putem să adăugăm butoane de comandă și să le folosin pentru executarea unor acțiuni ca: aplicarea unui filtru, execuția unei interogări, transferul unor date, deschiderea unei machete cu detalii sau tipărirea unui raport. Butoanele de comandă prezintă avantajul unei foarte bune vizibilități și a unei mari ușurințe de utilizare. Întrucât, în capitolele anterioare am folosit deja o astfel de interfață, nu mai insistăm și vom prezenta numai celelalte mecanisme, ne discutate până acum;

putem să adăugăm meniuri noi în barele pentru meniuri existente sau să creăm bare pentru meniuri complet noi, care să asigure comenzile necesare operării aplicației. Folosirea acestei metode este recomandată în cazul operațiilor globale pentru o machetă. Ea are avantajul că ocupă puțin loc pe ecran, dar și dezavantajul unei vizibilități mai reduse decât în cazul butoanelor de comandă. Pentru ca utilizatorul să vadă o comandă, el trebuie să deschidă meniul.

oarecum asemănător folosirii meniurilor, avem posibilitatea să particularizăm barele cu scule existente sau să ne creăm propriile bare cu scule. Barele cu scule particularizate putem să le atașăm machetelor și să folosim butoanele pentru execuția comenzilor din aplicație. În funcție de necesitățile concrete, vom putea să folosim o singură bară cu scule particularizată sau mai multe. În ultimul caz, le putem atașa machetelor corespunzătoare. Avantajul folosirii acestui mecanism este vizibilitatea mai bună decât a comenzilor din meniuri și ușurința întrebuințării. De fapt, putem să folosim butoanele din barele de scule pentru a pune în evidență și la îndemână, cele mai frecvent folosite comenzi din meniu.

în fine, avem posibilitatea să asociem acțiuni cu o anumită combinație de taste, prin folosirea unei macro- comenzi pentru atribuirea tastelor.

O interfață bine proiectată este cât mai simplă, mai sugestivă și mai ușor de întrebuințat. Cu cât interfața este mai discretă, cu atât utilizatorul își poate concentra atenția asupra sarcinilor de serviciu, nu asupra structurii și funcționării interfeței.

4.2. Crearea unei bare pentru meniuri

Barele pentru meniuri oferă posibilitatea definirii unor seturi de comenzi pentru aplicație. În Access, avem posibilitatea să creăm bare particularizate pentru meniuri, care include atât comenzi Access native, cât și comenzi definite special pentru aplicație. O bară pentru meniuri este alcătuită din meniuri, care grupează următoare elemente: comenzi, bare de separare și submeniuri. Toate aceste componente le vom numi cu termenul comun de elemente de meniu. La rândul lor, submeniurile conțin subcomenzi și bare de separare.

Comenzile particularizate din barele cu meniuri pot fi folosite în două feluri:

afișarea unei machete sau unui raport (bara pentru meniuri este afișată ori de câte ori deschidem macheta sau afișăm raportul în Print Preview);

global (afișată în toate ferestrele cu excepția machetelor sau rapoartelor care au propriile bare cu meniuri).

4.2.1 Crearea unor submeniuri

Pentru fiecare meniu creat putem să includem unul sau mai multe niveluri de submeniuri. Un submeniu este o ramificație dintr-un alt meniu și conține propriile elemente de meniu. Folosirea submeniurilor este recomandată în două situații:

atunci când vrem să subliniem legătura dintre un element de meniu și un alt meniu;

atunci când, pur și simplu, nu mai avem loc în bara pentru meniuri.

Pentru crearea unui submeniu:

1. Selectăm elementul de meniu, care dorim să devină numele de submeniu.

Creăm elementele submeniului și le aliniem, prin acționarea butonului cu săgeată dreapta.

4.2.2 Finalizarea proprietății barei pentru meniuri

În momentul în care am terminat crearea barei pentru meniuri acționăm butonul OK. În caseta pentru dialog Save As, introducem un nume pentru bara creată și acționăm butonul OK.

Dacă am început lucrul cu Menu Builder de la proprietatea MenuBar, Access va introduce, automat, numele în caseta proprietății. Dacă, în schimb, am început lucru cu Menu Builder folosim comanda Add-ins, Access va salva bara pentru meniuri și-i va atribui numele introdus în caseta Save As. În acest caz, rămâne la latitudinea noastră dacă și cum asociem numele barei cu proprietatea MenuBar a unui obiect. Putem să facem această operație manual sau printr-o procedură Access Basic.

Notă:

În cazul în care nu dorim să folosim Menu Builder, putem să creăm o bară pentru meniuri particularizată în fereastra Macro sau putem să edităm o barăpt meniuri sau un meniu creat cu ajutorul Menu Builder, în fereastra Macro.

4.2.3 Editarea unei bare pentru meniuri

Editarea unei bare pentru meniuri înseamnă modificarea componenței sau a plasamentului elementelor acesteia. Editarea poate fi realizată de către proiectantul aplicației cu ajutorul Menu Builder sau manual, direct în fereastra Macro.

Folosirea Menu Builder pentru editarea unui meniu definit și atașăm unei machete sau unui raport:

1. Selectăm proprietatea MenuBar a machetei /raportului și apoi acționăm butonul Build de la dreapta casetei proprietății;

2. În caseta pentru dialog Menu Builder, edităm meniurile și comenzile;

3. Acționăm butonul OK.

Folosirea Menu Builder pentru editarea oricărei bare cu meniuri definite:

1. Executăm comanda Add-Ins, din meniul File a oricărei ferestre și apoi alegem Menu Builder;

2. În caseta pentru dialog Menu Builder, selectăm bara pentru meniurile pe care dorim să o edităm;

3. Acționăm butonul Edit;

4. În caseta pentru dialog Menu Builder, edităm meniurile și comenzile;

5. Acționăm butonul OK.

Menu Builder modifică macro-comenzile care definesc bara pentru meniuri și meniurile acesteia. Chiar dacă bara pentru meniuri nu a fost creată cu ajutorul asistentului, vom putea să utilizăm Menu Builder pentru editarea barei, cu condiția să fie respectat, la crearea, următoarele reguli:

fiecare rând al macro-comenzii barei pentru meniuri trebuie să conțină o acțiune AddMenu;

în grupul de macro-comenzi ce definesc meniuri individuale, folosim numai macro-comenzi cu o singură acțiune.

De asemenea, este bine de ținut minte că Menu Builder nu va fi capabil să salveze, după editare, următoarele carecteristici ale macro-comenzilor:

rânduri goale sau numai cu comentarii;

nume pentru macro-comenzi din grup, care nu respectă convenția Menu Builder, prezentată mai sus;

condiționări în macro-comanda ce definește un meniu.

În cazul în care Menu Builder întâlnește oricare dintre aceste caracteristici, va afișa un mesaj de avertizare, prin care ne anunță că va elimina această caracteristică. În felul acesta, vom putea decide dacă mergem mai departe și folosim Menu Builder sau nu.

Pentru editarea manuală a macro-comenzilor care definesc bara pentru meniuri va trebui să deschidem fiecare macro-comandă a barei pentru meniuri, în modul Design view, și să o edităm.

4.2.4 Stabilirea unei bare pentru meniuri globală

Bara pentru meniuri globală este afișată de Access pentru toate ferestrele, cu excepția machetelor și a rapoartelor care au propriile lor bare pentru meniuri. Pentru a stabili o bară pentru meniuri globală, atribuim numele macro-comenzii care definește bara pentru meniuri proprietății MenuBar a obiectului Application. O bună idee este să facem acest lucru în cadrul macro-comenzii AutoExec, care stabilește mediul de lucru.

Pentru ca să revenim la bara pentru meniuri nativă, vom atribui valoarea “ ” (șirul vid) proprietății MenuBar a obiectului Application

4.3 Interogări, machete și casete pentru dialog

În încheierea acestui capitol, vom mai spune câteva cuvinte în legătură cu câteva tehnici de comunicare între aplicație și utilizator, pe care nu le-am prezentat până acum. Este vorba de întrebuințarea, pentru prelucrarea datelor de la utilizator, a interogărilor cu parametrii, a machetelor “pop-up” și a casetelor pentru dialog.

4. 3. 1 Interogări cu parametrii

Atunci când executăm repetat aceeași interogare, dar având alte valori pentru condițiile de selectare, este mai convenabil să creăm și să utilizăm o interogare cu parametrii. În acest caz, Access ne va solicita valoarea curentă pentru condiția de selectare în caseta pentru dialog Enter Parameter Value. Mai mult chiar Access ne dă posibilitatea să creăm interogări care să solicite, prin afișarea repetată a casetelor pentru dialog, mai multe valori, pentru mai multe condiții de selectare. Acest tip de interogări este foarte util ca bază de plecare în crearea unor machete sau rapoarte.

Pentru crearea unei interogări cu parametri:

1. Creăm o interogare fără ajutorul asistentului și adăugăm tabelele dorite.

2. Antrenăm câmpurile pentru interogare în grila QBE.

3. Introducem textul de solicitare a valorii parametrului, în celula din rândul Criteria corespunzătoare numelui câmpului pe care dorim să-l folosim ca parametru (între paranteze pătrate).

4. Executăm comanda Datasheet, din meniul View sau acționăm butonul Datasheet View, din bara de scule. Access va afișa caseta pentru dialog Enter Parameter Value.

5. Introducem o valoare și apoi acționăm butonul OK. Access extrage datele și le afișează setul rezultat sau, dacă am specificat mai mulți parametri, va cere celelalte valori și la sfârșit va afișa setul dinamic rezultat.

Notă:

Deși în cele mai multe cazuri procedeul standard de creare a interogărilor cu parametri funcționează, în câteva situații speciale va trebui să specificăm un tip de date pentru fiecare parametru din interogare. De exemplu, în interogări de sinteză în care nu am stabilit proprietatea ColumnHeadings a interogări sau în cazul în care stabilim un parametru pentru un câmp de tip Yes / No.

Pentru specificarea tipului de date al unui parametru din interogare:

1. Creăm o interogare cu parametri (pașii 1-3 din procedeul de mai sus).

2. Executăm comanda Parameters, din meniul Query.

3. În caseta pentru dialog Query Parameters:

specificăm mesajul de solicitare inclus între paranteze drepte (în prima celulă a coloanei Parameter);

selectăm tipul de date al parametrului (în celula corespunzătoare din coloana Data Type).

4. Repetăm pasul 3, pentru toți parametrii doriți.

5. Acționăm butonul OK.

4.3.2 Folosirea machetelor “pop-up” și a casetelor pentru dialog

O machetă “pop-up” este plasată deasupra altor machete deschise, chiar și atunci când o altă machetă este activă. Practic, putem să folosim două tipuri de machete “pop-up”: “ modeless” și “modal”.

Primul tip de machetă permite accesarea altor obiecte și comenzi din meniurile Access, în timp ce macheta este deschisă. El este recomandat în cazul în care dorim să putem schimba focalizarea dintr-o machetă în alta, fără a trebui să le închidem.

Al doilea tip, însă, nu permite acest lucru, până când nu închidem sau ascundem macheta deschisă. O astfel de machetă poartă numele de casetă pentru dialog. Vom folosi o casetă pentru dialog atunci când dorim să impunem utilizatorului să închidă caseta pentru dialog sau să răspundă la mesajul acestuia înainte de a putea continua prelucrările. Un exemplu tipic este solicitarea unor date (parametri) necesari efectuării operației sau afișarea unor mesaje.

În cadrul aplicației, putem să folosim machete “pop-up” și casete pentru dialog pentru:

afișarea informațiilor pentru utilizator;

solicitarea informațiilor, de la utilizator, necesare pentru continuarea aplicației.

Pentru crearea unei machete “pop-up modeless”:

Creăm macheta și-i punem proprietatea PopUp la valoarea Yes.

Pentru crearea unei casete pentru dialog:

Creăm macheta și-i punem proprietatea PopUp la valoarea Yes, iar proprietatea Modal la valoarea Yes.

Pentru deschiderea oricărei machete ca o casetă pentru dialog:

Punem argumentul Window Mode, al ac\iunii OpenForm, la valoarea Dialog.

4.3.3 Crearea și folosirea casetelor pentru dialog

Casetele pentru dialog particularizate pot fi folosite pentru colectarea informațiilor sau pentru afișarea unor mesaje. În general, secvența uzuală de acțiune este următoarea:

aplicația afișează caseta pentru dialog, cu un mesaj de solicitare sau de avertizare;

utilizatorul introduce informațiile solicitate sau reacționează la anunțul primit;

în final, el acționează un buton de comandă pentru confirmarea introducerii sau efectuarea acțiunii dorite.

Butoanele de comandă sunt plasate, de obicei, în partea de jos sau din dreapta a casetei pentru dialog. Unul dintre butoanele de comandă ale casetei este ales să acționeze, atunci când se apasă tasta ENTER. El se numește buton implicit. Prin convenție butonul implicit este butonul din stânga sau de sus.

Pentru stabilirea unui buton de comandă ca buton implicit:

Punem proprietatea Default a butonului pe Yes (în foaia pentru proprietăți) sau la True (dintr-o procedură Access Basic).

Notă:

Numai un singur buton de comandă poate să fie buton implicit. Atenție la alocarea butonului implicit. El nu trebuie să producă probleme, dacă utilizatorul apasă din greșală tasta ENTER!

Un alt buton de comandă al casetei este ales să acționeze, atunci când se apasă tasta ESC. El se numește buton de anulare.

Pentru stabilirea Inui buton de comandă ca buton implicit:

Punem proprietatea Cancel a butonului Yes (în foaia pentru proprietăți)sau la True (dintr-o procedură Access Basic).

Notă: Numai un singur buton de comandă poate să fie buton de anulare

De obicei, o casetă pentru dialog este închisă prin acționarea unui buton de comandă. În consecință, caseta Control-Menu nu este necesară.

Pentru înlăturarea casetei Control-Menu:

Punem proprietatea ControlBox la valoare No (în foaia pentru proprietăți) sau la False (dintr-o procedură Access Basic).

De multe ori este dorit, ca în momentul acționării unui buton de comandă, din caseta pentru dialog, să nu închidem caseta, ci să o ascundem. În acest fel, vom fi în măsură să folosim valorile introduse pentru efectuarea acțiunilor (într-o macro-comandă sau o procedură pentru tratarea evenimentelor) și abia la terminare acestora să închidem caseta.

Pentru ascunderea unei casete pentru dialog:

Punem proprietatea Visible a casetei la False.

Pentru închiderea unei casete pentru dialog:

Folosim acțiunea Close.

4.3.4 Obținerea condițiilor de selectare dintr-o casetă pentru dialog

În cazul în care aplicația dă posibilitatea utilizatorului să deschidă o machetă sau să tipărească un raport, este evident necesar să-i permitem să și aleagă ce anume va afișa sau tipări. O posibilitate este să afișem o casetă pentru dialog în care utilizatorul să introducă condițiile de selectare pentru interogarea care stă la baza machetei sau raportului. Pentru a lua valoarea, va trebui să adresăm controalele casetei pentru dialog.

Acest lucru putem să-l facem în trei feluri:

folosind argumentul WhereCondition al acțiunii OpenFrom sau OpenRecord care deschide o machetă sau tipărește un raport;

folosind un filtru salvat ca o interogare care să filtreze interogarea pe care se bazează macheta sau raportul. Specificăm filtrul punând argumentul Filter Name al acțiunii OpenFrom sau OpenReport la numele filtrului.

adresăm controalele casetei pentru dialog direct în interogarea pe care se bazează macheta sau raportul.

Folosirea argumentului WhereCondition al acțiunii OpenFrom sau OpenRecord este metoda cea mai simplă pentru an obține o singură valoare pentru condiția de selectare.

Adresarea se face în felul următor:

[nume_câmp_interogare] = Forms! [nume_casetă_dialog]! [nume_control]

O interogare separată numită interogare filtru, poate să adreseze controalele din caseta pentru dialog pentru a-și obține condițiile de selectare. Folosind această metodă, filtrăm înregistrările dintr-o machetă sau dintr-un raport prin stabilirea argumentului FilterName al acțiunii OpenFrom sau OpenRaport la numele filtrului. Filtrul trebuie să includeă toate tabelele care conțin câmpuri în machetă sau raportul pe care-l deschidem.

APLICAȚIE

Baze de date privind evidența personalului unei scoli pe meserii

Baza de date ester structurată pe următoarele fișiere:

Nomenclator cu meserii cu structura:

cod meserie;

denumire meserie;

Nomenclator personal cu structura:

marca;

nume-prenume;

cod meserie de bază;

vechime;

salariu negociat;

cod meserie auxiliară;

Meșcări personal cu structura:

marca;

cod meserie;

tip operație – a) angajare;

– b) șomaj;

data angajării;

cod meserie încadrare;

Aplicația care prelucrează această bază de date permite actualizarea

interactivă a fișierelor mișcori personal și nomenclator personal.

Se obține următoarele situații:

situația personalului pe meserii:

Cod meserie… Denumire…

Total meserie:…..

Lista personalului angajat

BIBLIOGRAFIE

1. *** – Microsoft Access 2.0. – Getting Started- Microsoft Co. 1990

2. ***- Microsoft Access 2.0.- User’s Guide- Microsoft Co.

3. *** Microsoft Access 2.0.- Buildind Applications- Microsoft Co.

4. *** Microsoft Windows 3.1- User’s Guide – Microsoft Co. 1990-1992

*** Microsoft Workgroup Add-On for Windows- User’s Guide-

Microsoft Co. 1985-1994

6. *** Microsoft MS-DOS- User’s Guide – Microsoft Co. 1994

*** Microsoft Access 2.0.- MS-DOS Technical Reference- Microsoft

Co.

Cerghizan, M. A. – Clipper, compilator pentru dBase – Editura

AGNI, București, 1994

Martin, D. – Computer Data Base Organization – Prentice Hall Inc.

Englewood Cliffs N. J. 1977

10. Papazoglou, M& Valder, W. – Relational Database Management – A System Programming Aproach, Prentice Hall Inc. 1989

Pescaru, V. ]. a. – Fișiere, baze și bănci de date – Editura Tehnică –

București 1976

Ullman, J. – Principles Of DataBase Systems – Stanford University

Computer Science Press Co. 1980

Similar Posts

  • Asistent Software Pentru Instruire Si Antrenare

    Cuprins Introducere Fie că este vorba despre muncă, învățământ, diferite informații, comunicare, prin intermediul internetului putem rezolva probleme multiple. Dezvoltarea aplicațiilor web e în continuă creștere. De asemenea, tehnologiile web s-au dezvoltat surprinzător în ultimii ani. Observând că totul se conturează în jurul aplicațiilor web și că dorința de cunoaștere a cât mai multe lucruri…

  • Sistem Informatic Personal AL Programatorului

    ,,SISTEM INFORMATIC PERSONAL AL PROGRAMATORULUI” CUPRINS ADNOTARE ANNOTATION АННОТАЦИЯ INTRODUCERE 1. CONCEPTE SPECIFICE SISTEMELOR INFORMАTICE PERSONАLIZАTE ALE PROGRAMATORILOR 1.1. Noțiuni de bаză privind sistemele informаtice: cаrаcteristicа și rolul аcestorа 1.2. Mijloace tehnice de reаlizаre și implementаre а produselor informаtice 1.3. Tendințe posibile în informаticа de gestiune 1.4. Elаborаreа produselor informаtice 1.5. Cаlitаteа produselor informаtice 1.6….

  • Aplicatie Bancara de Gestiune a Finantelor Personale

    CUPRINS CUPRINS INTRODUCERE CAPITOLUL 1. DESCRIEREA PROBLEMEI ECONOMICE 1.1.ELEMENTE INTRODUCTIVE 1.1.1.Istoria băncilor 1.1.2.Funcțiile băncilor 1.2.APLICAȚII ELECTRONICE FINANCIAR-BANCARE 1.2.1.Internet banking 1.2.2.Mobile banking CAPITOLUL 2. TEHNOLOGII INFORMATICE UTILIZATE 2.1.MYSQL 2.2. SQL 2.3. UML 2.4 C#.NET 2.5 MICROSOFT VISIO CAPITOLUL 3. ANALIZA ȘI PROIECTAREA APLICAȚIEI INFORMATICE 3.1 DEFINIREA PROBLEMEI 3.2. ANALIZA CERINȚELOR SISTEMULUI INFORMATIC 3.2.1. Structurarea soluției 3.2.2….

  • Platforme Educationale de Tip E Learning Folosite In Invatamantul Preuniversitar

    INTRODUCERE…………………………………………………………………………………… pag.4 CAPITOLUL I E-LEARNING: CONCEPTE, TENDINTE, PERSPECTIVE………………………pag.6 DEFINIȚIE…………………………………………………………………………………..pag.6 SCURT ISTORIC E-LEARNING…………………………………………………….pag.9 PARADIGME EDUCATIONALE IN E-LEARNING………………………….pag.11 AVANTAJELE SISTEMULUI E-LEARNING……………………………………pag.15 DEZAVANTAJELE SISTEMULUI E-LEARNING……………………………..pag.16 CAPITOLUL II PLATFORME EDUCATIONALE DE TIP E-LEARNING…………………………pag.18 2.1 PRINCIPALELE PLATFORME E-LEARNING IN LUME……………………pag.19 2.2 PRINCIPALELE PLATFORME E-LEARNING IN ROMANIA……………..pag.24 PLATFORMA AEL………………………………………………………………………….pag.26 2.3.1 Ce este AeL? ……………………………………….………………..…..pag.26 2.2.2 Elemente componente………………………………….…………………pag.28 2.3.3 ASM – AeL…