FORȚA – Femei Ocupate, Resursă pentru o Țară Activă POSDRU/144/6.3/S/128914
Suport de curs OPERATOR INTRODUCERE, VALIDARE SI PRELUCRARE DATE
MODULUL 7
FUNDATIA PENTRU FORMARE PROFESIONALA SI INVATAMANT PREUNIVERSITAR VIITOR CENTRUL DE FORMARE CLUJ
Capitolul 1 Concepte în teoria bazelor de date Evoluţia tehnologiei, a metodelor şi tehnicilor de organizare şi de stocare a informaţiilor precum şi necesitatea de a prelucra rapid şi sigur un volum mare de date, au determinat dezvoltarea şi implementarea conceptului de bază de date în tehnologia informaţiei. Se poate spune că baza de date reprezintă cel mai important instrument de tehnologia informaţiilor folosit de organizaţii pentru stocarea, prelucrarea depozitelor mari de informaţii cu foarte multe interdependenţe. La baza dezvoltării acestei noi tehnologii stau câteva concepte şi noţiuni care trebuie cunoscute: date, informaţii, entitate, atribut, valoare. 1.1. Date şi informaţii Datele şi informaţiile reprezintă componentele primare ale sistemului informaţional.
Data este conceptul definit în tehnologia informaţiei ca un model de reprezentare a informaţiei într-un format accesibil unui calculator, desemnează elementul primar, caracter numeric sau alfanumeric, provenind din diverse surse, fără o formă organizată care să permită luarea unei decizii.
Informaţia este reprezentată de data ce are un caracter de noutate, care îmbogăţeşte nivelul de cunoştinţe ale celui care primeşte informaţia şi îl ajută în luarea deciziilor. Se poate spune că orice informaţie este o dată în conceptul tehnologiei informaţiei dar, nu orice dată este informaţie. De exemplu, 4,21 nu reprezintă decât un număr cu 2 zecimale dar, se enunţă: “astăzi un euro se vinde cu 4,21 lei” , 4,21 lei reprezintă deja o informaţie.
1.2. Entitate, atribut, valoare Entitatea este reprezentarea unică a unui obiect individual (concret sau abstract) din lumea reală, prin proprietăţile sale; de exemplu reprezentarea entităţii clienti ca obiect concret şi reprezentarea entităţii cont bancar ca obiect abstract.
Atributele entităţilor reprezintă proprietăţile entităţilor
Un atribut ia anumite valori. De exemplu, o persoană este recunoscută după nume: persoana reprezintă entitatea, numele reprezintă proprietatea entităţii persoana; valoarea pe care o ia această proprietate pentru un element al entităţii, de exemplu, Maria.
Orice proprietate a unui obiect poate fi exprimată printr-o pereche (atribut, valoare); o entitate poate fi exprimată prin mai multe proprietăţi, deci prin mai multe perechi de tipul (atribut, valoare). De exemplu, o persoana, poate fi reprezentată prin mulţimea de perechi: (Nume, Popescu); (Data naşterii, 10 mai 1967); (Sex, masculin); (Profesie, economist); (CNP, 167051090000). În acest caz, se poate afirma: entitatea persoana este definită prin atributele: nume, data nasterii, sex, profesie, CNP (codul numeric personal). Atributele unei entităţi se stabilesc în funcţie de contextul în care descrierea este necesară. De exemplu în descrierea entităţii “salariat”, atributele pot fi: nume, prenume, CNP, funcţia, studii, salariul, departamentul în care lucrează etc. În contextul conceptelor date – informaţii, definim entitatea, atributul, valoarea astfel:
Entitatea reprezintă obiectul informaţiei
Atributul este proprietatea entităţii
Valoarea este măsura proprietăţii.
1
Pentru a asigura unicitatea, valorile unuia sau mai multor atribute ale entităţii trebuie să fie diferite de valorile corespondente ale celorlalte entităţi În exemplul de mai sus, utilizarea codului numeric personal (CNP) asigură identificarea unică a unei persoane. Entităţile mai sunt numite şi
entităţidate , obiecte date, apariţii de date sau apariţii .
Aceste reprezentări ale entităţilor devin tabele. Tabela este definită ca un produs cartezian dintre mai multe domenii, caracterizată prin un nume având date despre un anumit subiect. De exemplu, un tabel în care este descrisă entitatea angajat, cu atributele: nume, data angajarii, studii, functia, departamentul la care este angajat, conţine rânduri sau înregistrări pentru fiecare angajat în parte. O înregistrare este compusă din câmpuri care sunt constituite din atributele necesare pentru entitatea descrisă (aici angajat). Noţiunea de atribut, caracteristică a unei entităiţ , este denumită în terminologia bazelor de date câmp. Atributul defineşte o latură a entităiiţ (relaţiei ) şi ia valori într-un domeniu asociat. Fiecare atribut este caracterizat prin valorile pe care le ia şi contribuie la identificarea entităţii al cărei parte este şi la deosebirea ei de celelalte entităţidin aceeaşi clasă. Valoarea atributului este cea mai mică unitate de date dintr -o entitate. Valorile atributelor nu pot fi decât cele cuprinse în domeniul atributului. Alte denumiri ale valorii atributului sunt valoarea celulei şi valoare datelor. O coloană reprezintă un atribut al entităţii angajat tabelei
Un rând reprezintă o înregistrare a tabelei
1.3. Conceptul bază de date Bazele de date au apărut din necesitatea de a avea un acces rapid şi uşor la un volum din ce în ce mai mare de date. Conceptul de bază de date poate fi definit ca fiind una sau mai multe colecţii de date aflate în interdependenţă, împreună cu descrierea datelor şi a relaţiilor dintre ele. O bază de date reprezintă un ansamblu de date integrat, anume structurat şi dotat cu o descriere a acestei structuri. Descrierea poartă numele de dicţionar de date şi realizează o relaţie între datele propriu -zise şi programe. Baza de date reprezintă mai mult decât o colecţie de fişiere: ea include şi dicţionarul de date şi o descriere a relaţii lor dintre înregistrări (fişiere intercorelate). Descrierea este utilizată pe întreaga durată a prelucrării informaţiilor.
Un fişier al unei baze de date este alcătuit dintr -un ansamblu de înregistrări fizice omogene sub aspectul conţinutului şi prelucrăr ii.
Înregistrarea fizică este unitatea de transfer dintre memoria internă şi cea externă a calculatorului şi este formată din mai multe înregistrări logice.
Înregistrare logică este unitatea de prelucrare privită din punctul de vedere al programului utilizator şi este alcătuită din mai multe câmpuri.
2
O bază de date reprezintă o colecţie de date care sunt achiziţionate cu un anumit scop şi într-o structură specifică şi trebuie să îndeplinească următoarele condiţii: -
să asigure o independenţă sporită a datelor faţă de programe;
-
să asigure informaţiile necesare şi suficiente scopului propus;
-
să se asigure o redundanţă minimă (informaţii care nu se repetă);
-
să permită accesul rapid la informaţiile stocate în baza de date.
Arhitectura bazelor de date se referă la componentele acestora şi cuprinde: -
baza de date propriu-zisă în care se memorează datele;
-
sistemul de gestiune al bazei de date care realizează gestiunea şi prelucrarea complexă a datelor.
1.4. Relaţiile între tabelele unei baze de date O bază de date este formată din mai multe tabele cu legături între ele. Stabilirea relaţiilor între tabele are în vedere îndeplinirea condiţiilor pe care o bază de date trebuie să le îndeplinească în vederea prelucrării datelor din mai multe tabele. În proiectarea unei baze de date este importantă stabilrea obiectelor reprezentate în baza de date şi proprietăţile care vor fi incluse; această operaţie este denumită modelarea datelor. Scopul unui model de date este de a crea o reprezentare logică a structurii de date utilizată la crearea bazei de date. Realizarea unui model de date presupune:
determinarea structurii modelului: - definirea obiectelor (entităţilor) şi a proprietăţilor asociate - atribute - stabilirea relaţiilor între obiecte; se materializează printr-o legătură între o realizare a înregistrării dintr-un tabel numit părinte şi una sau mai multe realizări ale înregistrării unui alt tabel nummit fiu. Legătura între obiecte (entităţi) poartă numele de relaţie sau asociere. Între tabelele unei baze de date sunt trei tipuri de relaţii: (1) unu la unu (one to one) sau 1 1; unei întregistrări dintr-un tabel îi corespunde prin relaţia stabilită o singură înregistrare în tabelul asociat. De exemplu, între tabelul “Angajati” şi tabelul „Salarii” se stabileşte o relaţie tip unu-la-unu sau 1:1, un angajat are la un anumit moment un salariu; în tabelul salarii există o singură înregistrare pentru salariul angajatului. De multe ori acest tip de relaţie este privit şi ca o împărţire a unui tabel în două tabele asociate din raţiuni de securitate (drepturi de acces) diferit pe anumite câmpuri. (2) unu la mai mulţi (one to many) sau 1n; unei înregistrări dintr-un tabel (părinte) i se pot asocia mai multe înregistrări din tabelul asociat (fiu); înregistrarea din tabelul fiu se asociază cu o singură înregistrare din tabelul părinte. De exemplu, într-o organizaţie, un departament are mai mulţi angajaţi, un angajat este repartizat unui singur departament, este relaţie de tip 1:n, structură de tip arborescent sau unei înregistrări din tabelul clienţilor i se pot asocia multe înregistrări din tabelul conturilor iar un cont aparţine doar unui client. (3) mulţi la mulţi (many to many) sau mn; unei înregistrări dintr-un tabel părinte i se pot asocia mai multe înregistrări din tabelul cu care se află în relaţie, tabelul fiu. Pe de altă parte, unei înregistrări din tabelul fiu i se pot asocia mai multe înregistrări din tabelul părinte; este o structură de tip reţea. Exemple de relaţii mulţi la mulţi: un produs este achiziţionat de mai mulţi furnizori şi un furnizor poate oferi mai multe produse pentru a fi achiziţionate; un salariat colaborează la mai multe proiecte iar la un proiect mai mulţi salariaţi colaborează. 3
stabilirea operatorilor care acţionează asupra structurii de date; pot fi operatori de citire, memorare, modificare, joncţiune etc.
stabilirea unor restricţii în vederea menţinerii integrităţii datelor care sunt numite şi reguli de integritate menite să asigure corectitudinea datelor pentru menţinerea unei structuri coerente.
1.5. Baze de date relaţionale O bază de date relaţională are la bază modelul relaţional, adică este alcătuită din unul sau mai multe tabele organizate ierarhic, între care s-au stabilit anumite relaţii. Relaţiile între două tabele sunt unidirecţionale, astfel că o tabelă devine principală, iar cealaltă devine subordonată. Pentru desemnarea unei structuri relaţionale de tabele se va utiliza noţiunea de bază de date relaţională. Noţiuni de bază în baze de date relaţionale: - Cheia primară este constituită dintr-un atribut (coloană din tabel) ale cărui valori identifică în mod unic un rând (o înregistrare) dintr-o tabelă de bază. Pentru orice valoare a cheii primare corespunde un rând şi numai unul în tabel. Cheia compusă (concatenată) se creează atunci când cheia primară este compusă din mai multe câmpuri care asigură unicitatea; de exemplu numărul şi data unei facturi. - Cheia candidată este o coloană (un atribut) care îndeplineşte condiţiile cerute pentru a deveni cheie primară (CNP din tabelul salariaţilor cu cheia primară numărul din registrul salariaţilor). - Cheia externă este o coloană ale cărei valori corespund celor conţinute de cheia principală sau de porţiunea cea mai din stânga a unei chei compuse dintr-o tabelă asociată. O cheie externă poate fi constituită dintr-o coloană sau un grup de coloane. Tabele specifice bazelor de date relaţionale: - Tabela de bază (principală) este o tabelă care conţine una sau mai multe coloane ce conţin proprietăţile unui obiect şi o coloană sau grup de coloane, numită cheie primară, care identifică în mod unic obiectul entitate date. O bază de date relaţională poate avea una sau mai multe tabele principale. - Tabela de relaţii (relationships) este o tabelă utilizată pentru a stabili relaţiile între tabela (sau tabelele) de bază şi tabele secundare. Fiecare câmp cheie din tabela de relaţii trebuie să fie o cheie externă asociată unei chei principale din tabela de bază. 1.6. Sistem de gestiune a bazelor de date (SGBD) Sistemul de Gestiune a Bazei de Date, prescurtat SGBD (DBMS – Database Management System) , reprezintă colecţia de programe şi proceduri care asigură: definirea bazei de date, încărcarea datelor în baza de date, accesul la date (interogare, actualizare), întreţinerea bazei de date, securitatea datelor, reorganizarea bazei de date. Sistemul de gestiune a bazelor de date ajută utilizatorul să organizeze logic datele într-o bază de date, accesul şi utilizarea informaţiilor din baza de date. Obiectivele unui SGBD: 1. asigurarea independenţei datelor (modificarea structurii de memorare sau a strategiei de acces la date să nu afecteze şi aplicaţia); 2. asigurarea unei redundanţe minime (datele să nu se repete); 3. sporirea gradului de securitate (interzicerea accesului neautorizat); 4. asigurarea integrităţii datelor (protecţia la ştergeri nepermise, proceduri de validare); 5. asigurarea proprietăţii de partajare a datelor (asigurarea accesului mai multor utilizatori la aceleaşi date). 4
Funcţiile unui SGBD : -
-
Funcţia de descriere a datelor – permite definirea structurii bazei de date cu ajutorul limbajului de definire a datelor. La nivelul acestei funcţii se descriu atributele (câmpurile) din cadrul structurii bazei de date, legăturile dintre entităţile bazei de date sau dintre atributele aceleiaşi entităi.ţ Se definesc criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integrităiiţ şi confidenţialităţii. Funcţia de gestionare a datelor – permite crearea (încărcarea) bazei de date, adăugarea de no i înregistrări, ştergerea unor înregistrări, modificarea valorilor corespunzătoare unor câmpuri, căutarea, sortarea unor înregistrări. Funcţia de utilizare - asigură comunicarea utilizatorilor cu baza de date. Categoriile de utilizatori: conversaţionali (beneficiari de informaţii) - utilizează limbajele de interogare a bazei de date într-o formă simplistă; programatori - realizează proceduri de exploatare a bazei de date; administratorul bazei de date - alocă drepturi şi asigură funcţionarea optimă a sistemului.
1.7. Componentele software ale unui sistem de gestiune a bazei de date: 1. 2. 3. 4. 5.
Nucleul SGBD Subsistem de definire a datelor Subsistem de manipulare a datelor Subsistem de generare a aplicaţiilor Subsistem de administrare a datelor
Crearea & modificarea structurii logice a bazei de
Definirea
Interogarea şi modificări ale informaţiei
Manipularea
Meniuri, formulare de date, rapoarte şi aplicaţii software Drepturi de acces utilizatori, metode de backup şi recovery
datelor
datelor
Generarea aplicaţiei
Administrarea datelor
Teste asupra efectului modificărilor structurale 5
N u c l e u l
S G B D
Baza de date Dicţionar de date
Capitolul 2 Prezentare Microsoft Office Access 2010 Microsoft Access 2010 este un program puternic de baze de date relaţionale care conţine sute de instrumente care pot fi folosite pentru proiectarea rapidă, partajarea şi raportarea informaţiilor, chiar pentru utilizatorii cu mai puţină experienţă (sau chiar deloc) în dezvoltarea bazelor de date. Access suportă partajarea datelor cu alte surse de date incluzând alte programe Microsoft Office 2010, Microsoft SQL Server, Serviciile Windows Share Point şi documente în XML, HTML, XPS şi formate PDF. Funcţiile avansate ale programului permit crearea programelor executabile pentru aplicaţiile bazei de date pe care alte personae decât proiectantul bazei de date o pot folosi. Microsoft Access stabileşte relaţii între categorii diferite de informaţii confo rm cerinţelor utilizatorului şi prezintă metode flexibile de introducere, organizare şi prelucrare a datelor, fiind unul dintre cele mai bune SGBDR disponibile pentru calculatoare personale, recomandat pentru proiecte cu volum de date de mai mici dimensiuni, pentru un singur utilizator dar şi pentru baze de date distribuite , de tip client /server, cu mai mulţi utilizatori. Funcţi ile de bază ale Microsoft Access:
organizarea datelor în tabele, legarea tabelelor şi extragerea datelor - relaţii, interogări, expresii introducerea şi editarea datelor - formulare prezentarea datelor – rapoarte, diagrame
Funcţii le suport :
Macrocomenzi Module program Securitatea datelor Importul/exportul datelor Funcţii suport
Funcţii de bază
6
O bază de date Access 2010 bine proiectată poate manipula sute de mii de înregistrări fără un efort prea mare prin şabloanele şi instrumentele puternice îmbunătăţite pe care le pune laa dispoziţia utilizatorului. În cazul în care baza de date devine prea mare, Access asigură interfaţa cu sistemele de operare cu servere de baze de date care rulează programe ca Oracle sau SQL Server. Funcţiile avansate ale programului permit crearea programelor executabile pentru aplicaţiile bazei de date care se poate folosi într-o organizaţie, fără ca cel ce proiectează să ştie foarte multe lucruri despre dezvotarea bazelor de date. Principalele caracteristici ale Microsoft Access sunt:
interfaţă grafică ce permite utilizatorului un acces uşor şi rapid la date; mecanisme puternice de interogare a bazelor de date; facilităţi pentru realizarea formularelor şi rapoartelor; şabloane şi programe ajutătoare (de tip Wizard), pentru a uşura munca programatorului; comunicarea cu alte SGBD.
2.1. Prezentarea aplicaţiei Microsoft Access 2010 Interfaţa utilizator a aplicaţiei Microsoft Access 2010 (Office Fluent, impus din versiunea Office 2007) se bazează pe un mod intuitiv şi rapid de accesare a comenzilor pentru executarea unei activităţi. Ribonul (panglica) este elementul de noutate ce asigură în principal comunicarea utilizatorului cu programul.
Ribonul înlocuieşte meniurile, comenzile sunt grupante în funcţie de tipul acestora precum şi tipurile de obiecte care fac obiectul acestor comenzi. În partea de jos a fiecărui grup este înscris numele acestuia, . Pe ribon sunt plasate butoanele de comandă asociate tuturor operaţiilor pentru crearea şi modificarea obiectelor bazei de date, personalizarea, lucrul cu datele şi pentru toate funcţiile de bază şi suport. Riboane de context cu numele grupului contextului sunt afişate dacă un obiect este selectat şi necesită comenzi suplimentare; de exemplu Form Design Tools. Riboanele pot fi minimizate (dublu click pe un tab) şi readuse la dimensiunea normală cu dublu click pe un tab sau click pe butonul minimize/maximize ribon. Riboane afişate permanent: Home, Create, External Data, Database Tools.
Alte elementele ale ferestrei aplicaţiei Microsoft Access 2010
Bara de titlu şi butoanele de închidere a aplicaţiei
Bara de acces rapid, Quick Access Toolbar, conţine comenzile cele mai des utilizate, de obiectul care este activ: Save, Undo, Redo şi buton listă de personalizare a comenzilor de pe bară. Click pe butonul de personalizare deschide lista comenzilor care mai pot fi adăugate (sau scoase) de pe bara de acces rapid: New, Open, E-mail, Print Preview etc.
Meniul File (numit şi Backstage – comenzi de culise) prezintă comenzi pentru personalizarea mediului de lucru, lucrul cu fişierele bazei de date: salvarea obiectelor bazei de date şi a bazei, salvare şi publicare pe web a unei baze de date, deschiderea unei baze, afişează o listă cu cele mai recente baze de date deschise.
7
Opţiunile pentru personalizarea bazei de date sunt: opţiuni generale ce se aplică tuturor bazelor de date deschise sau create în aplicaţia Access, pentru baza de date curentă, modul de lucru cu tabelele de date, opţiuni pentru proiectarea obiectelor, opţiuni de limbă şi dicţionar de corectare ortografică, personalizarea barelor de butoane – riboane sau bara de acces rapid. O mare importanţă o prezintă opţiunile care se referă la asigurarea securităiiţ bazei de date, drepturi de acces la date – Trust Center. Spre deosebire de unele medii de programare, Microsoft Access consideră o bază de date ca un singur fişier Windows cu un nume şi locaţie pe suportul de stocare . Acest fişier poate conţine diferite obiecte care fac de fapt, o bază de date . Prin urmare, o bază de date Microsoft Access este deschisă ca un fişier obişnuit ce conţine toate obiectele proiectate ale bazei de date. Mediul de lucru a aplicaţiei Acces conţine elementele necesare proiectării şi gestionării tuturor tipurilor de obiecte ale bazei de date. Meniu File Toolbar
Quick Acces Toolbar
Grup de ribonoane context
Fereastra de lucru Zona de tab-uri
Panou de navigare
Panoul de navigare, cu un conţinut ce se personalizează, înlocuieşte fereastra Database, gestionează obiectele bazei de date . Panoul de navigare poate fi ascuns, dacă se doreşte mai mult spaţiu de lucru. Lista Navigate by Category defineşte modul în care sunt afişate obiectele; în exemplul de mai jos grupurile vor fi categorii de obiecte (Tables, Queries, Forms, Reports, Macros).
8
Alte criterii de grupare ar putea fi: Tables and related Views – tabele şi obiecte associate, Created/Modified Date – după data de creare/modificare a obiectelor. Obiectele bazei de date pot fi afişate toate sau doar unele, în funcţie de criteriul de filtrare aplicat în lista Filter by Group. În exemplul de mai jos sunt afişate toate obiectele; filtrul se aplică pe categorii de obiecte (tabele sau interogări, etc.) .
Buton pentru ascundere panoului de navigare
Buton pentru afişarea listei de opţiuni de personalizarea panoului de navigare
Butoane pentru expandarea (sau restrângerea) grupului de obiecte
View Shotcut Toolbar - Bară cu scurtături de vizualizare - bară de instrumente (Toolbar) context - senzitivă la colţul a ferestrei programului oferă comutarea printr un click de buton pe o formă de vizualizare a obiectului bazei de date. Astfel, se poate comuta rapid între modul de vizualizare Datasheet view (vizualizare tabel de date) Design view (vizualizarea pentru proiectare), Pivot Table view (vizualizatea datelor în tabel pivot), sau Diagrama Pivot, Form view, Layout view, Report view şi alte forme de vizualizare specifice obiectului curent.
Fereastra de lucru unde sunt afişate obiectele bazei de date în formatul selectat din View Toolbar, fiecare obiect deschis este afişat pe o filă cu numele înscris pe tab -ul din partea de sus a ferestrei de lucru. Formatul de afişare selectat de ut ilizator este corespunzător lucrului cu obiectul respectiv: proiectare, lucrul cu datele, afişare sinteze şi diagrame, previzualizare. Comutarea între obiectele deschise (activarea) prin click pe tab-ul sau etichete obiectelor. Tab-uri cu numele obiectelor descise
Obiect selectat - activ
Bara de stare, în partea de jos a ferestrei de lucru conţine informaţii despre stadiul unei acţiuni, starea obiectului selectat etc. 9
2.2. Organizarea comenzilor în programul Access Ribonul Home – în partea stângă View (Shotcut Toolbar) – bara de butoane de comutare a vizualizării pentru obiectul activ din baza de date apoi grupuri de comenzi pentru lucrul cu datele în modurile de afişare Datasheet: filtrare, sortare, căutare şi înlocuire, clipboard.
Ribonul Create – comenzi grupate pentru crearea obiectelor în mai multe moduri, prezentând butoane specifice pentru fiecare mod în parte; tipul de obiect ce poate fi creat are un grup de comenzi cu acelaşi nume: tabele (grupul Tables), interogări (grupul Queries), formulare (grupul Forms), rapoarte grupul (Reports), macro şi module de program(grupul Macros&Code).
Ribonul External Data - comenzi pentru salvarea, importul, legarea şi exportul datelor, crearea documentelor asociate; grupurile de comenzi sunt asociate acestor operaţii: Import&Link, Export, Collect Data.
Ribonul Database Tools - instrumente pentru manipularea obiectelor bazei de date, cele mai importanete fiind definirea relaţiilor şi modurilor de asociere între tabele, compactarea datelor şi reparareaa bazei de date, replicare şi crearea unor formulare de start şi gestionarea aplicaţiei de baze de date.
10
2.3. Obiectele unei baze de date relaţionale Access Tabele (Tables) Tabele (Tables) sunt foile de calcul tabelar ale bazei de date care organizează datele pe linii şi coloane (similar cu Excel), în care sunt stocate toate datele din baza de date Access. Programul Access îşi construieşte propriile tabele pentru stocarea datelor de tip informaţii despre obiectele bazei şi relaţiile dintre acestea. La crearea unui nou tabel, se cere definirea câmpurilor acestuia, atribuind fiecărui câmp o denumire unică, tipul şi dimensiunea datelor pe care acesta le va conţine, proprietăţi de integritate şi validare. Modurile de lucru cu tabele şi comenzile de pe butonul corespunzător de pe View Shotcut Toolbar:
Datasheet View - afişarea datelor din tabel şi lucrul cu datele: introducerea înregistrărilor, modificarea datelor, sortarea, filtrarea, ştergerea înregistrărilor Pivot Table View – afişarea datelor în format tabelă pivot în funcţie de opţiuni de pivotare Pivot Chart View – afişarea unor date selectate ca diagramă Design View – proiectarea tabelului: definirea câmpurilor, proprietăţile câmpurilor, reguli de validare şi formate, definirea câmpurilor cheie primară şi indecşi
Interogări (Queries) Scopul pentru care se crează şi se foloseşte o bază de date constă în extragerea rapidă a datelor care interesează, pe baza legăturilor şi asocierilor care s-au făcut între tabele. Interogarea (query) este o definire a înregistrărilor care se vor extrage din tabele la un anumit moment: ce câmpuri, din care tabele, corespunzător căror criterii, în ce ordine de afişare etc, în funcţie de scopul propus. Interogările (Queries) constituie cereri adresate tabelelor pentru extragerea sau organizarea datelor în vederea afişării lor. Interogările sunt proiectate cu ajutorul unei interfeţe grafice accesibile (QBE - query by exemple) şi sunt memorate în limbajul SQL (Structured Query Language). Este cel mai puternic instrument de prelucrare a datelor din tabele corelate. Se pot interoga mai multe tabele care sunt relaţionate prin câmpuri cheie, permiţând şi editarea datelor afişate într-o interogare. Modurile de lucru cu interogările şi comenzile de pe butonul corespunzător de pe View Shotcut Toolbar:
Data Sheet View - afişarea înregistrărilor rezultate în urma cererii de extragere formulată în interogare Pivot Table View – afişarea unor date rezultate din interogare sub formă de tabel pivot Pivot Chart View – afişarea datelor rezultate ca diagramă SQL View – traducerea cererii de extragere a datelor formulată în proiectarea interogării în limbaj SQL - Structured Query Language - limbaj structurat de interogare cu care lucrează aplicaţiile de baze de date.
11
Formulare (Forms) Formularele (Forms) oferă o interfaţă pentru introducerea şi modificarea datelor în bazele de date sau doar afişarea pe ecran a datelor introduse în tabele. Formularele pot conţine subformulare pentru a afişa datele asociate şi butoane specifice pentru a realiza anumite sarcini. Într-o bază de date se pot proiecta formulare cu obiecte de control care pot realiza declanşarea acţiunilor şi derularea activităţilor cu toate obiectele bazei de date. Formularele permit selecţii ale câmpurilor după mai multe criterii. Un formular bine proiectat măreşte viteza de introducere a datelor şi minimizează erorile de tastare şi de integritate a datelor. Modurile de lucru cu formularele şi comenzile de pe butonul corespunzător de pe View Shotcut Toolbar:
Form View – formatul de execuţie ce constituie interfaţa utilizatorului cu datele din obiectul asociat – tabel sau interogare şi declanlarea unor acţiuni. Data Sheet View - afişarea înregistrărilor tabelului sau interogării asociate. Pivot Table View – afişarea unor date din tabelul sau interogarea asociată sub formă de tabel pivot Pivot Chart View – afişarea datelor din tabelul sau interogarea asociată diagramă Layout Viev – format în care se pot aplica modificări de aspect a formularului Design View – proiectarea formularului: definirea obiectelor, proprietăţi, structură etc.
Rapoarte (Reports) Rapoartele (Reports) sunt folosite pentru a extrage datele din tabele (de cele mai multe ori bazate pe interogări) şi a le afişa în vederea difuzării. Într-un raport, datele pot fi organizate în grupuri şi se pot realiza sinteze şi formule de calcul. Modurile de lucru cu formularele şi comenzile de pe butonul corespunzător de pe View Shotcut Toolbar:
Report View – vizualizarea rezultatului proiectării raportului pe ecran în vederea alegerii unui mod de difuzare a acestuia Print preview – previzualizarea raportului pe o pagină pregătită pentru imprimare. Design View – proiectarea raportului: definirea obiectelor asociate, proprietăţi, structură, grupuri, formule de calcul etc.
Macrocomenzi (Macros) Macro (Macros) sau macrocomenzi, sunt succesiuni de comenzi executate de Access pentru a automatiza anumite operaţii. Secvenţa este realizată prin selectarea comenzii din listă derulantă de acţiuni disponibile şi introducerea detaliilor pentru operaţiunea respectivă. Module (Modules) Modulele (Modules) sunt subrutine sau funcţii scrise în Visual Basic for Application (VBA), limbajul de programare folosit în toate aplicaţiile Microsoft Office.
12
2.4.
Operaţii cu baze de date Access
Deschiderea aplicaţiei de baze de date Access (1) Start – All Programs- Microsoft Office – Microsoft Access 2010 sau (2) click pe pictograma de pe desktop sau din lista de aplicaţii, deschide fereastra de pornire a programului Microsoft Access 2010. Se deschide: (1) o bază de date nouă pe baza unui şablon selectat din galeria de şabloane pusă la dispoziţia utilizatorului Available Template, (2) o bază de date nouă fără şablon Blank Databse sau (3) click pe butonul Open se deschide o bază de date existentă. Crearea unei baze de date fără şablon În meniul File – New, click pe butonul Blank database şi apoi click pe Create.
Se completează numele bazei de date în caseta File name, click pe butonul de selectaare a locaţiei în care se va salva (unitate, folderul respectiv subforderul) şi click butonul Create. Se deschide fereastra pentru crearea unei baze de date cu activarea fereastrei de introducere a datelor într-un nou tabel. Se introduc date în tabel la fel cum se procedează în tabele Excel.
Butonul Save de pe bara de acces rapid (Quick Access Toolbar) declanşează salvarea tabelului în baza de date. Numele tabelului este un şir de caractere alfanumerice care trebuie să fie sugestiv, ales în funcţie de entitatea descrisă în tabel; se recomandă 13
să nu fie spaţii, delimitarea unor cuvinte se va face cu caracterul underscore (liniuţa de jos). Dacă baza de date nu a fost salvată în fereastra de deschidere, se procedează la salvarea acesteia. Pentru salvarea bazei de date se accesează meniul File şi comanda Save Database As. Se închid toate obiectele deschise şi se declanşează salvarea bazei de date. Se definesc: locaţia de stocare – disc hard, folder / subfolder, numele bazei de date, tipul fişierului este .accdb
Toate obiectele bazei de date: tabele, formulare, interogări, rapoarte, module macro sunt salvate într-un singur fişier cu structura definită şi recunoscută de aplicaţia Microsoft Access, extensia .accdb este acceptată de versiunile 2007 şi 2010. Deschiderea unei baze de date existente Click pe butonul Open din meniul File sau dublu click pe numele fişierului.
...................
Tipurile de fişiere de baze de date care se pot deschide sunt baze de date create în versiunile Access 2007 şi 2010 dar şi din Access 2003, cu extensia .mdb. Închiderea unei baze de date Se poate închide o bază de date Acces fără a închide aplicaţia selectând din meniul File comanda Close Database Ştergerea unei baze de date Pentru ştergerea unei baze de date de care nu mai este nevoie se deschide un program utilitar de fişiere (Windows Explorer), se selectaează fişierul care conţine baza de date şi apoi click pe iconul Delete (sau comanda Delete din meniul scurt). Utilizatorul este atenţionat pentru a confirmarea ştergerii.
14
Capitolul 3 Tabele în baze de date Access 3.1. Proiectarea tabelului în modul Design View Tabelul este structura bidimensională coloane -rânduri care stochează datele. Un tabel conţine date despre un tip de entitate: clasă de obiecte, evenimente sau concepte cu proprietăiţ comune, cu un nume unic în baza de date. O serie completă sau incompletă de articole care reprezintă fiecare categorie se numeşte o înregistrare. Prin urmare, un tabel poate fi reprezentat după cum urmează:
Înregistrări
Categorii de informaţii
Nume
Prenume
e-mail
Telefon
Categorie
Ionescu
Bogdan
[email protected] 0775 4567
client
Moraru
Ioana
[email protected]
0748 3456
colaborator
Adam
Mihai
[email protected]
0728 5869
client
In dezvoltarea unei baze de date, o categorie de informaţii este reprezentată ca o coloană, numită un câmp. O înregistrare este reprezentat ca un rând. La crearea unui nou tabel, se cere definirea câmpurilor acestuia, atribuind fiecărui câmp o denumire unică în tabel, precum şi tipul şi dimensiunea datelor pe care acesta le va conţine. Moduri de proiectare a tabelelor: 1 ) Crearea unui tabel nou prin introducerea datelor într-o foaie de date. De pe ribonul Create, grupul Tables se selectează comanda Table – în zona de lucru a aplicaţiei se afişează structura tabelului în vizualizare de foaie d e date; se pot introduce înregistrări în tabel. Pentru a da un nume câmpului (numite iniţial Field 1, Field 2 samd.) se selectează numele câmpului pentru editare (dublu click pe tab -ul cu numele) se tastează numele. Butonul de deschidere a listei cu tipurile de date care se pot introduce în câmpul respectiv. Adăugarea unei noi înregistrări
Numele implicit de coloană; se va introduce nume
Adăugarea unui câmp nou
De regulă, prin introducerea datelor într -un câmp, Access recunoaşte tipul de dată şi îl memorează. Pentru modificări ale proprietăilor ţ , inclusiv pentru tipul de data, se comută afişarea tabelului în Design View - click pe butonul în grupul View. Deoarece tabelul este obiect principal al unei baze de date, atunci când se crează un tabel este completat în secţiunea Tables din Panoul de navigare. 2 ) Crearea unui tabel în modul proiectare - Table Design De pe ribonul Create, grupul Tables se selectează comanda Table Design; se afişează grila de proiectare a tabelului. Grila conţine: zona de definire a câmpurilor şi zona proprietăţilor : numele câmpurilor, tipurile de date, forma de afişare, proprietăile ţ câmpurilor, reguli de validare etc. 15
Definirea proprietăţilor
Definirea câmpurilor
În modul Design View se pot adăuga sau şterge câmpuri sau se pot modifica proprietăile. ţ
Data Type – tipul de dată a câmpului; se selectează din lista derulantă afişată la click în caseta de definire
Field Name - numele câmpului (coloanei) sau atributele entităţilor
Proprietăţile atributelor se prticularizează în funcţie de tipul de dată, în filele General şi Lookup
3.2. Definirea câmpurilor unui tabel Fiecare câmp din tabel trebuie să aibă un nume unic, să i se atribuie un tip de dată şi să aibă o dimensiune bine precizată. o
Field Name - conţine numele câmpului; nume coloană în foi de calcul, poate avea max. 64 caractere, sunt admise spaţii (dar nu sunt recomandate), caractere speciale; caractere nepermise în nume: punct (.), semn de exclamare (!), paranteze drepte ([]), care sunt utilizate în sintaxa instrucţiunilor din proceduri, macrocomenzi şi expresii !
Data Type - Tipul datelor din câmpul definit în Field Name se alege dintr-o listă, pusă la dispoziţia utilizatorilor de Access şi defineşte tipul datelor care pot fi stocate în acest câmp, determină tipul de operaţii ce se pot efectua şi spaţiul de stocare alocat pentru fiecare valoare.
Description – zonă opţiona lă de informaţii , se face o descriere a câmpului; este un comentariu util mai ales pentru proiectanţii ş i programatorii bazelor de date.
Field Properties - zona de proprietăiţ , are două file (pagini) General şi Lookup, conţine seturile de proprietăţii şi casete de completare, în funcţie de tipul de dată şi de proprietate, prin alegerea unei variante posibile din listă, fie prin introducerea expresiei.
3.3. Tipuri de date Data Type conţine tipul datelor şi se declară p rin selectarea tipului dintr-o listă derulantă, afişată la clic k pe butonul de listă în partea dreaptă a casetei pentru tipul de dată; implicit tipul de date este text. Toate datele stocate într-un acest câmp vor fi de acelaşi tip în toate înregistrările tabelului. În funcţie de tipul de dată se definesc şi
alte proprietăţiale câmpurilor.
Date
Tipul datelor
Descrierea tipului datelor
Alfanumerice
Text
Şir de caractere, litere, cifre, semne speciale acceptate, cu cel mult 255 caractere. 16
Date
Numerice
Tipul datelor
Descrierea tipului datelor
Memo
Cel mult 64.000 caractere (nu poate fi câmp cheie) şi sunt utilizate pentru a oferi comentarii descriptive. Datele din aceste câmpuri sunt incluse în tabelă şi afişate în modul Design View.
Number
Include mai multe subtipuri care diferă prin modul de stocare şi viteză de răspuns. Se alege subtipul corespunzător selectând unul din parametrii proprietăţii Field Size din panoul proprietăţilor
AutoNumber
Conţine o valoare numerică Long Integer pe care Access o incrementează cu 1 sau cu un număr generat aleator, în funcţie de parametrul ales al proprietăţii New Values: Increment sau Random.
Yes/No
Câmpuri logice (nu pot fi câmpuri cheie, dar pot fi indexate), folosesc valorile logice True/False respectiv numerice –1/0.
Currency
Format numeric special, fix, tip valută, asigură precizie sporită calculelor financiare (4 zecimale).
Date calendaristice
Date/Time
Datele calendaristice şi ora sunt stocate într-un format fix; formatul definit în panoul Properties.
Obiecte mari
Object OLE
Include elemente grafice realizate din puncte (bitmap), desene vectoriale, fişiere cu semnale audio, alte tipuri de date care pot fi create de o aplicaţie OLE server. Nu poate fi câmp cheie şi nu poate fi inclus în index.
Adrese
Hyperlink
Este un text sau o combinaţie de text cu numere stocată ca un text şi folosită ca adresa unei pagini Web sau adresa e-mail
Format derivat
Calculated
Este un format nou, în Access 2010 ! Se obţine prin aplicarea unei formule sau funcţii. Valorile câmpului nu pot fi introduse prin tastare, doar prin aplicarea formulei sau funcţii definite. Exemple: data naşterii sau a sexul unei persoane calculate din datele câmpului CNP.
Informaţii legate
Lookup Wizard
Creează câmpuri care permit utilizatorului să aleagă valori alte tabele sau listă de valori.
Tipul de date de Number este, de regulă, atribuit unui câmp care va face în cursul prelucrărilor din baza de date obiectul unor operaţii de calcul matematic; câmpurile care conţin cifre dar nu vor face obiectul unor calcule vor fi declarate de tip text.
Tipul AutoNumber este deosebit de util atunci când se doreşte asigurarea unicităţii înregistrărilor dintr-un tabel în care nu există un alt câmp care să asigure unicitatea înregistrării în tabel (cheie primară).
Lookup Wizard nu este un alt tip de câmp; reprezintă o metodă convenabilă de completare a datelor într-un câmp prin căutarea informaţiei într-o listă definită la proiectarea câmpului sau în alt tabel existent. Este o modalitate uşoară de introducere care asigură consistenţa şi corectitudinea datelor. 17
Exemplu: introducerea tipului de dată pentru un câmp al tabelului Angajati în care se introduce tipul studiilor; se va crea o listă cu intrările: medii, superioare, master, doctorat. Mod de lucru: 1. În Field Name se introduce numele câmpului; exemplu: Studii 2. Se alege din lista Data Type – Lookup Wizard
3. În fereastra de opţiuni se selectează tipul de listă pentru introducerea datelor: un tabel existent în care se precizează câmpul din tabel care va deveni listă derulantă pentru selectarea valoriilor sau o listă care se creează prin introducerea elementelor listei o o
4. Se introduc elementele listei 5. Click butonul 6. Se dă un nume câmpului şi se completează alte opţiuni; click butonul Proprietatea Lookup – Display Control din secţiunea Field Properties se modifică: modul de introducere a datelor în câmp devine listă de căutare (Combo Box); implicit este formatul Text Box (casetă de text).
3.4. Proprietăţile câmpului Field Size (Dimensiunea) – pentru câmp de tip text: numărul maxim de caractere ce pot fi introduse – pentru tipul de date Number, există 6 subtipuri posibile pentru Field Size Field Size
Interval valoric
Zecimale
Byte Integer Long Integer
0 0 0
Single
7
Double
15
Replication ID Decimal
18
18
de la 0 la 255 de la -32.768 la +32.768 de la - 2.147.483.648 până la +2.147.483.648 38 de la -3,4*10 38 până la +3,4*10 308 de la -1,797*10 308 până la +1,797*10 Identificator global unic Numar zecimal de mare precizie, numarul de cifre înainte şi după punctual zecimal configurabil
Format – permite alegerea unui anumit tip de format standard aplicabil tipului de date ales (exceptând Text), în care vor fi afişate valorile din câmpuri. Această proprietate de configurare afectează doar modul de afişare al datelor nu şi valorile lor. o
Number (valori numerice): cu separator zecimal, separator de mii, semn monetar, format ştiinţific
o
Date/Time (data/ora): format lung, scurt, oră, minute, secunde
o
Yes/No sau variante: On/Off sau True/False
Decimal Places – numărul de zecimale. Prin această proprietate se stabileşte numărul de zecimale care se afişează (numai pentru tipurile Number şi Currency). Auto – număr de zecimale implicit, stabilit prin setări regionale.
Input Mask – reprezintă impunerea unui anumit format pentru toate datele incluse în acest câmp. În cazul unui câmp de tip Text sau Date/Time, se va putea rula Input Mask Wizard care oferă posibilitatea selecţiei din mai multe măşti standard de intrare predefinite (ex: date calendaristice) cu clic pe butonul Ellipsis (...).
19
Simbolurile care pot fi folosite la construirea măştilor de intrare pentru tip Text: Simbol
Semnificaţia / Exemple
0
Afişează o cifră (09) în această poziţie, dacă există, dacă nu afişează zero. Masca (000) 000-0000 afişarea textului (206) 555-0248
9
Introducerea opţională a unei cifre 09 (semnul + / - nu este permis). Masca (999) 999-9999! afişarea textului (206) 555-0248 sau ( ) 555-0248
#
Introducerea opţională a unui număr 09 (semnul + / - permis).
L
Este necesară introducerea unei litere AZ sau az. Masca >L0L 0L0 afişarea textului T2F 8M4
?
Introducerea opţională a unei litere A Z sau az Masca >L????????????? afişarea textului Maria
A
Necesită introducerea unei litere A Z, az sau a unei cifre 09.
a
Introducerea opţională unei litere A Z, az sau a unei cifre 09.
&
Necesită introducerea oricărui caracter sau a unui spaţiu. Masca ISBN 0-&&&&&&&&&-0 afişarea textului ISBN 1-55615-507-7
C
Introducerea opţională a oricărui caracter sau a unui spaţiu.
>
Toate caracterele care urmează sunt transformate în majuscule. Masca >LL00000-0000 afişarea textului DB51392-0493
<
Toate caracterele care urmează sunt transformate în litere mici.
\
Caracterul care urmează este afişat ca atare, ca un literal, şi nu conform semnificaţiei din mască.
!
Plasat oriunde în mască, va impune completarea caracterelor care urmează de la dreapta la stânga.
Caption (etichetă) - este eticheta câmpului afişat de Access în Datasheet View sau numele controlului în formularul de introducere sau de afişare a datelor din tabel. Dacă această proprietate nu este completată, numele câmpului este eticheta.
Default Value - (valoarea implicită). Valoarea implicită din acest câmp, este cea pe care Access o introduce automat în câmp la adăugarea unei noi înregistrări. Valoarea implicită poate fi modificată.
Validation Rule – (regula de validare) este un criteriu de verificare a valorilor introduse într-un câmp. Regula se introduce sub forma unei funcţii logice, o expresie sau o valoare cu care se compară datele introduse. Operatorii logici din expresii sunt: =, < <=, >, >=, Between …and…,
20
Datele care nu îndeplinesc regula de validare sunt respinse şi utilizatorul este anunţat printr-un mesaj. Validation text: mesajul de eroare personalizat care se afişează dacă valoarea introdusă nu îndeplineşte criteriul de la Validation Rule. Reguli de validare complexe pot fi introduse prin proprietăţile controlului din formularul de introducere a datelor în formular.
Required – (cerut) cu valori posibile Yes sau No; se alege Yes dacă valorile din acest câmp nu pot lipsi din înregistrare, câmpurile cu “yes” sunt obligatorii. Valoarea „No” este pentru câmpuri cu valori opţionale.
Allow Zero Length – (permite lungime zero), se aplică numai câmpurilor de tip Text şi Memo. Ca valoare implicită este No. O valoare nulă indică faptul că nu se ştie nimic despre conţinutul unei înregistrări dintr-un anumit câmp, nu a fost completat; valoarea zero indică o valoare numerică cu valoare zero, deci cunoscută. Cele două valori nu trebuie confundate, de exemplu un câmp dată calendaristică sau dată de tip text poate avea valoare Null.
Indexed – (indexat). Câmpurile cu proprietatea index asigură mecanismul de regăsire rapidă a datelor şi de sortare a înregistrărilor. Câmpurile index pot fi de două tipuri: 1) care permit valori identice în câmpul tabelului, de tipul Yes, Duplicate OK, sau 2) nu admit valori identice în acel câmp Yes, No Duplicates (exemplu: codul numeric personal (CNP). Câmpul cheie primară este în mod implicit şi index, fără a avea valori duplicate. Câmpurile de tip Memo sau OLE Object nu pot fi indecşi.
New Values – (valori noi) se aplică numai câmpurilor de tip AutoNumber şi poate avea două proprietăţi care se aleg din listă: Indexed sau Random, indicând modul de generare a valorilor unice şi anume prin crearea unei serii incrementale cu pasul 1 sau generarea de numere aleatoare unice într-o serie.
3.5. Câmp cheie primară Ansamblul minim de atribute care identifică în mod unic orice înregistrare dintr-un tabel reprezintă cheia primară a tabelului şi constituie baza pentru crearea relaţiilor între tabelele bazei de date. Cheia primară poate fi simplă, formată dintr-un singur atribut sau câmp (exemplu: numărul matricol în registrul salariaţilor) sau compusă, formată din mai multe atribute (exemplu: numărul facturii şi data emiterii). Proprietăţile câmpului (câmpurilor) cheie primară:
Identifică în mod unic, fără echivoc înregistrările din tabelă Întotdeauna conţine valori, nu este nul şi se modifică rareori (în mod ideal, niciodată)
Într-o tabelă pot exista mai multe câmpuri care îndeplinesc aceste condiţii de cheie primară şi se numesc chei candidate. Dintre cheile candidate se alege doar una pentru a fi cheie primară, considerată reprezentativă în contextul datelor. Definirea unui câmp cheie primară: 1) Se deschide tabelul în Design View şi se selectează câmpul 2) Din meniul context Design - Table Tools click pe butonul Primary Key 21
3) Pentru cheie primară compusă din mai multe câmpuri selecţia multiplă se face cu tasta CTRL apăsată în timpul selecţiei apoi click butonul Primary Key; 4) Simbolul cheii este afişat pe butonul de selecţie a l câmpului (câmpurilor).
Odată ce a fost definită cheia primară într-un tabel, aceasta poate fi utilizată în alte tabele pentru a face referiri înapoi la tabelul cu cheia primară; câmpul astfel introdus în tabelul secundar se numeşte cheie externă. O cheie externă, enunăţ că legătură între două tabele .
este cheia primară a unui alt tabel şi constituie un câmp de
ID_Dept este cheie externă
ID_Dept este cheie primară Cheia primară de tip AutoNumber:
Dacă într-un tabel nu se identifică un câmp cu proprietăţile unei chei primare , Acces pune la dispoziţie un câmp de tip autonumerotare, AutoNumber, care poate fi cheie primară. La crearea unui tabel nou în Datasheet View, Access creează automat o cheie primară și îi desemnează ti pul de date AutoNumber. Eliminarea cheii primare Eliminarea cheii primare se face prin anularea efectului butonului (deselectarea butonului) Primary Key. Eliminarea cheii primare elimină de asemenea indexul ce a fost creat pentru cheia primară. Înainte de a elimina cheia primară, este necesar să şteargă relaţiile definite pe acest câmp. Modificarea cheii primare Schimbarea cheii primare a unui tabel poate fi realizat făcând pa șii următori:
Eliminarea cheii primare existente – anularea selecţiei butonului Primary Key Setarea unei alte chei primare
22
3.6. Relaţiile între tabele Stabilirea relaţiilor între tabele – cerinţe şi restricţii
Trebuie să existe măcar un tabel din relaţie cu câmp cheie primară
Câmpurile de legătură nu trebuie să aibă neapăr at același nume, deși acest lucru se întâmplă deseori dar trebuie să aibă acela și tip de date.
În cazul în care câmpul cheie primară este un câmp de tip AutoNumber, câmpul cheie externă trebuie să fie un câmp Number, Access nu poate crea relaţii între tabele deschise; tabelele trebuie să fie închise înainte de deschiderea ferestrei de creare a relaţiilor .
1. Fereastră grafică numită Relationship se deschide cu click butonul de pe ribonul Database Tools pentru crearea şi afişarea relaţiilor între tabelel e bazei de date. 1
2 5
3
4 6
2. După afişarea ferestrei Relationship în zona de lucru , pentru stabilirea relaţiilor: selectează butonul Show Table pentru adăugarea tabelelor care trebuie asociate. 3. Se selectează tabelul şi click pe butonul Add pentru fiecare table de adăugat. 4. Click pe butonul Close pentru a închide fereastra de dialog Show Table. 5. Tabelele selectate sunt în fereastra Relationship ca obiecte grafice, pot fi mutate în altă poziţie sau redimensionate chenarele de afişare a câmpurilor . 6. Se selectează câmpul cheie primară din tabelul numit principal şi glisează pe câmpul cheie externă cu care se pune în legătură , din tabelul secundar ( în exemplu, ID_Dept din tblDept se suprapune prin glisare pe câmpul ID_Dept din tblSalariati). 7. Se deschide fereastra de pentru editarea relaţiei – Edit Relationship:
23
7
Tipul relaţiei unu -la-mulţi cheie primara – cheie externa
Restricţii de integritate referenţială a relaţiei
Legătura ilustrată grafic între cele două tabele
În funcţie de tipurile de câmpuri din tabelele între care se stabilesc relaţii, acestea pot fi: unu-la-unu sau 1 1 relaţie stabilită între cheile primare ale celor două tabele principale; unei înregistrări din tabel ul principal i se asociază o singură înregistrare din tabelul secundar. unu-la-mulţi sau 1 n relaţie stabilită între cheia primară a tabelului principal şi cheia externă a tabelului secundar; unei înregistrări din tabel ul principal i se asociază mai multe înregistrări din tabelul secundar. mulţi -la-mulţi sau m n relaţie stabilită între două tabele prin care unei înregistrări din prima tabelă i se asociază mai multe înregistrări din a doua tabelă dar şi u nei înregistrări din a doua tabelă corespund mai multe înregistrări din prima tabelă. Asocierea multiplă se realizează prin intermediul unui tabel de joncţiune proiectat pentru acest scop. Tabelul de joncţiune sau de legătură se proiectează cu câmpul cheie primară compus din cheile primare ale celor două tabele pe care le va lega în relaţia mulţi -lamulţi; se pot adăuga şi alte câmpuri considerate necesare pentru definirea relaţiei. Prin tabelul de legătură, relaţia mulţi -la-mulţise transformă în două relaţii unu-la-mulţi. De exemplu, în baza de date Salariati, tabelul tblInscrieriCursuri este legătura între tabelele tblSalariati şi tblCursuri (un angajat participă la mai multe cursuri iar la un curs participă mai mulţi angajaţi). Integritatea referenţială asigură coerenţa datelor din tabele corelate astfel: în tabelul corespondent din relaţia stabilită unu -la-multi, în câmpul cheie externă nu pot fi introduse decât valori din câmpul cheie primară din tabelul primar. Îngroşarea liniei relaţiei şi marcajul tipului de relaţie (1, ∞) semnifică faptul că s -a impus restricţiei de integritate. Impunerea integrităţii referenţiale împiedică ştergerea sau modificarea valorilor din tabelul principal dacă acestea au înregistrări corelate. De exemplu, nu se poate şterge o înregistrare din tabelul tblDept dacă sunt înregistrări corelate în tblSalariati – salariati repartizaţiacestui departament. Integritatea unei baze de date 1. Integritatea entităţii – cheile primare să fie unice în cadrul unei tabele. 2. Integritatea referenţială – cheile externe trebuie să aibă valori corespondente în cheia primară dintr -o tabelă principală. Integritarea referenţială a datelor din tabelele unei baze de date Microsoft Access este asigurată automat în funcţie de opţiunile selectate în fereastra Relationships:
Enforce Referential Integrity – opţiune ce va permite ca la ştergere a sau modificarea valorilor dintr-o înregistrare a unei tabele să se verifice dacă există înregistrări asociate în altă tabelă care depind de aceasta; în acest caz ştergerea sau modificarea vor fi interzise; 24
Cascade Update Related Fields – opţiune ce permite actualizarea câmpurilor corelate în cascadă; la modificarea valorii câmpului cheie primară din tabelul principal se vor modifica automat câmpurile cheie externă din tabelul secundar cu care e află în această relaţie; de exemplu, dacă se modifică tipul de codificare a conturilorce constituie cheie primară, vor fi modificate valorile corespondente în toate tabelele asociate cum ar fi tranzacţii, clienti, etc.
Cascade Delete Related Records permite ca la ştergerea unei înregistrări din tabelul cu câmpul cheie primară să fie şterse toate înregistrările corelate acestei înregistrări.
Tipuri de asocieri (Join Type) Tipul de asociere a unei relaţii Join Type, defineşte modul în care înregistrările din tabelele asociate vor fi combinate într-o interogare.
Asocierile pot fi de următoarele tipuri: 1. asocieri interne (inner join) care corespund opţiunii 1: din fereastra Join Properties. Asocierea se face doar pentru acele înregistrări cu valori egale în câmprile corespondente, cheie primară şi câmpul cheie externă; nu se asocia înregistrări cu valori de tip Null (nu sunt introduse valori) în tabelul asociat. De exemplu, înregistrarea unui salariat care în câmpul ID_Dept nu are valoare completată, nu se va afişa în relaţia cu tabelul tblDept. 2. asocieri externe (outer join) care pot fi asocieri externe stânga sau dreapta, depinzând de direcţia în care este plasat tabelul de legătură şi corespund opţiunilor 2: şi 3: din fereastra Join Properties. Opţiunea 2: se vor afişa toate înregistrările din tabela din relaţia “unu” chiar dacă au corespondent în tabela secundară sau nu, se afişează înregistrările asociate, dacă există. De exemplu, se afişează şi departamente ce nu au salariaţi repartizaţi dar nu se afişează salariaţii nerepartizaţi (au valoarea Null în câmpul ID_Dept). Opţiunea 3: se vor afişa toate înregistrările din tabela din relaţia “mulţi” şi înregistrări asociate, dacă există; se vor afişa toţi salariaţii, repartizaţi sau nu şi departamentele la care sunt repartizaţi (câmpul ID_Dept este completat). Editarea şi modificarea relaţiilor În fereastra Relationship sunt afişate toate informaţiile asupra relaţiilor definite între tabele unei baze de date. Dublu click pe linia de linia de legătură a relaţiei deschide fereastra Relationship; se pot modifica restricţiile de integritate referenţială, tipul de asociere (Join Type) Editarea relaţiilor, modificarea, ştergerea, adăugarea unei noi relaţii, stabilirea restricţiilor de integritate se operează în fereastra Relationship. 25
Capitolul 4 Operaţii în foile de date Access După proiectarea tabelului se pot introduce date în tabele. Introducerea datelor se face direct în tabel prin deschiderea tabelului îm modul de afişare Datasheet View (foaie de date) sau în formulare asociate tabelului pentru introducere / modificare date. Obiectele principale ale bazei de date sunt afişate în zona de lucru conform setării pentru baza de date curentă din meniul File – Options - Current Database – Application Options – Document Windows Options:
Overlapping Windows – afişează fiecare obiect deschis într-o fereastră proprie, scalabilă, cu butoane de maximizare, minimizare, închidere.iar ferestrele deschise în zona de lucru se aranjează folosind comenzile Switch Window Tabbed Documents – afişează fiecare obiect deschis în foaie de lucru cu tab pentru selectare şi activare; butonul Close în partea dreaptă a barei tab -ului. Butoanele de navigare sunt în partea de jos a ecranului de lucru..
Deschiderea unui tabel în modul de afişare Datasheet View pentru lucrul cu datele se face prin selectarea tabelului în panoul de navigare, dublu click sau, dacă tabelul este deja deschis, se comută cu butonul din grupul View – ribonul Home. În zona de lucru se afişează foaia de date a tabelului ce conţine numel e tabelului (bara de sus), buton de închidere şi, dacă afişarea este Overlapping Windows, butoane de max/min/scalabilitate. Nume tabel Nume câmpuri Buton filtrare Buton de selecţie Înregistrări asociate după expandarea butonului
Buton de expandare a inreg corelate Bara de navigare
Pentru lucrul cu datele din table sunt activate riboanele context Table Tools – Fields: comenzi pentru adăugare a câmpurilor noi sau modificarea proprietăţilor – Tables: comenzi avansate pentru programarea obiectelor tabelului, crearea şi editarea relaţiilor. 4.1. Operaţii de bază cu datele din tabele
Selectarea înregistrărilor: pentru a selecta o singură înregistrare se execută click pe butonul ei de selecţie când prompterul devine săgeată pentru a selecta un grup continuu de înregistrări - click pe butonul de selecţie al primei înregistrări, tasta Shift apăsată şi click pe butonul de selecţie al ultimei înregistrări; 26
pentru a selecta înregistrărilor în mod aleator, se face click pe fiecare buton de selecţie al înregistrărilor inând ţ tasta
apăsată;
pentru a selecta toate celulele de date ale coloanei unui câmp - click pe butonul care conţine numele câmpului atunci când prompterul devine săgeată
Expandarea – afişarea înregistrărilor asociate din tabelele corelate din relaţia unu mai mulţi – click pe butonul de expandare
Deplasarea în tabelă se face cu: tastele săgeţi, prompterul mouse-ului sau butoanele barei de navigare În partea de jos a foii de date a tabelului sunt butoanele de navigare. numărul înregistrării curente
prima înregistrare
înregistrarea precedentă
numărul total de înregistrări
Existenţa unui filtru sau nu
înregistrarea următoare
ultima înregistrare
Aplicarea căutarii
înregistrare nouă
Adăugarea înregistrărilor se poziţionează prompterul în înregistrarea goală din partea de jos a tabelului indicată cu un asterisc (*) în coloana butonului de selecţie a înregistrării.
înregistrare va fi adăugată în tabel numai după ce sunt introduse date în câmpurile cerute de proprietăţi (obligatoriu câmpul cheie primară şi câmpurile cu proprietetea Required); înregistrarea este salvată în tabel prin mutarea pointerului înregistrării l a altă înregistrare sau cu comanda Save Records din grupul Records Ştergerea înregistrărilor : selectează înregistrarea sau înregistrările şi apasă tasta Delete sau click butonul de pe ribonul Home; ştergerea nu poate fi anulată conform mesajului. Înregistrările care au înregistrări corespondente în tabelele asociate nu pot fi şterse decât dacă restricţia de integritate referenţială permite acest lucru.
4.2. Adăugarea unui atribut nou tabelei (câmp nou)
Adăugarea câmpului prin introducerea datelor î n câmpul necompletat a tabelului şi apoi se schimbă numele câmpului;
Adăugarea unui câmp alegând tipul datelor dintr -o lista derulantă la selectarea titlului Click to Add din Foaia de date
Adăugarea unui câmp în mijlocul unui tabel – se poziţionează prompterul în câmpul în faţa căruia se va introduce câmpul nou; de pe ribonul context Field – Table Tools click pe tipul noului câmp.
27
Se introduce un câmp cu tipul datelor Numar
După introducerea câmpului se modifică tipul datelor, numele câmpului şi alte proprietăţi prin comutare în modul Design View. 4.3. Sortarea înregistrărilor Într-un tabel Access, datele sunt afişate în mod implicit în ordinea introducerii lor sau după cheia primară, dacă aceasta există . Pentru afişare înregistrărilor în foaia de date într-o ordine personalizată (sortare) se procedează astfel : 1. Se deschide tabelul în modul Datasheet View şi poziţionaţi (coloana) după care vreţisă ordonaţi foaia de date;
prompterul în câmpul
2. Click pe butonul Ascending din grupul Sort&Filter tab-ul Home pentru ordonare crescătoare sau pe butonul Descending pentru ordonare descrescătoare 3. Anularea sortării cu butonul Remove Sort din acelaşi grup. 4.4. Căutarea şi înlocuirea datelor dintr -o tabelă Pentru a găsi înregistrări care conţin în câmpuri le tabelului valori egale cu unele valori particulare, folosiţi comanda Find a programului Access de pe ribonul Home grupul Find. 1. Se deschide tabelul în modul Datasheet View (foaie de date). 2. Dacă se doreşte căutarea unei valori într -un anume câmp se plasează prompterul în câmpul respectiv; opţional, se poate selecta valoarea căutată şi click pe butonul Find; 3. Caseta de text Find What conţine valoarea căuta tă iar în lista derulantă Look In .se alege una din variantele: Current field (câmpul în care se află prompterul) sau Current document (întregul tabel) 4. Se selectează locaţia valorii căutate în valorile din câmp în
lista derulantă Match:
Whole Field – valoarea căutată constituie valoare întregului câmp Start of Field – valoarea căutată constituie constituie începutul valorii din câmp Any Part of Field – valoarea căutată constituie o parte a valorii din câmp 5. Direcţia de căutare Search: în sus (Up), în jos (Down), în ambele direcţii (All ); 6. Cu click pe butonul Find Next se vor localiza apariţiile. 7. Pentru înlocuirea cuvântului căutat cu un altul faceţi click pe fila Replace, introduceţi cuvântul cu care se va înlocui în caseta Replace width şi click butonul Replace All pentru a înlocui toate apariţiile sau inlocuiresa selectivă cu Replace. 28
Butoane de pe fila Replace
4.5. Filtrarea înregistrărilor Access permite să aplica rea unui filtru pentru a selecta anumite înregistrări din tabelă, conform unor criterii. Metode de filtrare: Filtrare automată – Filter - Numele câmpului are buton cu listă deru lantă pentru stabilirea valorilor de filtare şi criterii specifice fiecărui tip de dată (text, număr); se pot selecta criterii pe mai multe câmpuri, în acest caz condiţiile trebuie îndeplinite simultanpentru ca înregistrarea să fie selectată. Filtrare prin selecţie - Filter by Selection- criteriul se aplică numai unui singur câmp al tabelului. Se selectează valoarea după care se vor filra înregistrările şi clic k pe butonul Selection de pe ribonul Home – grupul Sort &Filter. Din lista derulantă de variante se alege una din acestea: valoarea să fie egală, diferită , să conţină sau să nu conţină selecţia. Anularea filtrării se face cu click pe butonul
din grupul Sort&Filter Filtrare sau ordonare avansată - Advanced Filter/Sort - este cea mai puternică metodă de filtrare. Mod de lucru: - Deschideţi lista comenzilor din lista derulantă a butonului de filtrare; selectaţi Filter by Form; - Se introduc criterii de filtrare: prin selectarea unei valori din lista derulanta care se fişează la selecţia câmpului; exemplu “economist” în coloana Functia sau tastarea expresiei logice; exemplu ”>01.01.1965” se pot introduce criteria alternative prin comutarea în fila condiţiilor ”or” - Comanda Apply Filter/Sort; are ca efect afişarea în foaia de date înregistrările care îndeplinesc toate condiţiile impuse de criteriile completate
3
Filtrele se pot salva ca şi interogare(Query)
1
2
interogări – Apply Filter Sort va afişa cerinţa de filtrare ca
29
Capitolul 5 Expresii în baze de date Access O expresie este este o combinaţie a unor elemente din: funcţii predefinite sau definite de utilizator, identificatori, operatori, constante, expresie este evaluată la o valoare unică. Expresiile pot fi simple (cu operator logic, evaluate la valorile True sau False) până la expresii complexe, combinaţii de operaţii matematice, logice, funcţii. Toate obiectele bazelor de date Access conţin expresii: tabelele, interogările, formularele, rapoartele, macrocomenzile, module de program VBA (Visual Basic for Applications). O declaraţie, pentru a fi considerată o expresie, trebuie să conţină cel puţin un operator sau funcţie şi un cuvânt identificator. Tipuri de operatori: - aritmetici - de atribuire şi logici - de concatenare - de identificare
Operatori logici şi semnificaţia acestora
Operatori aritmetici
=
Egal cu
+
Adunare
>
Mai mare decât
-
Scădere
>=
Mai mare egal cu
*
Înmulţire
<
Mai mic decât
/
Impărţire
<=
Mai mic egal cu
^
Ridicare la putere
<>
Diferit de
\
Impartirea unui intreg la altul
Between x and y
Valori In intervalul x, y;
Mod
Restul impărţirii la un întreg
Like
Comparare cu un text (conţine şi caractere de substituţie * sau ?)
Operatori de concatenare
Is Null
Câmpul nu are date
&
Is not Null
Câmpul are date
Operatori de identificare
In
Valoarea egală cu o valoare din listă
. (punct)
Deosebeşte numele obiectelor de proprietăţile lor
Not In
Valoarea diferită de o valoare din listă
! (semnul exclamarii)
combină numele claselor de obiecte şi numele obiectelor pentru a selecta un anumit obiect sau o proprietate a acestuia, Forms![Contracte], clasa de obiecte o constituie formularele, Forms, referit formularul Contracte.
30
Combină
5.1. Generatorul de expresii Pentru introducerea asistată unei expresii, Access pune la dispoziţia utilizatorilor generatorul de expresii, Expression Builder, care oferă asistenţă în utilizarea acelor elemente ale expresiilor şi operatorilor permişi într -un anumit context. Caseta expresiei: se introduce direct prin tastare sau prin selectare cu click a elementelor expresiei Elementele expresiei: Obiectul bazei în care se introduce expresia Funcţiile grupate pe categorii; click pe butonul + deschide lista categoriilor Obiectele principale ale bazei de date grupate pe tipuri; click butonul + deschide lista obiectelor Operatori Expresii comune
Pentru elementul expresiei selectat (ex. qrySalarii_Dept) afişează elementele care pot intra în expresie (ex. câmpurile din interogare care pot intra în expresie prin selectare)
Expresii comune: Current date (data curentă): Date() Current Date/Time: Now()
Categoriile de funcţii definite de programul Access sunt similare cu cele din Excel:
Sintaxa funcţiei selectate şi informaţii online de folosire cu click pe hyperlink
Categoriile de funcţii definite în programul Access; selectarea unei categorii afişează funcţiile
31
Funcţiile din categoria selectată; dublu click pe funcţie va deschide panoul de editare a funcţiei
5.2. Expresii uzuale Operaţii cu valori de tip text în formulare şi rapoarte: Afişează N/A. Afişează valorile din Nume şi Prenume separate de spaţiu. =Left([Nume], 1) Afişează primul caracter din câmpul Nume. =Right([Cont], 3) Afişează ultimele trei caractere a valorii din câmpul Cont = IIf(Left([CNP];1)="1";"M";”F”) Afişează caracterul "M" dacă primul caracter din CNP este 1 dacă nu, ”F” Numerele paginilor în rapoarte sau formulare ="N/A" =[Nume] & " " & [Prenume]
=[Page] 1, 2, 3 ="Pagina " & [Page] Pagina 1, Pagina 2, Pagina 3 ="Page " & [Page] & " of " & [Pages] Page 1 of 3, Page 2 of 3, Page 3 of 3 ="Pagina" & [Page] & "/"& [Pages] Pagina 1/3, Pagina 2/3, Pagina 3/3 =[Country] & " - " & [Page] UK - 1, UK - 2, UK - 3 =Format([Page], "000") 001, 002, 003 Operaţii aritmetice în formulare, rapoarte =[Subtotal]+[Media] =[DataCeruta]-[DataCompletarii] =[Pret]*1.06 =[Cantitate]*[Pret] =[SumaTotal]/[LuniTotal]
Adună valorile din câmpurile Subtotal şi Media. Face diferenţa între valorile din câmpurile DataCeruta şi DataCompletarii. Înmulţeşte valoarea din câmpul Pret cu 1.06 Înmulţeşte valoarea din câmpul Cantitate cu cea din câmpul Pret. Imparte valoarea din câmpul SumaTotal la cea din câmpul LuniTotal.
Referirea valorilor în formulare =Forms![Comanda]![CmdID]
Valoarea din caseta CmdID din formularul Comanda Valoarea controlului Subtotal din subformularul CmdSubfrm din formularul Comanda. Valoarea din controlul Price din subformularul CmdSubfrm din formularul Comanda se înmulţeşte cu valoarea constantă 1,06.
=Forms![Comanda]![CmdSubfrm]![Subtotal]
= Forms![Comanda]![CmdSubfrm]![Pret]*1,06
Expresii pentru calcularea controalelor din rapoarte =Reports![Factura]![CmdID]
Valoarea din controlul CmdID din raportul Factura.
=Reports![Totaluri]![VanzariTotal] Valoarea Totaluri.
din
controlul
VanzariTotal
Expresii utilizate în controale calculate în formulare şi rapoarte =Avg([Salariul_brut])
media valorilor din controlul Salariul_brut
32
din
raportul
=Count([FacturaID])
numărul de înregistrări care au valori in controlul FacturaID.
=Sum([Vanzari])
suma valorilor din câmpul Vanzari.
=Sum([Cantitate]*[Pret])
suma valorilor rezultate în urma produsului dintre valorile din controalele Cantitate şi Pret.
=[Vanzari]/Sum([Vanzari])*100
procentul vânzărilor rezultat din împărţirea valorii din controlul Vanzari la suma tuturor valorilor din acest control.
Expresii în care se utilizează funcţiile de dată şi oră =Date() =DateAdd("y", -10, [DataFinal]) =DateDiff("d", [DataFactura], [DataPlata])
Afişarea datei curente în forma setărilor regionale Data care a fost cu 10 zile înaintea celei din câmpul DataFinal Calculează numărul de zile între valorile date calendaristice cuprinse în câmpurile DataFactura şi DataPlata.
5.3. Expresii în tabele bazei de date Tabele folosesc expresiile pentru: - introducerea câmpurilor calculate (Data Type – Calculated), - în definirea proprietăţilor prin introducerea regurilor de validare (Validation Rule) sau - valorilor implicite (Default Value). Câmp calculat: În bază de date de personal, introducerea unui câmp calculat, Sex, cunoscând valoarea câmpului CNP; se foloseşte o expresie ce conţine o funcţie de comparaţie (IIF) combinată cu funcţia de extragere (Left) a primului caracter din CNP Sex : IIf(Left([CNP];1)="1";"M";”F”)
Valoare implicită (Default value): Data curentă
33
Capitolul 6 Interogări în bazele de date Access Scopul pentru care se crează o bază de date constă în stocarea, extragerea rapidă şi prelucrarea setului de date care interesează la un anumit moment. Pentru ca acest lucru să fie posibil trebuie definită relaţia între tabele asociate pe baza câmpurilor cheie (Relationship), tipul de asociere şi restricţia referenţială (Join type). Interogarea (query) este o definiţie a datelor căutate şi extrase (afişate) din tabele: ce câmpuri, din care tabele, corespunzător căror criterii, în ce ordine de sortare
Interogare
Tabele
Proiectarea unei interogări în Access reprezintă un proces de extragere a câmpurilor dorite din tabele pe o grilă şi adăugarea criteriilor de selecţie şi de sortare. Acest procedeu este cunoscut sub numele de query by exemple (QBE). În urma acestei acţiuni, Access transformă informaţiile furnizate în instrucţiuni de tip SQL (Structured Query Language limbaj structurat de interogare).
Interogările au avantajul că pot afişa simultan înregistrări din mai multe tabele; în cazul în care două tabele sunt implicate într -o relaţie one-to-many, interogarea are în mod normal câte un rând pentru fiecare înregistrare din partea "mai mulţi ", valorile din partea "unu" fiind repetate la fiecare rând. 6.1. Tipuri de interogări O interogare permite combinarea într-o foaie de date informaţii din mai multe tabele aflate în relaţie , selectarea înregistrăril or după anumite criterii, ordona rea după unul sau mai multe câmpuri, efectuarea calculelor cu datele din înregistrările selectate. Tipuri de interogări
Interogările de selecţie (Select Query) extrag date dintr-unul sau mai multe tabele şi le afişează în formă de listă conform unor criterii stabilite în proiectarea interogării. Interogările total (Total Query) şi încrucişate (Crosstab Query) centralizează în formatul unei foi de calcul tabelar datele din unul sau mai multe tabele folosind funcţiile agregat pe seturile valori din înregistrările selectate. Interogările de acţiune : o creează noi tabele în bazele de date ( Make-Table Query) sau o realizează modificări majore ale unei tabele: actualizează datele din tabel (Update -Query), adaugă înre gistrări în tabel (Append Query) şterge înregistări din tabel (Delete Query).
34
6.2. Proiectarea interogărilor de selecţie Pentru a proiecta o interogare trebuie mai întâi definit scopul, ce date trebuie să fie extrase, să fie cunoscute structurile tabelelor, relaţiile, criteriile de selecţie, ordinea de afişare. Înainte de începerea proiectării interogării se închid tabelele din care se extrag date şi se verifică relaţiile în tabela Relationship. Pentru crearea interogărilor, Access pune la dispoziţ ia utilizatorilor două butoane de comandă pe ribonul Create – grupul Queries: Query Wizard – program asistent pentru selectarea tabelelor şi câmpurilor apoi se afişează modul Query Design pentru definirea altor proprietăiţ ale interogării şi Query Design – metoda cea mai completă şi utilizată. Mod de lucru: 1. Click pe tab-ul Create - click butonul Query Design 2. Se afişează caseta de selectare Show Table 3. Se selectează tabelul (interogarea) din care vor proveni câmpurile interogării şi click pe butonul Add, se selectează următorul tabel şi click pe butonul Add, se repetă selectarea pentru toate tabelele sau interogările (din fila Queries) vizate. 4 Click pe butonul Close pentru a închide fereastra Show Table.
5. În ferestra de proiectare a interogării se selectează câmpurile în interogare: dublu click pe numele câmpului în tabel sau prin selectarea numelui câmpului în lista derulantă în panoul de proiectare a interogării în rândul Field. Panoul tabelelor şi relaţiilor Grila - proiectare interogare
Field: numele câmpului Table: numele tabelului din care provine câmpul
Sort: opţiune de sortare Show: opţiune de afişare Criteria: criteri de selecţie; or: criteriul alternativ (sau)
35
6. Salvarea interogării cu butonul Save din Quick Access Toolbar sau din meniul File – comanda Save object As. Numele unei interogări este unic în baza de date în categoriile de obiecte Tables şi Queries. 7. Vizualizarea rezultatului interogării: se comută interogarea în modul Datasheet View – grupul View, ribonul Home sau Query Tools sau click pe butonul Run din Query Tools.
6.3. Criterii de sortare în interogări Într-o interogare puteţi să sortaţi rân durile rezultate în ordine crescătoare sau descrescătoare după un câmp sau mai multe câmpuri; în acest caz ordinea aplicării criteriilor de sortare se face de la stânga la dreapta.
În modul de vizualizare Design View, criteriile de sortare sunt selectarte în rândul Sort din panoul de proiectare. În coloana câmpului după care se doreşte ordonarea, în rândul Sort; se deschide lista derulantă şi în funcţie de selecia Ascending sau Descending se face ordonarea crescător, respectiv descrescător după valorile câmpului. Click pe butonul Run se afişează foaia de date cu rezultatul sortării Dacă se sortează după mai multe câmpuri, ordinea acestora în panoul de selectare trebuie să fie conform ordinii de sortare. Restabilirea or dinii coloanelor în interogare se face cu drag&drop numele coloanei în noua locaţie .
Sort: crescător după câmpul NumeDept Sort: descrescător Salariul_brut Ordinea de sortare: înregistrările selectare se ordonează crescător, alfabetic A -Z, după NumeDept; în grupul înregistrărilor care au aceeaşi valoare în câmpul NumeDept sortarea se face descrescător după valorile din câmpul Salariul_brut.
Afişarea înregistrărilor rezultate din interogări La rularea unei interogări sau la comutarea în Datasheet View, numărul înregistrărilor afişate, se specifică în valoarea selectată din lista derulantă a butonului de comanda Return Design, grupul Query Setup.
de pe ribonul context Query Tools –
Valoarea implicită All – va afişa toate înregistrările rezultate. Lista mai prezintă valori implicite pentru număr de înregistrări: 5, 25, 100 sau procent din 5%, 25%; se pot introduce alte valori sau procente şi se salvează înregistrarea. La rularea interogării vor fi afişatea doar un număr specificat de înre gistrări. 36
6.4. Criterii de selecţie în interogări Criteriile de selecţie se introduc în rândul îndeplinească o anumită condiţie.
Criteria în coloana câmpului care trebuie să
Dacă se introduc mai multe valori în acelaşi rând de criterii pentru câmpuri dife rite, se vor extrage înregistrările care îndeplinesc simultan toate criteriile. În cazul în care criteriile se introduc pe rânduri diferite (opțiuniea Or) o înregistrare va fi selectată dacă îndeplineşte oricare din condiţii
În rândul criteriilor de selecţie se introduc expresii pentru compararea valorilor din câmpul respectiv cu valoarea rezultată din expresia introdusă. O expresie este o combinaţie a unora sau toate dintre următoarele: funcţii predefinite sau definite de utilizator, identificatori, operatori şi constante. Fiecare expresie este evaluată la o valoare unică. Valorile pentru comaparare sunt de tip text, numerice sau dată calendaristică, acelaşi tip cu tipul datelor din câmpul în care s-a introdus criteriul. Criteriul definit ca interval de date calendaristice; este echivalent cu folosirea combinata a operatorilor „>=”, „And” „<=”
Criteriul definit ca valoare diferită de valoarea introdusă (aici tip dată calendaristică)...
Criteriul - șir de caractere care începe cu litera D; se foloseşte caracterul de substituţie * pentru şirul de caractere din dreapta literei “D”
6.5. Interogări de selecție cu parametru formal Dacă într -o interogare este necesară modificarea frecventă a criteriilor de selecţie, se recomandă transformarea acestor cereri în parametri. Avantajul unei cereri cu parametru constă în faptul că aceste criterii se modifică şi primesc valori în momentul rulării interogării. Crearea unei cereri cu parametru se face astfel: 1. În câmpul Criteria se introduce, în loc de valoarea cu care se va compara valoarea câmpului în momentul execuţiei interogării , o expresie, diferită de numele câmpului, în paranteze pătrate, care va deveni prametru formal. 2. La execuţia interogării sau afişarea în modul DataSheet View, utilizatorul trebuie să completeze caseta de dialog, Enter Parameter Value, cu valoarea care va constitui criteriul curent al selecţiei.
37
6.6. Interogări centralizatoare de tip Total şi Crosstab O interogare de totaluri (Total Query) este o interogare de selectare care permite gruparea şi să obínerea unor informaíi pe ansambluri de date. De exemplu, calcularea salariilor totale pentru ale angajaților din fiecare departament sau ultimul contract încheiat într-o perioadă selectată. Într-o interogare de totaluri, se utilizează funcţiile agregat: - Sum( ) / Suma valorilor - Avg( ) / Media aritmetică - Min( ) / Valoarea minimă - Max( ) / Valoarea maximă - Count( ) / Numărul de valori - First( ) / Prima valoare introdusă - Last( ) / Ultima valoare introdusă Mod de lucru: 1. Se proiectează o interogare de selecţie cu câmpul criteriul de grupare şi câmpul pe care se aplică funcţia agregat. 2. Click comanda Totals de pe ribonul context Query Tools - Design, în panoul grilei de proiectare se va afișa linia Total, care are în toate câmpurile expresia Group By; 3. Expresia Group By rămâne în coloana câmpului după ale cărui valori se grupează înregistrările şi iar în coloana (câmpul) în care se aplică funcţia de agregare, în rândul Total se selectează din lista derulantă funcţia aplicată setului de valori din grup (ex. Sum pentru totalul valorilor din grup)
38
Interogările încrucişate de tip Crosstab Query sunt interogări centralizatoare, care permit stabilirea exactă a modului în care apar în listă datele centralizatoare. Acestea afişează datele în formatul tradiţional rând-coloană al foilor de calcul tabelar. Interogările încrucişate folosesc cuvinte cheie Access SQL TRANSFORM pentru a arăta că declaraţiile care îl urmează sunt pentru o astfel de interogare. Cu ajutorul acestor interogări puteţi executa următoarele acţiuni:
selectarea câmpului care creează etichete (titluri) ale rândurilor, utilizând instrucţiunea Group By;
stabilirea câmpului ale cărui set de valori creează anteturile coloanelor şi criteriile care determină valorile care apar sub ele; funcţia de grupare pe coloana Group By
atribuirea funcţiilor pentru calcularea valorilor din celulele din grila rând-coloană, rezultată din lista funcţiilor agregat din lista derulantă afişată la click pe rândul Crosstab al acestei coloane (similar interogărilor de tip total).
Mod de lucru: 1. Se proiectează o interogare de selecţie cu câmpurile ce vor constitui grup pe linie, grup pe coloană şi câmpul pe care se va aplica funcţia la intersecţie rând-coloană 2. De pe ribonul context Query Tools – Design, click pe butonul Crosstab; selectaţi în rândul Crosstab afişat în grilă Row Heading şi Column Heading 3. În linia Total a câmpului pe care se va aplica funcţia agregat, se selectează funcţia iar în rândul Crosstab al acestui rând se selectează Value 4. Click pe butonul Run va afişa foaia de date rezultată
6.7. Campuri calculate în interogări Interogările conţin expresii în: - câmpurile definite de utilizator pentru efectuarea calculelor folosind valorile din câmpurile introduse în interogare. - criterii de selecţie a înregistrărilor - expresiile din interogări de tip total şi crosstab - calcule pentru funcţia update în interogări de acţiunie de tip Update Introducerea unui câmp calculat în interogare 1. În interogarea de selecţie trebuie să fie selectate câmpurile care vor deveni operanzi în câmpul calculat; se salvează interogarea pentru utilizarea Expression Builder 2. În formatul Design View, în coloana liberă se introduce numele câmpului calculat şi două puncte (ex. Impozit:) 39
3. Cu generatorul de expresii (reconandat pentru introducerea corectă a expresiei !) sau manual se introduce expresia, câmpurile operanzi sunt în paranteze pătrate; 4. Cu click pe butonul Run sau prin comutare în datasheet view se obţine rezulatulul.
6.8. Interogări de acţiune Crearea unei interogări de tip acţiune se face în 3 etape: 1. Crearea unei interogări de tip Select, se adaugă criteriile de selecţie şi se verifică ; 2. Transformarea interogării de tip selecţie într-o interogare de acţiune 3. Rularea şi verificarea rezultatelor. Make Table Query – crearea unui tabel Crearea unei tabele noi cu înregistrările rezultate din interogare la un anumit moment: 1. Se proiectează interogarea de selecţie cu câmpurile ce vor forma noul tabel; se adaugă criterii de selecţie şi se verifică rezultatul; 2. Click pe butonul Make Table din ribonul context Table Tools – Design; în fereastra de dialog afişată în caseta Table Name se completează numele tabelului rezultat
3. Tabelul se va crea la selectarea butonului Run de ribonul Table Tools – Design şi va fi inclus în grupul obiecteor Table 4. La fiecare rulare, datele din tabel se şterg şi se introduc înregistrările rezultate din interogare la momentul respectiv. 5. Interogarea Make table are un icon specific Append Query – adăugarea unor înregistrări în tabel Este necesară pentru concatenarea datelor din două tabele cu structuri identice; un tabel se consideră principal, în care se aduc datele, iar celălalt furnizor de date. 1. Se proiectrază interogarea de selecţie cu datele din tabelul furnizor de date.
40
2. Se salvează interogarea şi se transformă în interogare Append din ribonul Table Tools – Design; în fereastra Append selectează numele tabelului principal, în care se vor duce înregistrările selectate în interogare.
3. Adăugarea înregistrărilor la rularea interogării click pe butonul Run; utilizatorul este înştiinţat asupra numărului înregistrărilor adăugate. 4. Interogarea de tip Append are un icon specfic acţiunii Update query – modificarea valorilor unor câmpuri Modifică valorile unui câmp din înregistrările selectate 1. Se proiectează o interogare de tip selecţie în care vor fi selectate obligatoriu câmpurile ce vor avea criterii de selecţie şi câmpul în care se modifică valorile. 2. Se salvează interogarea şi se transformă în interogare de tip Update cu click butonul Update din ribonul Table Tools – Design; 3. În grila de proiectare se adaugă linia Update; în coloana în care valoarea se înlocuieşte în rândul Update se va introduce noua valoare sau expresia; 4. La comanda Run se afişează în fereastra de informare numărul de înregistrări care se vor modifica şi se cere acceptul modificărilor; ok declanşează modificările.
Interogarea Update se afişează în panoul de navigare cu iconul specific Delete Query – ştergerea unor înregistrări Se şterg din tabel înregistrările selectate pe baza unor criterii 1. Se proiectează o înregistrare de selecţie cu câmpurile unui tabel din care se şterg înregistrări; se selectează câmpul sau câmpurile pe care se aplică criterii de selecţie. 2. Se salvează şi se verifică setul de date rezultat în selecţie; 3. Click butonul Delete de pe ribonul Table Tools – Design
4. Click pe butonul Run va declanşa operaţia de ştergere a înregistrărilor selectate; utilizatorul este înştiinţat şi se cere acordul pentru ştergere. 5. Se salvează interogarea ca interogare de ştergere marcată cu iconul
41
Capitolul 7 Formulare în baze de date Access 7.1. Proiectarea formularelor Formularele (Forms) sau videoformate asigură interfaţa utilizatorului cu obiectele bazei de date (tabele, interogări, rapoarte, programe), pentru introducerea, modificarea sau doar afişarea datelor. În cadrul unui Sistem de Gestiune a Bazelor de Date, formularele au următoarele funcţii: 1. Introducerea, afişarea şi editarea datelor. 2. Controlul operaţiilor realizate de aplicaţie. 3. Afişarea mesajelor, introducerea condiţiilor şi parametrilor pentru execuţie 4. Tipărirea şi transferul informaţiilor Metode de proiectare a formularelor : Prin utilizarea comenzilor de pe ribonul Create – grupul Forms se pot proiecta formulare dedicate unor operaţii în baza de date:
Form - metoda rapidă de proiectare a formularelor asociate unui tabel sau interogări, cu toate câmpurile tabelului sau interogării, pentru introducerea datelor. În panoul de navigare se selectează tabelul sau interogarea şi click pe butonul Forms. Se generează formularul cu subformular pentru tabelul asociat şi se afişează în panoul de lucru. Implicit, formularul are numele tabelului selectat; ce poate fi schimbat la salvarea formularului cu click pe butonul Save de pe Quick Access Toolbar. Formularul cu sau fără subformular va folosi la introducerea / afişarea / modificarea datelor atât în tabelul principal cât şi în tabelul asociat.
Form Design – metodă de proiectare manuală a formularelor, se adaugă controalele formularului de către proiectant. Metoda necesită experienţă în lucrul cu proiectarea bazelor de date şi a obiectelor grafice. Blank Form – metodă manuală de proiectare a formularelor, controalele asociate tabelelor sau interogărilor cât şi formatul de afişare sunt stabilite de proiectantul bazei de date. Form Wizard - metoda cea mai utilizată de crearea asistată a formularelor asociate unui singur tabel sau interogărilor; se pot crea formulare personalizate pentru introducerea şi vizualizarea datelor. Navigation – creează forme pe baza unor şabloane care permit comutarea între diferite forme şi rapoarte More Forms - creează formulare sofisticate pe baza unor şabloane, de introducere şi vizualizare a datelor mai ales în structuri mari de date, de exemplu, prin selectarea unei înregistrări din listă se afişează o fereastră de modificare a înregistrării.
7.2. Proiectarea asistată a formularelor 1. De pe ribonul Create – grupul Forms – click butonul Form Wizard; se începe derularea procedurii de proiectare asistată a formularului cu deschiderea ferestrei de dialog Form Wizard 42
2. În caseta Tables / Queries se selectează tabelul asociat formularului din listă . 3. Din panoul Availables Fields se selectează câmpurile pentru formular astfel: selectează numele câmpului şi click pe butonul
; câmpul va fi transferat în panoul
câmpurilor selectate; anularea selecţiei se face cu click butonul
.
Lista câmpurilor selectate
Lista derulantă pentru selecţia tabelului sau interogării Lista câmpurilor tabelului
Buton pentru transferul câmpului din tabel în lista câmpurilor selectate Buton pentru transferul tuturor câmpului în lista câmpuri selectate
4. După selectarea tuturor câmpurilor, click butonul
.
5. Se optează pentru f orma de afişare a înregistrărilo r în formular Columnar– o înregistrare se afişează pe ecran (single form) cu eticheta şi valoarea câmpului ; Tabular – format tabel, sunt afişate atâtea î nregistrări câte încap pe ecran, Datasheet – foaie de date; Justified – formă particulară cu înregistrările afişate una dup alta. 5 În următorul ecran se tastează numele formularului şi click butonul
Se afişează în Form View pentru lucrul cu datele în formular . Pentru modificarea aspectului şi controalelor formularului se comută în modul de afişate Design View . Modurile de vizualizare ale formularelor: Form View – format execuţie, formularul permite lucrul cu datele, Layout View – permite ajustări ale aspectului formularului pe obiectele introduse în formular, cu vizualizarea datelor din tabelul asociat Design View – formatul de proiectare, permite modificări ale proprietăilor ţ obiectelor şi ale formularului, introduce rea de controale noi, modificări de structură a formularului. 43
7.3. Obiectele formularului După salvare, formularul este introdus în lista obiectelor de tip Form în panoul de navigare cu numele şi iconul de formular, exemplu
.
Formularele prezintă colecţi i de elemente specifice de proiectare, numite elemente de control sau obiecte de control:
Casete de text cu numele câmpurilor asociate - pentru introducerea şi editarea datelor; Etichetele - pentru definirea numelor câmpurilor; Cadrele sau frame-urile sunt folosite pentru afişarea obiectelor grafice; Grupuri de butoane de opţiune sau liste de valori - pentru alegerea unei valori dintrun grup de valori; Câmpuri de date calculate pe baza valorilor introduse în casetele de text; Butoane de comandă care declanşează acţiuni Subformulare - formulare, pentru afişarea şi introducerea datelor în tabele asociate
Nume formular Eticheta din header Etichete cu numele câmpului Casete asociate câmpurilor tabelelor Subformular Butoane de comandă: salvare/şterge/închide Butoane de navigare
7.4. Formular multitabel – formular cu subformular Un subformular este un formular inclus într-un alt formular, pentru a permite afişarea datelor din mai multe tabele sau cereri de interogare, aflate în general în relaţii de tipul unu la unu sau unu la mai mulţi. Astfel, în formularul principal vor fi afişate datele din partea unu a relaţiei, iar în subformular din partea mai mulţi. În mod implicit, legătura dintre formular şi subformular reflectă legătura dintre tabelele pe care se bazează. În momentul selectării unei înregistrări în cadrul formularului principal, înregistrările asociate sunt încărcate automat în subformular. Într-un formular care conţine un subformular se pot specifica criteriile de filtrare numai asupra câmpurilor din formularul principal. Metodele cele mai folosite de proiectare:
1 Selectarea tabelului din relaţia unu a unei relaţii unu-la-mulţi şi click butonul Form de pe ribonul Create - Forms 2 In procesul de proiectare asistat Form Wizard se selectează tabelele şi câmpurile din cele două tabele 44
7.5. Proprietăiţle formularului
Casete de text asociate câmpurilor tabelelor Etichete cu numele câmpului
Afişarea formularului în format Design View permite vizualizarea proprietăţilor formularului, modificarea proprietăţilor, adăugarea sau modificarea controalaelor formular ului. Filele ferestrei Properties Sheet: Format, Data, Event, Other şi All grupează proprietăţile în funcţie de categoria filei respective, de exemplu: -
Format: prezintă proprietăţile aspectului, modul de prezentare a ferestrei şi controalelor, dimensionare, culori, butoane de navigare şi de selecţie etc.
-
Data: tabelul sau interogarea asociată, modul de selecţie a datelor, permisiuni de acces la date, opţiuni de filtrare şi sortare da înregistrărilor afişate în formular
-
Event: evenimentele şi acţiunile care se declanşează la producerea unui eveniment; exemple de evenimente ale formularului: deschiderea, închiderea, activare, dezactivarea. Acţiunile sunt module program VBA sau macrocomenzi.
-
Other: opţiuni pentru meniuri şi comenzi asociate, de tipărire etc.
Introducerea şi modifica rea datelor din tabele cu formularul Se afişează formularul în Form View; butoanele de pe bara de navigare folosesc pentru:
- parcurgerea secvenţială a înregistrărilor de la înregistrarea curentă înainte
- înapoi,
- comutarea pe prima sau pe ultima înregistrare, - adăug area unei noi înregistrări . Înregistrarea se introduce cu respectarea regulilor de validare a datelor definite în tabel, măştilor de intrare impuse în proprietăţile câmpurilor tabelului sau regulilor definite în controalele formularului. Prompterul se poziţionează pe înregisrare nouă şi se introduc datele înregistrării.
- căutarea după cuvânt cheie - afişarea numărului secvenţial pentru înregistrarea curentă şi numărul total şi tipul setului de înregistrări afişat: total sau filtrat. Datele introduse deja se pot modifica prin poziţionarea pe întregistrare apoi cu prompterului în câmpul de modificat. Modificările se salvează automat la trecerea la înregistrarea următoare , la click pe Save sau la închiderea formularului.
45
Formatarea formularului şi introducerea noilor controale Butoanele de pe ribonul context Form –Design Tools - Design sunt instrumente de lucru pentru adăugarea noilor controale în formular; se selectează controlului şi cu drag se introduce pe formular în secţiunea corespunzătoare. Opţiunile se introduc prin programul asistent al fiecărul control (Wizard) Instrument de selectare a obiectelor dintr-un cadru dreptunghiular care trasat folosind cursorul mouse-ului Introducerea unei casete de text în care se introduce o expresie (câmp calculat) cu operanzi valorile câmpurilor din formular sau funcţii şi expresii curente Introducerea etichetelor (labels) în orice secţiune a formularului. După introducerea textului în cadrul desenat se selectează şi se formatează folosind funcţiile de formatare Introducerea unui buton de comandă; cu programul asistent (Wizard) se defineşte acţiunea declanşată la click; se alege din categorii de acţiuni asupra obiectelor şi opţiunile cerute Se introduce o pagină nouă şi comutatorul de pagină; pentru formularele cu multe controale care nu pot fi afişate doar pe o pagină Crearea unei legături la o pagină web, adresă de e-mail, imagine sau program Introducerea controalelor de navigare personalizate Introducerea unui grup de opţiuni; se poate selecta doar o opţiune sub forme personalizate; valorile pot fi completate într-un câmp asociat din formular Introduce o întrerupere de pagină la poziţia curentă a cursorului atunci când formularul este imprimat Introducerea unei liste derulante de valori (din tabel sau interogare sau listă introdusă manual) pentru completarea unui câmp sau găsirea unei înregistrări pe baza selecţiei Introducerea unei diagrame (grafic) cu datele din tabelul sau interogarea selectată Desenarea unei linii pentru delimitarea grafică a unor secţiuni ale formularului. Introdcerea butoanelor de comutare cu programul asistent; Introducerea unei liste de valori; cu un rol asemănător cu listele derulante doar ca elementele listei sunt vizibile în spaţiul alocat listei şi cu buton de derulare Desenarea unui dertunghi pentru delimitarea grafică a unor porţiuni ale formularului Introducerea unor controale de selectare a unor opţiuni care nu se exclud; pot fi selectate mai multe opţiuni din grup Introducerea unui cadru pentru obiecte neasociate formularului Introducerea butoanelor de opţiuni; Introducerea unui formular ca subformular într-un formular proiectat deja; trebuie ca tabelele asociate celor două formulare să fie în relaţie de 1:1 sau 1:n Crearea unui cadru pentru obiecte de tip OLE asociate Introducerea unei imagini în secţiunea formularului în care se desenează cadrul imaginii.
46
Capitolul 8 Rapoarte în baze de date Access Raportul este obiectul unei baze de date proiectat în vederea tipăririi datelor. Acesta nu modifică niciodată datele, fiind nevoie să se parcurgă secvenţial înregistrările pentru a genera subtotaluri şi rezumate.
Raportul este necesar pentru a tipări sau a exporta în alte aplicaţii anumite date selective din baza de date şi oferă posibilitatea prelucrării datelor în vederea centralizări acestora sub forma unor totaluri, subtotaluri, sinteze. Datele prezentate în raport pot fi dintr-un tabel, din două tabele asociate sau din interogări. Datele prezentate în raport pot fi sortate şi grupate. Gruparea se face de obicei după un câmp cheie primară din tabelul relaţia unu iar elementele grupului sunt înregistrări corelate. Sortarea se defineşte ca fiind ordinea de afişare a elementelor unui grup
8.1. Metode de proiectarea unui raport
-
-
Report – Creare unui raport bazat pe datele din tabelul sau interogarea curentă (sau selectată) căruia i se pot adăuga ulterior criterii de sortare, grupare etc. Report Design – Proiectarea unui raport cu o structură standard cu ajutorul instrumentelor de proiectare de pe bara de instrumente, se adaugă proprietăţi şi controale cu secvenţe de program. Blank Report – Proiectarea raportului un suport necompletat, se adaugă controale din tabele afişate în lista ataşată foii raportului Report Wizard – Proiectarea raportului cu ajutorul programului asistent Report Wizard; raportul rezultat se poate modifica şi personaliza. Labels – Proiectarea etichetelor standard cu folosind datele din tabele cu ajutorul programului aistent, Label Wizard.
8.2. Proiectarea asistată a rapoartelor Programul asistent de proiectare a rapoartelor, Report Wizard, oferă suport pentru proiectarea rapoartelor personalizate cu date din tabele sau interogări.Un raport se poate proiecta cu date dintr-un singur tabel sau din tabele care se află în relaţe Mod de lucru: 1 Click pe butonul Report Wizard de pe ribonul Create, grupul Reports 2 Se selectează tabelul sau tabelele (sau interogarea) din lista Tables/Queries; din lista câmpurilor Available Fields selectarea câmpului şi click , câmpul este trecut în lista câmpurilor Selected Field; selectarea butonului selectarea tuturor câmpurilor.
duce la
47
3 După selectarea tuturor câmpurilor din tabele asociate click butonul 4 Opţuni de grupare a înregistrărilor după un anumit câmp; în funcţie de relaţiile dintre tabelele selectate se propune implicit gruparea după câmpul de legătură unu.mai-mulţi dintre tabele. 5 Următosare fereastră conţine opţiunile de sortare şi opţiuni de aplicare a funcţiilor agregat (Summary Options pentru câmpuri de tip Number); opţiunea de sumare este disponibilă doar dacă sunt opţiuni de grupare
6 Selecţia uneia sau mai multor funcţii agregat ce se aplică valorilor câmpurilor cu valori numerice din grup: Sum, Avg, Min, Max are ca efect introducerea în raport a casetelor de tip text box cu valorile rezultate în urma aplicării funcţiilor bifate. 7 Aspectul de afişare a raportului, formatul paginiisunt opţiuni în următoarea fereastră de proiectare a raportului. 8 Se introduce numele raportului şi click butonul Finish; raportul se va afişa în format de previzualizare a imprimării (PrintPreview). 9. Se afişează înregistrările grupate în funcţie de criteriul de grupare. după fiecare grup se introduce un rând cu numele funcţiei şi numărul de înregistrări din grup precum şi valoarea rezultată.
48
8.3. Sortarea şi gruparea Prin comutarea în forma de vizualizare a raportului în format Design View se afişează structura raportului iar modificările se operează asupra structurii şi formatului cu controalele de pe ribonul context - Report Design Tools.
Astfel, pot fi adăugate sau şterse controale, se pot adăuga etichete în secţiunea de antet şi subsol al raportului cu ajutorul butoanelor de pe bara de instrumente Opţiunile de grupare şi sortare ale unui raport pot fi vizualizate, adăugate, modificate cu ajutorul comenzilor butonului Group&Sort; la selectarea butonului se afişează în partea de jos a ferestrei raportului în format Design View, opţiunile existente de grupare şi sortare şi pot fi modificate sau adăugate altele nou (Group on select field)
Dacă un raport a fost proiectat fără opţiuni de grupare, sortare sau funcţii de tip total, cu ajutorul comenzilor din grupul Grouping & Totals se pot adăuga. 1. Click butonul Group&Sort; se afişează comenzile Add a group , Add a Sort 2. Click pe butonul Add a group deschide lista câmpurilor din raport şi se selectează câmpul după care se va face gruparea (exemplu ID_Dept) 3. Click pe butonul Add a sort pentru grupul creat va afişa lista câmpurilor pe care se poate adăuga opţiune de sortare (exemplu Nume)
4. În funcţie de structura tabelului se pot rafina opţiunile de grupare sau sortare în grup. 8.4. Exportul rapoartelor în alte aplicaţii Un raport poate fi exportat în altă bază de date Access dar şi într-o serie de formate pentru a fi deschise în alte programe:
foaie de calcul Excel, document de tip text, .txt, doar conţinutul fără formatări; coloanele tabelului sunt create cu spaţii fişiere .pdf sau .xps; formate standard, permit vizualizarea datelor dar nu pot fi făcute modificări sub forma unui fişier ataşat unui e-mail, în unul din formatele selectate din lista prezentată la salvarea fişierului pentru ataşare 49
More: formate Word, HTML sau Share point (dacă există), ODBC , dacă există
Comenzi de export şi formate de afişare a raportiului în Print Preview
La selectarea unui buton pentru exportul într-un anumit format se deschide fereastra de salvare a raportului unde se vor completa: locaţia fişierului, numele, formatul şi versiunea de program.
Butoanele pentru lansarea operaţiei de export sunt pe ribonul External Data, grupul Export.
50