Sunteți pe pagina 1din 69

Capitolul 5

Sisteme de gestiune a bazelor de date


(ACCESS)
Agenda
• SGBD ACCESS – prezentare generală
• Crearea şi actualizarea bazelor de date ACCESS
• Formulare ACCESS
• Obţinerea de informaţii din baza de date
ACCESS
• Construirea şi utilizarea rapoartelor
• Aplicaţii, programe, proceduri VBA în ACCESS
5.1 SGBD ACCESS – Prezentare generală

ACCESS este integrat în MS Office şi oferă următoarele


facilităţi:
• dispune de o interfaţă uşor de utilizat care respectă
principiile de bază ale aplicaţiilor din MS Office;
• “găseşte” rapid datele legate între ele prin interogarea BD
(folosind o interfaţă grafică prietenoasă sau limbajul SQL);
• asigură afişarea pe ecran sau tipărirea la imprimantă a
datelor într-un format uşor de înţeles - raoarte;
• permite afişarea datelor sub formă de grafice sau ca pagini
Web;
5.1 SGBD ACCESS – Prezentare generală

• are incluse mecanisme pentru importul sau exportul din


/către alte aplicaţii din MS Office (Excel , Word ) sau alte
SGBD;

• automatizează unele acţiuni (operaţiile comune) prin


realizarea de programe în VBA;

• oferă asistenţă în realizarea proiectelor şi utilizarea lor (prin


componentele de tip Wizard sau sistemul Help specific).
ACCESS – Prezentare generală

Proiectele Access permit dezvoltarea unor aplicaţii client-


server în următoarele situaţii mai complexe:

• datele sunt foarte importante; nu se acceptă pierderi de


date şi nici indisponibilităţi temporare ale datelor;

• datele urmează a fi folosite simultan de către mai mulţi


utilizatori;

• BD are dimensiuni foarte mari.


Configurarea sesiunii de lucru în ACCESS

Access permite stabilirea unor parametrii de lucru


pentru sesiunea curentă şi, eventual, sesiunile
următoare.

De exemplu, pentru stabilirea unui director implicit:

• din meniul butonului Office se activează Access


Options;

• din fereastra opţiunii Popular, în zona Creating


Databeses, în rubrica Default database folder, se
declară directorul implicit.
Declararea unui director implicit
Tipuri de obiecte în proiectele ACCESS
Un proiect Access se organizează în jurul BD şi poate conţine
următoarele tipuri de obiecte:

• Tabele (Tables) – colecţii de datele “brute” ale unei BD;


• Interogări (Queries) – tabele care conţin răspunsuri la anumite „întrebări”
despre date (filtre aplicate asupra datelor din baza de date, în funcţie de
anumite criterii);
• Formulare (Forms) – interfeţe de introducere şi afişare a datelor (formate
de ecran care permit introducerea sau vizualizarea datelor din una sau mai
multe tabele);
• Rapoarte (Reports) – liste cu informaţii extrase din componentele
proiectului tip BD (facilităţi de afişare /tipărire a datelor din tabele,
interogări);
Tipuri de obiecte în proiectele ACCESS
Un proiect Access se organizează în jurul BD şi poate conţine
următoarele tipuri de obiecte:

• Macro-uri (Macros) - liste de comenzi, grupate sub un nume, pe care


Access le salvează şi execută pentru diverse acţiuni specificate de
utilizator;
• Module (Modules) – obiecte care conţin coduri de programare (declaraţii
şi proceduri), scrise în VBA. Modulele oferă utilizatorilor avansaţi
posibilitatea de a personaliza BD şi conţinutul acestora:
– Module clasă (conţin proceduri dedicate formularelor sau rapoartelor şi
sunt ataşate acestora; nu apar în panoul de lucru);
– Module standard (conţin proceduri care nu sunt asociate unui obiect;
apar în panoul de lucru).
În panoul de lucru, obiectele unei BD pot fi vizualizate:

• Individual (subseturi ale obiectelor): tabele (tables),


interogări (Queries), formulare (Forms) rapoarte (Reports);

• Toate obiectele BD (All Access Object);

• Prin gruparea elementelor /componentelor unei BD


(Tables and related Views) (tabela + interogările,
formularele şi rapoartele create pe baza ecestei resurse de
date);
5.2 CREAREA ŞI ACTUALIZAREA BD

Orice proiect de lucru cu o BD demarează cu crearea


tabelelor şi definirea restricţiilor.

La crearea tabelelor, pentru fiecare atribut (câmp) se


declară:

– Numele – Field Name,

– Tipul – Data Type,

– Lungimea – Field Size şi/sau formatul (Field Properties),

– alte proprietăţi.
5.2.1 Tipuri de date

• Text – şiruri de cel mult 255 de caractere alfanumerice (litere,


numere, simboluri etc.);

• Memo – şiruri care depăşesc 255 de caractere, nu sunt


structurate şi /sau au un anumit caracter de confidenţialitate;

• Number – date numerice (întregi sau cu zecimale);

• Date /Time – date calendaristice şi/sau timp;

• Currency – tip de date asemănător datelor numerice; este


conceput pentru a evita erorile de rotunjire, astfel încât
calculele cu bani să fie precise;
5.2.1 Tipuri de date
• AutoNumber – este o variantă specială a datelor Number.
Este recomandat în procedura de stabilire a cheii primare,
atunci când din structura tabelei este dificil de ales un câmp
reprezentativ;
• Yes /No - păstrează date de tip: True /False, On/Off;
• Ole Object –stocheză informaţii într-un format accesibil altor
programe (documente Word, foi de calcul Excel, imagini, fişiere
cu muzică etc.)
• Hyperlink – tip de date text special conceput pentru a stoca
hyperlink-uri către site-uri Web sau alte resurse Internet;
• Lookup Wizard – câmp special de căutare
Lookup Wizard

• Majoritatea BD organizează două tipuri de tabele:


– cele care includ date primare;
– cele care conţin liste de valori folosite în tabele.
• Aceste tabele auxiliare se numesc tabele de căutare (lookup
tables) şi prezintă două avantaje:
– pun la dispoziţia utilizatorului opţiuni simplu de utilizat;
– permit validarea datelor, acceptând numai datele din
tabel.
Lookup Wizard
Lookup Wizard
5.2.2 Crearea /construirea tabelelor
Tabelele, fiind obiecte componente ale BD, presupun, ca primă
etapă, obţinerea bazei de date din care vor face parte. Dacă se
optează pentru New Blank Database se pot preciza:
– locaţia (pentru salvare),
– numele,
– tipul fişierului.
Implicit, ACCESS atribuie unei BD:

• numele database<n> (Access 2007) sau


db<n> (pâna la Access 2007) şi
• extensia .accdb (Access 2007) sau .mdb (pâna
la Access 2007) .
Fereastra File New Database
Cea mai complexă modalitatea de obţinere a tabelelor unei BD o
oferă opţiunea Design View (din meniul rapid) sau optiunea
Table Design (din meniul Create).
Crearea tabelelor folosind Design View
• Prima operaţie constă în stabilirea numelui sub care va fi
salvat tabelul.
• Numele implicit este de Table<n>.
• Sunt recomadate nume sugestive (conţinut informaţional,
aplicaţie, utilizator etc.)
Crearea unei tabele se realizează prin parcurgerea unor paşi
prestabiliţi:
1. Definirea (stabilirea) atributelor (câmpurilor);
2. Stabilirea cheii primare;
3. Definirea valorilor implicite;
4. Definirea regulilor de validare la nivel de atribut (câmp);
5. Definirea regulei de validare la nivel de înregistrare
(linie/tabelă);
6. Salvarea structurii tabelei.
În fereastra Design View pot fi stabilite:

• numele câmpurilor,

• tipul datelor şi proprietăţile acestora,


• cheia primară,

• reguli de validare etc.


Stabilirea cheii primare
• comanda Primary Key (din meniul rapid, activat de
pe numele câmpului),

• din linia cu instrumente Design


Modificarea structurii unei tabele

Modificarea structurii unei tabele înseamnă:

• adăugarea de noi câmpuri;

• ştergerea unor câmpuri;

• modificarea atributelor (nume, tip, lungime) unor


câmpuri.
Comenzi pentru adăugarea unui nou câmp
Adăugarea unui câmp se realizează (ambele selectate când prompterul este
cu opţiunea Insert Rows din: poziţionat pe câmpul deasupra căruia
meniul rapid sau meniul Design se va insera unul nou)
Ştergerea unuia sau mai multor câmpuri presupune selectarea şi apoi

activarea comenzii Delete Rows: din meniul Design, sau meniul rapid.
Modificarea structurii unei tabele se poate realiza şi din meniul
Datasheet
5.2.3 Declararea restricţiilor
Este recomandabil ca declararea restricţiilor să fie făcută odată
cu crearea tabelelor sau imediat după (în orice caz, înainte de
preluarea vreunei înregistrări în bază)

preluarea corectă a tuturor informaţiilor în tabele.

Declararea restricţiilor presupune ca tabela să fie deschisă cu


Design View.

Regulile de validare (la nivel de atribut şi de tabelă) au fost


prezentate şi exemplificate în cap 4.
Cheia primară

În Access cheia primară poate fi:

– naturală - când valorile atributului /atributelor care o compun


se stabilesc de utilizator;

– artificială - când se foloseşte un câmp de tip AutoNumber


(în acest caz ACCESS introduce automat o valoare
consecutivă la inserarea unei înregistrări (1 pentru prima
înregistrare, 2 pentru a doua înregistrare ş.a.m.d.).
Cheia primară

• Access -ul creează indecşi pentru fiecare tip de cheie


primară sau alternativă

pentru aceste tipuri de atribute proprietatea Indexed este


setată pe Yes (No Duplicates).

• Dacă o cheie primară este compusă, pentru fiecare atribut


component se alege simbolul cheii.
Restricţia de integritate referenţială
• Definirea legăturilor permanente dintre tabele şi stabilirea restricţiilor de
integritate referenţială se realizează prin apelarea opţiunii Relationships
din meniul Database Tools :
Fereastra Edit Relationships

Restricţia de integritate referenţială


se instituie prin bifarea opţiunii
Enforce Referential Integrity
• nu se permite modificarea valorii cheii
primare din tabela părinte dacă există în
tabela copil măcar o înregistrare cu care este
în legătură;
• nu poate fi introdusă nici o valoare a unei
chei străine dacă respectiva valoare nu există
deja ca şi cheie primară în tabela părinte.

Cascade Update Related Fields – Cascade Delete Related Records -


orice modificare a unei chei primare în tabela la ştergerea unei înregistrări din tabela
părinte va atrage modificarea în cascadă a părinte se vor elimina automat toate
tuturor cheilor străine în înregistrările copil. înregistrările copil.
La afişarea conţinutului unei tabele:
Semnul + înregistrarea are cel puţin o înregistrare “înrudită”
într-o altă tabelă,
Semnul - sunt afişate înregistrările “înrudite”.
5.2.4. Actualizarea tabelelor
(Inserări, modificări şi ştergeri de înregistrări)

• Introducerea unei noi înregistrări – prin completarea ultimului rând


(înregistrarea de rezervă) sau cu opţiunea New Record din meniul
rapid care apare prin click dreapta pe marginea din stânga a tabelei
deschise cu Open;
• Ştergerea unei înregistrări – cu opţiunea Delete Record din meniul
rapid care apare prin click dreapta pe marginea din stânga a tabelei
deschise cu Open.
5.3 FORMULARE ACCESS

• Un formular reprezintă un instrument pus la dispoziţia


utilizatorului în scopul uşurării operaţiilor de accesare şi
actualizare a datelor stocate în tabelele unei BD.

• Un formular este legat de o structură de date de tip tabelă sau


cursor (query) obţinut în urma unei interogări.

• Prin intermediul formularului se asigură o “vedere” organizată


şi formatată asupra unei părţi sau asupra tuturor câmpurilor
din una sau mai multe tabele.
FORMULARE ACCESS
Obţinerea formularelor presupune parcurgerea a trei etape:

1. Proiectarea formularului pentru stabilirea formei şi conţinutului,

2. Definierea formularului cu unul din instrumentele disponibile în grupul de


opţiuni Create Forms:

– Form,

– Split Form,

– Multiple Items,

– Items Blank Form,

– Form Wizard sau Form Design etc.

3. Utilizarea formularului pentru actualizarea – previzualizarea informaţiilor


din BD.
În cadrul unui formular pot fi cinci secţiuni de lucru:
• Antetul de formular (Form Header);
• Antetul de pagină (Page Header);
• Zona de detalii (Detail);
• Subsolul de pagină (Page Footer);
• Subsolul de formular (Form Footer).
Este obligatorie doar zona de detalii.
Antetele de formular şi de pagină, precum şi subsolurile
aferente, sunt aduse pe ecran prin opţiunile Form Header
/Footer şi Page Header/Footer din meniul rapid sau meniul
Design.
5.4 OBŢINEREA DE INFORMAŢII DIN BD
Access oferă facilităţi de obţinere a informaţiilor dintr-o BDR,
prin crearea interogărilor (Queries), care pot fi:

• Interogări tip selecţie;

• Interogări tip inserare;

• Interogări tip modificare;

• Interogări tip ştergere;

• Interogări SQL.
OBŢINEREA DE INFORMAŢII DIN BD
Interogările se pot defini:

– în modul de lucru Query Design, care foloseşte un limbaj


bidimensional de tip grafic asemănator limbajului QBE
(Query By Example) din gama instrumentelor RAD (Rapid
Appliocation Development),

– în modul de lucru asistat (Wizard),

– folosind comenzi SQL (cap. 6).


Proiectantul
de interogări
(tip Selecţie)

- numele atributului (Field);


- tabela în care se află acesta (Table);
- dacă valorile atributului vor fi ordonate
crescător sau descrescător (Sort);
- dacă respectiva coloană va fi afişată în listă sau serveşte doar la
precizarea filtrului de selecţie a înregistrărilor (Show);
- condiţiile pe care trebuie să le îndeplinească înregistrările (liniile)
pentru a fi incluse în rezultatul interogării /raport (Criteria).
Informaţii obţinute dintr-o singură tabelă

Din tabela FACTURI → Situaţia facturilor emise după 20 iunie 2005, care să conţină o
coloană inexistentă în tabela FACTURI, ValoareFărăTVA
Interogare ce foloseşte trei tabele, două condiţii de filtrare şi

ordonează rezultatul după valorile unui atribut


Cele mai utilizate Interogări Access sunt:
• Interogări tip selecţie (Select Query);
• Interogări tip inserare (Append Query);
• Interogări tip actualizare (Update Query);
• Interogări tip ştergere (Delete Query);
• Interogări SQL (cap. 6).
Meniul Design
Meniul rapid
• Interogările de selecţie (implicite) (Select Query) sunt
obiecte ale bazei de date folosite pentru a extrage şi afişa o
parte din BD;

• Interogările de adăugare (Append Query) presupun


completarea unor rubrici diferite de cele de la interogările de
selecţie, deoarece Access construieşte, pe baza datelor din
fereastra Query Design, o comandă INSERT; trebuie
specificat numele tabelei în care se vor introduce datele;

• Interogările de modificare (Update Query) presupun


completarea tuturor informaţiilor necesare creării unei comenzi
UPDATE;

• Interogările de ştergere (Delete Query) presupun


completarea tuturor informaţiilor necesare identificării
rândului /rândurilor de şters.
Interogările Access pot fi folosite:

• de alte interogări Access (în cazul interogărilor de


selecţie);
• direct, în mod vizual, cu gestionarul bazei de date;
• din ferestrele, rapoartele şi modulele de cod VBA ale
BD.
Prelucrări /grupări /sintetizări
Partea cea mai interesantă a interogărilor ţine de prelucrarea
datelor numerice.
Pentru grupare trebuie folosit simbolul de însumare din bara
de instrumente a interogării. Ca urmare, în machetă, între
liniile Table şi Sort apare linia Total. Pe această linie, pentru
coloanele TVAColectată şi ValoareTotală este suficientă
selectarea opţiunii Sum, în timp ce pentru Valoarea fără TVA
trebuie selectată opţiunea Build /Expression. În linia Fields
este folosită expresia:
ValFaraTVA: SUM([ValoareTotala] – [TVAColectata]).
Un alt artificiu este criteriul prin care se poate indica în
rezultatele interogării intervalul de vizualizare, adică data
iniţială şi data finală a acestuia:
BETWEEN [Data Initiala:] AND [Data finala:].
Filtru generalizat cu o grupare după dată
5.5 CONSTRUIREA ŞI UTILIZAREA RAPOARTELOR

• Informaţiile din domeniul economic sunt prezentate, cel mai


adesea, prin intermediul rapoartelor.

• Raportul reprezintă un ansamblu de informaţii conforme cu


cerinţele utilizatorilor, construit pe baza datelor din tabele
sau interogări.

• Rapoartele pot fi afişate pe ecran sau tipărite la imprimantă,


majoritatea lor având formă tabelară.
CONSTRUIREA ŞI UTILIZAREA RAPOARTELOR

Pentru realizarea unui raport sunt parcurse trei etape:

1. Proiectarea raportului (stabilirea formei şi conţinutului);

2. Definirea raportului utilizând diverse instrumente:


• Report,

• Blank Report,

• Report Wizard sau Report Design;

3. Tipărirea raportului.
CONSTRUIREA ŞI UTILIZAREA RAPOARTELOR
Rapoartele pot fi construite în trei moduri:

• Crearea rapidă pe baza unei singure tabele sau interogări, prin


opţiunea Report. Implicit, raportul obţinut va fi de tip Tabular,
rezervându-se câte o coloană pentru fiecare câmp din tabelă
sau interogare.
• Apelarea la asistent (Report Wizard). Utilizatorul va construi
raportul, pas cu pas, sub îndrumarea vrăjitorului stabilind: sursa
datelor (tabelele şi/sau interogările), câmpurile de date care vor
fi reţinute în raport, modul de grupare şi ordonare a datelor,
formatul şi titlul raportului. În acest mod pot fi create rapoarte
pe baza mai multor tabele şi /sau interogări.
• Utilizarea ferestrei de proiectare (Report Design). În acest
mod de lucru utilizatorul va avea posibilitatea să creeze
rapoarte complexe, pe care să le personalizeze conform
cerinţelor sale. Ca şi în primul caz, raportul poate conţine date
dintr-o singură tabelă sau interogare.
Crearea rapidă – opţiunea Report
Rapoartele pot fi îmbunătăţite prin oţiunile meniurilor:
• Design – opţiuni pentru crearea şi formatarea raportului:
– Font,
– Grouping&Totals,
– Gridlines,
– Controls (Logo, Title, Insert Page Number, Date&Time),
– Etc.

• Arrange – opţiuni pentru îmbunătăţirea spectului raportului:


– AutoFormat,
– Control Layout,
– Control Alignment,
– Position,
– Etc.

• Page Setup - opţiuni pentru setarea paginilor raportului:


– Size,
– Portrait,
– Landscape,
– Margins,
– Etc.
Rapoartele în format tabelar au cinci secţiuni principale, la care mai pot fi

adăugate încă două, pentru gruparea datelor:

• Antetul şi subsolul raportului (Report Header şi Report Footer) -


Conţin elementele care vor apare o singură dată, la începutul /sfârşitul
raportului.
• Antetul şi sfârşitul paginii (Page Header şi Page Footer) - Includ
elementele care vor apare o singură dată pe fiecare pagină, la începutul
sau sfârşitul acesteia.
• Secţiunea de detaliu (Detail) - Este secţiunea principală a oricărui raport
şi conţine valorile câmpurilor din baza de date şi a expresiilor calculate.
• Antetul şi sfârşitul grupului (Group Header şi Group Footer) - Aceste
două secţiuni apar în rapoarte numai atunci când se doreşte gruparea
datelor. În secţiunea de sfârşit se pot afişa totaluri sau rezultate obţinute
din alte operaţiuni de agregare la nivelul grupului (ex. numărul
elementelor, valoarea medie, valoarea minimă şi valoarea maximă pentru
câmpurile numerice).
Exemplu de obţinere a unui raport
Situaţia vânzărilor după 20 iunie 2005, pe categorii de clienţi

Cerinţele raportului sunt următoarele:

• vor fi incluse următoarele informaţii: codul şi numele clientului,


numărul şi data facturii, valoarea totală şi valoare TVA;

• datele vor fi grupate pe clienţi (după codul clientului), iar


pentru fiecare client se va calcula şi afişa valoarea totală a
facturilor şi valoare totală TVA;

• datele vor fi ordonate după numărul facturii;

• se vor include totaluri pentru coloanele valoare totală şi


valoare TVA, atât pentru fiecare client, cât şi la sfârşitul
raportului.
Etapele de creare a raportului :

1. Crearea interogării pentru extragerea din tabele a


datelor necesare raportului.
2. Deschiderea ferestrei pentru construirea raportului
(se activează fereastra de dialog Report).
3. Adăugarea obiectelor în cele cinci secţiuni ale
raportului (din meniul Design, opţiunile Controls):
– Etichetă , pentru specificarea titlului raportului, denumirii
coloanelor sau a altor texte cu rol explicativ;
– Casetă de text , pentru adăugarea câmpurilor de date şi a
expresiilor de calcul ale căror valori vor fi afişate la
vizualizarea /tipărirea raportului.
– Linie şi dreptunghi , pentru trasarea liniilor şi chenarelor
necesare pentru “înfrumuseţarea” raportului;
– săgeată , pentru selectarea unui obiect din raport.
Etapele de creare a raportului :

4. Gruparea şi ordonarea datelor. Liniile din raport pot


fi ordonate sau grupate în funcţie de mai multe criterii
Pentru fiecare grup de date se pot introduce în raport alte două
secţiuni: antetul şi subsolul grupului.
Introducerea expresiilor de calcul

Fereastra cu proprietăţi Fereastra pentru introducerea


expresiilor de calcul
APLICAŢII, PROGRAME, PROCEDURI VBA ÎN ACCESS
• Ca orice aplicaţie din pachetul MS Office, pentru scrierea de
proceduri, Access foloseşte Visual Basic for Application.
• Programele VBA sunt numite proceduri şi sunt grupate în:
– Sub rutine - se referă la instrucţiuni VBA cuprinse între
Sub … End Sub şi care nu returnează o valoare:
Sub nume_proc()

End sub
– Funcţii procedurale - se referă la instrucţiuni VBA
cuprinse între Function … End Function şi care
returnează o valoare:
Function nume_funct(param)

End Function
Proceduri

• Orice procedură cuprinde un set de instrucţiuni care


îndeplinesc o anumită sarcină.
• În scrierea unei proceduri se folosesc:
– cuvinte cheie - cuvinte de culoare albastră, care
reprezintă cuvintele rezervate ale mediului VBA;
– cuvinte utilizator - celelalte cuvinte, de culoare
neagră, sunt de natura variabilelor sau valorilor.
Module

• La rândul lor, procedurile se regrupează în


module, care pot fi:
– clase de module şi
– module standard.
• Procedurile se scriu în VBA şi devin parte a
componentei module din proiectantul de BD.
• Tot ca proceduri şi funcţii se scriu şi
interogările aplicate asupra BD.
CREAREA DE MENIURI ÎN ACCESS

Pentru creare de meniuri într-o aplicaţie sunt două posibilităţi:

• scrierea de macro-uri,

• scrierea de proceduri sub VBA.

S-ar putea să vă placă și