Sunteți pe pagina 1din 137

Informatică Curs 11

Utilizarea S.G.B.D. MS Access în crearea și exploatarea bazelor de date II


I. Formulare

În cadrul aplicaţiilor cu baze de date, tabelele sunt actualizate prin intermediul unor machete
specializate numite formulare (forms). Formularele asigură:
a. Interfaţă prietenoasă (user-friendly) cu utilizatorul final, realizată prin intermediul diferitelor
controale (butoane, casete text, etc.) sau alte elemente grafice incorporate;
b. Actualizarea concomitentă a mai multor tabele prin intermediul subformularelor;
c. Reguli de validare suplimentare celor definite la nivelul tabelelor.
Formularele din Access creează interfaţa cu utilizatorul pentru tabele, având avantajul
prezentării datelor într-un mod atrăgător şi organizat. Formularele sunt compuse dintr-o colecţie de
elemente constructive individuale denumite controale sau obiecte de control. Formularele pot conţine şi
subformulare.
Formularele se pot crea în două moduri: folosind Form Wizard sau prin proiectare cu Form
Design.

1. Crearea unui formular simplu cu Form Wizard


Această opţiune permite crearea unui formular care conţine câmpuri din unul sau mai multe
tabele sau interogări. Form Wizard creează structura generală a formularului şi adaugă controale de tip
casetă de text pentru afişarea şi editarea datelor.
Exemplu:
Crearea unui formular pentru introducerea notelor în tabela „Note” a bazei de date „Studenti”.
Se alege opţiunea Form Wizard, apoi din lista ascunsă Tables/Queries se selectează tabelele care vor
constitui sursa de date a formularului (Studenti, plane, note); din fiecare tabel se selectează din lista de
câmpuri disponibile, doar acele câmpuri care ne interesează:

1
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Câmpurile selectate provin din trei tabele, aşa că Access va solicita modul în care dorim să fie afişate
datele:

Dacă se doreşte afişarea datelor organizate după studenţi, se va accepta opţiunea „by studenti” şi
opţiunea „Form with subform”. În acest caz Access va crea un formular principal în care este inclus un
subformular. Acest subformular este legat de formularul principal prin intermediul unui câmp comun
(Marca în acest caz). Selectând în continuare opţiunea Next, va fi solicitat aspectul subformularului:

2
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

care poate fi ales, în acest caz, „Tabular”.


Se va solicita în continuare stilul întregului formular, prin selectarea unui stil predefinit:

În continuare se vor solicita denumirile celor două formulare (cel principal şi cel secundar):

3
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Subrutina Form Wizard creează automat şi formularul principal şi subformularul. După crearea
formularului aplicaţia Form Wizard afişează formularul în mod view:

Acest formular poate fi folosit imediat, dar de obicei se fac anumite modificări legate de aspectul
formularului.

2. Folosirea ferestrei Form Design

Pentru a modifica aspectul formularului creat se poate alege opţiunea Design View, pentru a deschide
Form Design. Fereastra conţine o bară cu instrumente „Toolbox”, care permite adăugarea în formular a
unor elemente de control.

Elementele ferestrei Form Design.


4
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Sunt cinci secţiuni într-un formular: Form Header (antetul formularului), Page Header (antetul
paginii), Detail, Page Footer (subsolul paginii) şi Form Footer (subsolul formularului).
Fereastra Form Design conţine următoarele elemente principale:
- bara cu instrumente Form Design
- bara cu instrumente de formatare
- rigla gradată verticală şi orizontală
- bara de derulare verticală şi orizontală
- bara Form Header care defineşte înălţimea secţiunii care defineşte antetul formularului; această
bară va fi afişată doar dacă formularul conţine un antet şi un subsol. Secţiunea Form Header conţine
text, imagini şi alte controale în partea superioară a formularului. Ea apare numai pe prima pagină a
unui formular cu mai multe pagini; celelalte pagini ale formularului pot conţine opţional o secţiune
Page Header. (Secţiunile Page Header şi Form Header nu sunt vizibile în modul de afişare Form).
Pentru aplicarea acestor secţiuni se pot alege opţiunile din meniul View, Form Header/Footer
respectiv Page Header/Footer.
- Bara Form Detail desparte secţiunea Form Header de restul formularului. Pe această bară se
găsesc controale care pot afişa date din tabele şi interogări, plus elemente de date statice.
- Bara Form Footer determină înălţimea secţiunii subsolului formularului, având u rol asemănător
secţiunii Form Header. Dacă se tipăreşte un formular cu mai multe pagini, secţiunea Form Footer apare
numai în partea de jos a ultimei pagini; pentru paginile anterioare tipărite pot apărea opţional secţiuni
Page Footer.

Bara cu instrumente Form Design. Butoane standard

Buton Funcţie Opţiune din meniu


Afişare formular în mod Run View, Form View
Salvare File, Save
Tipăreşte toate înregistrările din tabel, folosind formularul afişat Nu există
pe ecran pentru formatarea datelor tipărite şi atributele curente
pentru tipărire
Previzualizare înainte de tipărire File, Print Preview
Verificare ortografie Tools, Spelling
Tăiere, copiere, lipire Edit, Cut, Copy,
Paste
Copiază atributele obiectelor selectate la un alt obiect de acelaşi Nu există

5
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

tip
Anulează ultima modificare făcută în formular Edit, Undo
Inserează un nou control Hyperlink sau modifică unul existent Insert, Hyperlink
Afişare listă câmpuri – sursă de date pentru formular View, Field List
Afişează sau închide caseta cu instrumente View, Toolbox
Aplică mai multe atribute de formatare predefinite pentru formular Format, Autoformat
Deschide editorul VBA View, Code
Afişează fereastra Properties ale unui control, sau pentru una View, Properties
dintre cele două secţiuni ale formularului
Afişează casetele Build Wizard pentru obiectul sau proprietatea Nu există
selectate de pe formular.
Afişează fereastra Database Window, 1 Database
Creează un nou obiect; pentru a vedea lista derulantă cu obiectele Nu există
ce pot fi create, se efectuează un click cu butonul din dreapta a
mouse-ului

Folosirea funcţiei Autoformat

Această funcţie permite aplicarea unui format predefinit unui întreg formular. Microsoft Access
are mai multe formate predefinite însă se poate defini şi un format propriu care apoi se va aplica cu
opţiunea Autoformat.
Crearea, personalizarea şi ştergerea stilurilor Autoformat
Pentru a crea un nou stil Autoformat sau pentru a modifica unul existent se efectuează următorii
paşi:
1. Se creează un formular modificându-i aspectul
2. Se selectează opţiunea Autoformat
3. Se selectează opţiunea Customize
4. Se selectează opţiunea “Create a new Autoformat based on the Form ‘studenti’

6
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

5. Se salvează noul stil creat care se va putea utiliza în continuare ca şi celelalte stiluri
predefinite.

Fereastra Properties a formularului

Se pot selecta proprietăţile unui formular cu ajutorul opţiunii properties, dar având formularul
selectat. Formularul se poate selecta de la opţiunea Select Form (meniul Edit), sau efectuând un clic de
mouse pe colţul stânga sus al formularului ca în figura următoare:

După selecţia formularului şi alegerea opţiunii “Properties” pentru formular, pe ecran va apare
fereastra Properties:

În această fereastră se pot vizualiza şi


modifica toate proprietăţile formularului.
Proprietăţile sunt grupate pe categorii:
- Proprietăţi referitoare la formatul
formularului (Pagina Format)
- Proprietăţi legate de sursa de date a
formularului (Pagina Data)

7
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

- Proprietăţi legate de evenimentele care au loc asupra formularului când acesta este activ
(Pagina Event)
- Alte proprietăţi (Pagina Other).
Toate aceste proprietăţi se regăsesc în pagina All.

Modificarea culorii unui obiect


Culoarea de fundal Back Color se poate modifica cu ajutorul opţiunii Fill/Back Color de pe
bara cu butoane de formatare (Butonul ).
Schimbarea imaginii de fundal
Se poate folosi o imagine bitmap pentru fundal folosind orice fişier grafic (bmp, gif, jpg, pcx,
etc) Capacitatea de a folosi fişiere comprimate este nouă în Access 2000. Pentru a schimba
imaginea fundal a formularului se alege opţiunea Picture din fereastra de proprietăţi a
formularului (pagina Format).
Culoarea de prim plan (proprietatea Fore Color – butonul Font/Fore Color ) nu se poate
aplica decât controalelor.
Butonul Special Effects permite simularea unor efecte speciale pentru obiectele de
control de pe formular.
Butonul Line/Border Width permite stabilirea grosimii chenarului butoanelor.

Alinierea controalelor pe un formular

În fereastra Form Design există o grilă care poate fi utilizată pentru menţinerea alinierii pe
orizontală a obiectelor şi a controalelor. Pentru a determina alinierea controalelor la grilă se poate
selecta opţiunea Snap to Grid din meniul Format, chiar dacă grila nu este vizibilă. Pentru a determina
adaptarea dimensiunilor obiectelor de control la spaţierea grilei se poate alege Format, Size, To Grid.
Pentru adaptarea controlului la conţinut se poate alege opţiunea Format, Size, To Fit.
Alinierea unui grup de controale se poate face la stânga, la dreapta, sus, jos sau la grilă, alegând
opţiunea Align to din meniul Format.
Controalele pot fi grupate, degrupate, sau trimise în fundal (Back) cu opţiunile Group,
Ungroup, Send To Back din meniul Format.
Afişarea sau neafişarea grilei poate fi efectuată din meniul View, Grid. Pentru modificarea
spaţierii grilei unui formular se pot selecta din fereastra Properties a formularului opţiunile Grid X şi
Grid Y.
8
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

3. Prezentarea casetei cu instrumente Access. Controale în formulare.


Am văzut că controalele sunt obiecte grafice (elemente vizuale) ce sunt incluse în formulare sau
rapoarte, în scopul editării/afişării datelor sau executării unor acţiuni (ex.: etichete, casete text, butoane,
etc.). Adăugarea controalelor se poate face numai în etapele de creare sau modificare a formularelor,
astfel:
a) Din fereastra Toolbox se selectează butonul aferent controlului dorit;
b) Se descrie, cu ajutorul mouse-lui, o zonă dreptunghiulară pe suprafaţa formularului, definind astfel
poziţia şi dimensiunea noului control.
Controalele pot fi clasificate în funcţie de următoarele criterii:
a. Rol :
• Controale pentru editarea şi afişarea datelor (ex.: casetele text, etichetele etc.);
• Controale pentru executarea unor acţiuni (ex :butonul de comandă);
• Controale pentru afişarea graficelor (ex.: imagini, obiectele cadru etc.).
b. Sursa de date:
• Controale legate (bounds) - sunt controale ce afişează sau editează datele din câmpuri (ex.:
o casetă text ce va actualiza câmpul Data factură din tabela Factură)',
• Controale nelegate (unbounds) - sunt independente de realizările câmpurilor, aşadar, nu
permit actualizarea acestora, în general, din această categorie fac parte controalele calculate
(ex.: o casetă text ce va afişa totalul facturii), dar şi controalele care, prin însuşi specificul lor,
nu pot fi ataşate câmpurilor (ex.: butoanele de comandă, etichetele, cadrele etc.).
c. Structură:
• Controale elementare (butoane, casete text, etichete etc.)
• Controale container - înglobează alte controale (ex.: grup de opţiuni, Control Tag etc.).
Principalele controalele disponibile în fereastra Toolbox sunt prezentate mai jos:

9
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Instrument Denumire Funcţie


Select Objects Permite selecţia unuia sau a mai multor obiecte de pe
formular
Control Wizards Activează sau dezactivează subrutinele Control Wizard,
care ajută la configurarea unor controale complexe
Label Creează un text static (descriptiv)
TextBox Creează o casetă pentru afişarea şi editarea datelor de tip
text
Option Group Creează un cadru în care se pot pune mai multe butoane
de comutare, de validare sau de opţiune
Toggle Button Creează un buton care trece din starea On (Yes) în Off
(No)
Option Button Creează un buton rotund care se comportă ca un Toggle
Button
Check Box Creează o casetă de validare care comută din starea On în
starea Off
Combo Box Creează o casetă combinată cu o casetă de text editabilă
în care se poate introduce o valoare, precum şi o listă
derulantă din care se poate selecta o valoare
List Box Creează o casetă cu listă derulantă din care se poate
selecta o valoare
Command Button Creează un buton care declanşează un eveniment care

10
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

poate executa o procedură VBA


Image Afişează o imagine statică într-un formular sau raport
Unbound Object Adaugă un obiect creat cu o altă aplicaţie, de ex. Paint
Bound Object Afişează conţinutul unui câmp OLE dintr-o înregistrare,
dacă este un câmp grafic
Page Break Produce un salt la pagină nouă la imprimantă
Tab Control Inserează un control cu etichete pentru crearea
formularelor cu etichete
Subform Introduce un subformular în formularul principal sau un
subraport în raportul principal
Line Creează o linie dreaptă
Rectangle Creează un dreptunghi
More Controls Deschide o listă derulantă cu controale ActiveX,
controale care nu fac parte din Access

În timpul proiectării, un control poate fi selectat prin efectuarea unui click pe controlul respectiv
sau prin selectarea lui din lista Object din toolbar-ul Formatting. Selecţia multiplă se poate realiza prin
menţinerea apăsată a tastei <Shift> în timpul selectării fiecărui control.
Un control selectat poate fi mutat, redimensionat şi şters. Poziţionarea unui control selectat se
poate face fie folosind combinaţiile de taste <CTRL> + click pe fiecare obiect, fie cu ajutorul mouse-
ul. În acest ultim caz, pointer-ul mouse-ul trebuie deplasat pe marginea controlului până când va lua
forma  , după care, folosind tehnica drag-drop, obiectul poate fi mutat după voie. în mod similar,
pentru a muta un singur control dintr-un grup de controale selectate, mouse-u\ trebuie poziţionat pe
punctul de mutare, până când pointer-
ul va lua forma , după care controlul poate fi mutat folosind aceeaşi tehnică drag-drop.
Modificarea dimensiunii unui control selectat poate fi realizată fie prin folosirea tastei
<SHIFT> în combinaţie cu una din tastele de direcţionare (→ ), fie cu ajutorul mouse-lui.
Ştergerea controlului selectat se face cu ajutorul tastei <Delete> sau prin selectarea opţiunii
Edit/Delete din meniul sistem.

Proprietăţile controalelor
Proprietăţile unui control sunt afişate în fereastra Properties, atunci când controlul respectiv
este selectat. Ca şi în cazul formularelor, metodele aferente controalelor sunt grupate în patru categorii
11
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

(Format, Data, Events, Other) şi sunt disponibile numai prin intermediul macro-urilor sau modulelor
VBA.
Cele mai uzuale proprietăţi sunt:
1. Proprietăţi din categoria Format:
• Format - specifică modelul (mască} de afişare a datelor (numai pentru casetele text);
• Decimal Places - indică numărul de zecimale cu care vor fi afişate datele (numai pentru
casete text);
• Caption - conţine textul afişat de control (numai pentru controalele needitabile: etichete,
butoane etc.);
• Visible - determină afişarea sau nu a controlului în timpul execuţiei formularului;
• Left - stabileşte coordonata orizontală a colţului stânga-sus al controlului;
• Top - indică poziţia pe verticală a colţului stânga-sus;
• Width - stabileşte lăţimea controlului;
• Height - stabileşte înălţimea obiectului;
• Back Style - determină modul de afişare: control normal sau transparent;
• Back Color - stabileşte culoarea de fundal a controlului;
• Special efect - specifică efectele tridimensionale ale controlului;
• Border Style - indică tipul linie folosit la trasarea bordurii controlului
(transparent, continuu, punctat etc.);
• Border Color - determină culoarea bordurii;
• Border Width - grosimea bordurii;
• F ore Color - culoarea textului afişat de control;
• Font Name - tipul fontului aferent textului din control;
• Font Size - dimensiunea fontului;
• Picture - specifică numele şi calea fişierului grafic ce va fi afişat în interiorul controlului (numai
pentru butoane şi controale de tip imagine);
• Text Align - stabileşte modul de aliniere a textului în interiorul controlului.
2. Proprietăţi din categoria Data:
• Control Source - conţine sursa de date a controlului şi poate fi:
• Numele unui câmp (pentru controale legate);

12
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

• O expresie de calcul precedată de semnul "=" (pentru casete text nelegate). Exemplu: o
casetă text ce va afişa valoarea unui material contractat, pe baza preţului şi a cantităţii
contractate, va conţine în proprietatea control source expresia: =[Cantitate] *[Preţ]
unde [Cantitate] şi [Preţ] sunt denumirile a două câmpuri (sau controale) din formular;
• Input Mask- indică formatul folosit la introducerea datelor (numai pentru casete text)
• Default value - specifică valoarea implicită (valoarea prin lipsă) a controlului. Exemplu:
pentru o casetă text destinată actualizării unui câmp de tip Date/Time, această proprietate poate conţine
funcţia Date(), care returnează data sistemului: =Date()
• Validation Rule - conţine regula după care se face validarea datelor introduse în control. La
execuţia formularului, mai întâi se verifică regula de validare a controlului şi apoi cea a câmpului
ataşat. Proprietatea validation rule poate fi folosită pentru definirea unor restricţii asupra câmpurilor
din tabele diferite;
• Validation Text - specifică mesajul ce va fi afişat, atunci când regula de validare este
încălcată;
• Enabled - activează sau dezactivează controlul. Un control dezactivat va fi inaccesibil la
execuţia formularului;
• Locked - serveşte la protejarea datelor afişate de control (controlul va deveni read-only).
3. Proprietăţi din categoria Event - conţin denumirile funcţiilor, procedurilor eveniment sau macro-
urilor, ce vor fi executate la declanşarea evenimentelor ataşate. Cele mai uzuale evenimente sunt:
Eveniment Poate fi Proprietatea Descriere
abandonat? eveniment
Apare înaintea salvării datelor din control în câmpul ataşat
BeforeUpdate Da Beforeilpdate acestuia. Evenimentul poate fi folosit pentru validarea
datelor introduse în control.
Se declanşează în momentul în care datele din control
Change Nu On Change
(casetă text sau casetă combinată sunt modificate.
Enter Nu On Enter Evenimentul este înregistrat în momentul accesării
Declanşat, atunci când se părăseşte controlul curent în
Exit Da On Exit vederea accesării altui control din formular. Acest eveniment
nu apare în cazul în care controlul este în curs de editare şi se

13
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

activează o altă fereastră.

Apare în momentul focalizării controlului. Diferă de la


evenimentul On Enter prin aceea că se declanşează chiar şi
Got Focus Nu On Got Focus
atunci când utilizatorul comută între o altă fereastră şi
formularul curent.
Evenimentul este înregistrat la defocalizarea
Lost Focus Nu On Lost Focus controlului (fie prin trecerea la alt control din cadrul
formularului, fie prin activarea altei ferestre).
Ordinea în care sunt declanşate evenimentele la activarea/dezactivarea unui control este următoarea:
Enter->GotFocus->Exit->LostFocus 4. Alte (Other) proprietăţi:
• Name - conţine numele controlului. La creare, fiecare control primeşte un nume unic, format
din tipul său plus un număr de ordine (ex.: TextBoxS). Utilizatorul poate modifica acest nume,
schimbându-1 cu unul mai sugestiv. Controalele legate, generate automat de Wizards, au numele
identice cu denumirile câmpurilor ataşate;
• Status Bar Text - specifică mesajul afişat în bara de stare, în momentul selectării controlului;
• Tab Stop - dacă este setată pe valoarea Yes, atunci controlul poate fi accesat cu ajutorul tastei TAB;
• Tab Index - specifică numărul de ordine al controlului, în funcţie de care acesta va fi accesat cu
ajutorul tastei TAB. Toate controalele editabile vor primi un număr de ordine unic, la creare. Acest
număr poate fi modificat fie prin această proprietate, fie prin opţiunea View-TabOrder din meniul
Access;
• Control Tip Text - conţine mesajul afişat într-o fereastră ToolTip.
Pentru crearea unor controale complexe (casete combinate, casete de tip listă etc.), proiectantul poate fi
asistat de programele control wizards.
Exemplu: Se doreşte ca adăugarea clientului în formularul Contractat să se facă prin selectarea acestuia
dintr-o listă ce conţine toţi clienţii firmei.
Pentru câmpurile ce îndeplinesc rolul de cheie externă, este recomandat ca în formulare să se
creeze controale de tip combo box sau list box, deoarece, datorită referinţei de integritate, cheile
externe nu admit decât valori comune cu cheile primare pe care le referă (sau valoarea nuli). Pentru

14
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

combo box-n proprietatea Limit To List trebuie setată pe valoarea Yes (nu se admit valori care nu există
în listă).
Pentru crearea unei casete combinate, prin intermediul Control Wizards, se parcurg următoarele
etape:
1. Se activează butonul Control Wizards din fereastra Toolbox (dacă nu este deja activat);
2. în aceeaşi fereastră, se selectează butonul combo box;
3. Se plasează mouse-ul în zona dorită pe formular şi se execută click;
4. în fereastra Combo Box Wizard, se selectează prima variantă (I want the combo box to look
up...).
Cele trei opţiuni afişate au următoarele semnificaţii:
a. Lista va conţine valorile unui câmp dintr-o tabelă sau interogare. Controlul este utilizat de regulă,
pentru actualizarea cheilor externe.
b. Caseta combinată conţine valori definite de utilizator. Acest tip este utilizat pentru câmpuri ce
prezintă un număr relativ redus de valori standard (unitate de măsură, valuta etc.).
c. Selectarea unei valori din listă determină saltul la înregistrarea aferentă în sursa de date a
formularului. Acest control este folosit în scopul facilitării operaţiilor de regăsire a înregistrărilor dintr-
un formular.
5. Se specifică tabela sau interogarea ce va furniza date listei de valori a controlului (tabela Client)
6. Se aleg câmpurile tabelei ce vor fi afişate în lista de valori.
7. Se ajustează dimensiunea fiecărei coloane din lista de valori (prima coloana este implicit ascunsă).
8. Se alege câmpul din sursa de date a formularului ce va fi actualizat cu valoarea selectată din listă
(câmpul ataşat controlului).
9. Se specifică eticheta ataşată controlului casetă combinată:
Notă: Dacă, din diferite motive, Wizard Controls nu funcţionează (de exemplu, nu este setată această
opţiune le instalarea programului Access), proiectantul va fi nevoit să seteze singur proprietăţile
controlului combo box:
• Column Widths - specifică dimensiunea fiecărei coloane din listă (valorile sunt separate de
caracterul ";")
• List Width - conţine lăţimea totală a listei derulante.
• Row Source Type- specifică tipul sursei de date pentru valorile din listă (tabelă/interogare,
valori definite de utilizator, realizările unui câmp).

15
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

• Row Source- conţine denumirea tabelei, a interogării (sunt admise şi fraze SQL Select} sau valorile
predefinite de utilizator (separate de caracterul ";").
• Bound Column - va conţine numărul de ordine al coloanei care va actualiza câmpul ataşat
controlului (coloana respectivă poate fi ascunsă).
• Limit To List - permite sau nu utilizatorului să introducă valori ce nu există în lista controlului.
Setarea acestei proprietăţi pe Yes va conduce la declanşarea evenimentului On Not in List ori de câte ori
se introduce o valoare inexistentă în listă.
Formulare/subformulare
Rolul subformularelor este de a actualiza mai multe tabele prin intermediul unei singure ferestre
(formular). Subformularele sunt create în general pentru anumite tabele dependente (tabele în care
câmpul comun este cheie externă), din cadrul unei relaţii de tip 1-n.
Definirea unui subformular presupune înglobarea (includerea) unui formular în cadrul altui
formular, primul devenind subformular, iar al doilea, formular principal.
Avantajele oferite de utilizarea subformularelor constau în:
1. Posibilitatea actualizării mai multor tabele printr-un singur formular.
2. Sincronizarea automată a subformularului cu formularul principal, operaţie care constă în:
• actualizarea automată a câmpului cheie externă din subformular, cu valoarea deţinută de câmpul
cheie primară din formularul principal;
• filtrarea automată a înregistrărilor din subformular, în funcţie de valoarea cheii primare din
formularul principal.
Pentru definirea unui subformular se procedează astfel:
1. Se deschide în modul Design, formularul ce se doreşte a fi formular principal;
2. Se activează fereastra bazei de date;
3. Folosind tehnica drag&drop se depune formularul ce se dorește a fi subformular, ]n interiorul
formularului principal.
4. Se salvează formularul principal.

16
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Formularele conţin controale de mai multe tipuri. Din acest motiv un formular este considerat
drept o colecţie de controale. În Access, accesarea unui element al unei colecţii , se face prin expresii
de genul:
NumeColecţie!NumeElement (Forms!Produse1....) sau NumeColecţie[Index] sau
17
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

NumeColectie(“NumeElement”)
SubFormularele nu aparţin acestei colecţii, aşa încât pentru a face referire la un subformular trebuie
folosită expresia:
NumeControlSubform.Form!NumeControl
unde NumeControlSubform este numele controlului de tip.

1. Formulare asociate tabelelor Access


Formularele sunt ferestre folosite în scopul interogării şi actualizării datelor din tabelele bazei de date.
Înregistrarea ale cărei date sunt afişate în cadrul formularului la un moment dat se numeşte înregistrare
curentă. Valorile afişate pot fi modificate de către utilizator, iar aceste schimbări se vor reflecta direct
în cadrul tabelei pe baza căreia a fost realizat formularul. Folosind butoanele de navigare putem trece la
prima înregistrare a tabelului, la cea anterioară/următoare sau la ultima înregistrare. Ultimul buton din
lista ne dă posibilitatea adăugării unei noi înregsitrări. Ştergerea se poate face direct din formular
folosind tasta Del, după ce în prealabil s-a selectat înregistrarea dorită.
1.1 Exemple şi exerciţii
1.1.1 Se va proiecta, de data aceasta în modul Design, un formular care să permită consultarea tabelei
Infoclienţi din baza de date Clienti, precum şi actualizarea conţinutului acesteia – adăugarea,
modificarea şi ştergerea de înregistrări.
- Noul formular va fi deschis în Design View şi alături de acesta se va afişa şi o fereastră ce conţine
câmpurile tabelei Infoclienţi.
- Se selectează toate câmpurile acesteia, după care se trag cu mouse-ul toate aceste câmpuri în cadrul

formularului.

18
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

- Se comută în modul Form View iar formularul ce va fi afişat va arăta ca cel prezentat în figura
următoare.

19
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

- Formularul va afişa valorile ce se află în câmpurile tabelei pentru înregistrarea curentă. Numărul
acesteia este indicat în partea inferioară a ferestrei, alături de butoanele ce pot fi folosite pentru trecerea
la o nouă înregistrare. Butonul aflat în extrema dreaptă poate fi utilizat pentru adăugarea unei noi
înregistrări.
Valorile afişate în cadrul formularului pot fi modificate de către utilizator iar aceste schimbări se vor
salva automat în baza de date.
Zona din partea stângă a formularului este folosită pentru selectarea înregistrării curente. Apăsarea
tastei Del va avea ca efect ştergerea respectivei înregistrări. Tot pentru ştergerea înregistrării curente se
mai pot folosi opţiunile Delete şi Delete Record ale meniului Edit.
Utilizatorul poate reveni în Design View pentru a schimba proprietăţile formularului şi ale obiectelor
afişate în cadrul acestuia. Text Box-urile pot fi redimensionate şi repoziţionate, textul ce apare în bara
ferestrei poate fi schimbat, etc.
După efectuarea tuturor modificărilor şi validarea rezultatelor folosind modul de vizualizare Form
View, formularul va fi salvat astfel încât să poată fi folosit ulterior.
- Proiectarea formularului cu varianta Form Wizard a fost prezentată anterior în cadrul temei III.
- Proiectarea prin alegerea uneia dintre opţiunile AutoForm: Columnar, AutoForm: Tabular sau
AutoForm: Datasheet, formularul va fi creat în mod direct, fără a mai fi necesară parcurgerea unor
paşi suplimentari.
Astfel, dacă se optează pentru varianta AutoForm: Tabular, formularul obţinut va fi asemănător cu cel
din figura următoare.

În partea inferioară a ferestrei avem zona de navigare care dă informaţii despre numărul înregistrării
curente şi despre numărul total de înregistrări ce sunt conţinute de către tabela Infoclienţi. Se pot folosi
butoanele din această zona pentru deplasarea pe o nouă înregistrare. Înregistrarea curentă este marcată
cu un semn special în zona din stânga, iar pe ultima linie se găseşte o înregistrare goală care poate fi
folosită
20
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

pentru adăugarea de noi valori. Utilizatorul poate comuta în modul Design View pentru a schimba
proprietăţile formularului şi ale obiectelor afişate în cadrul acestuia. Salvarea formularului face posibilă
utilizarea ulterioară a acestuia.
- Opţiunea de proiectare Chart Wizard dă posibilitatea obţinerii unui formular care să conţină un grafic
realizat pe baza datelor conţinute de către tabela selectată.
Graficul obţinut afişează doar valorile câmpurilor tabelei în forma dorită, modificarea acestora nefiind
posibilă. Pentru obţinerea graficului, utilizatorul va trebui să parcurgă integral sau parţial paşii wizard-

ului Chart Wizard. Proprietăţile formularului şi ale obiectelor conţinute vor putea fi ulterior modificate
prin comutarea în modul Design View.
1.1.2 Exemplu de creare a unui formular de tip tab-uri multiple
Se va proiecta în modul Design un formular pe baza tabelei Infoclienti şi se va folosi instrumentul Tab
Control din caseta Toolbox pentru realizarea paginilor multiple. Proprietăţile celor două tab-uri
obţinute implicit, vor fi modificate astfel încât să se numească General respectiv Detaliu, pe suprafeţele
acestora trăgându-se câmpurile dorite din cadrul tabelei Infoclienti, aşa cum se observă în figura
următoare.

21
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

respectiv,

22
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

1. Controale uzuale folosite în construirea formularelor


În acest curs sunt exemplificate modalităţile în care controalele uzuale pot fi utilizate pentru
crearea formularelor Microsoft Access:
1 Label şi Text Box
2 Command Button
3 Option Group
4 Check Box
5 Spin Button
6 Combo Box
7 List Box

1.1. Label şi Text Box


Formularea problemei
Să se proiecteze un formular care calculează preţul de vânzare al unui produs prin aplicarea
unui adaos comercial de 10% la preţul acestuia de achiziţie. Valoarea de achiziţie se introduce în cadrul
formularului. Atunci când se face click în câmpul destinat preţului de vânzare, valoarea acestuia se
calculează în mod automat, ca în imaginea de mai jos.

Rezolvare
Prin Label înţelegem o casetă ce afişează date de tip text folosite în general pentru descrieri.
Spre deosebire de Label, Text Box-ul permite pe lângă afişarea datelor şi introducerea, editarea
acestora.

Paşii ce trebuie urmaţi pentru rezolvarea problemei sunt următorii:


1. Se creează un nou formular folosind opţiunea Create Form in Design View din
Database Window. În mod echivalent se poate folosi opţiunea Form a meniului Insert după care
se selectează Design View.
2. Pentru a modifica caracteristicile ferestrei în care va fi afişat formularul, va trebui să
accesăm proprietăţile acesteia executând click dreapta în zona în care se intersectează ruler-ul
vertical cu cel orizontal şi alegând din meniul contextual opţiunea Properties. La acelaşi efect
se ajunge şi dacă se realizează dublu click direct în zona respectivă.
3. Proprietăţile pe care va trebui să le modificăm pentru ca fereastra să arate ca cea
prezentată în enunţul problemei sunt:
a. Caption semnifică textul ce se va afişa în bara ferestrei. Se va introduce
23
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Calcul Pret Vanzare


b. Record Selectors se va seta pe No pentru a inhiba afişarea în partea stângă a
ferestrei a unei zone ce permite selectarea înregistrării curente
c. Navigation Buttons se va pune pe No pentru a preveni afişarea numărului
înregistrării curente alături de butoanele de navigare (salt la prima înregistrare, la
precedenta, la următoarea sau la ultima)
d. Dividing Lines se va seta pe No pentru a nu se trasa linia orizontală ce desparte
cele două zone prezentate anterior
4. Daca fereastra ce conţine controalele pe care le putem include în cadrul formularului nu este
activă, atunci va trebui să acţionăm butonul Toolbox ( ) din bara de instrumente sau să accesăm
opţiunea respectivă din meniul View. Controalele pe care le vom utiliza vor fi Text Box şi Label,
simbolizate în fereastra cu instrumente prin şi .

5. Se adaugă primul Text Box destinat introducerii preţului de achiziţie prin apăsarea butonului
corespunzător din bara cu instrumente ( ) urmată de executarea unui click în interiorul
formularului. O altă variantă pe care o avem la dispoziţie o reprezintă glisarea mouse-ului în
interior formularului după apăsarea butonului Text Box. Dimensiunea obiectului şi poziţia acestuia
în cadrul ferestrei pot fi schimbate cu ajutorul mouse-ului. Pentru descrierea conţinutului Text Box-
24
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

ului, în partea stângă a acestuia este adăugat în mod automat şi un obiect de tip Label. Cele două
controale pot fi mutate concomitent sau se poate opta pentru deplasarea individuală a acestora prin
folosirea elementului aflat în dreptul colţului stânga sus.

Textul explicativ Preţ achizitie se va introduce în cadrul Label-ului aflat în stânga Text Box-ului prin
selectarea obiectului, apăsarea butonului stâng al mouse-ului şi adăugarea textului dorit. .

O altă modalitate ar fi accesarea proprietăţii Caption şi modificarea valorii din dreptul acesteia. De
asemenea, în partea dreaptă se va adăuga un nou Label ce va conţine textul lei semnificând moneda în
care este exprimat preţul de achiziţie. Mai întâi se va apăsa butonul corespunzător din fereastra cu

instrumente ( ) după care se va executa click în interiorul formularului, se va introduce textul dorit şi
se va poziţiona corect obiectul la dreapta Text Box-ului ce conţine preţul de achiziţie.

25
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Pentru a accesa proprietăţile Text Box-ului va trebui să executăm click dreapta pe controlul respectiv şi
să alegem din meniul contextual opţiunea Properties. Obiectul va fi denumit PretA (proprietatea
Name).

În plus, conţinutul Text Box-ului va fi aliniat la dreapta (proprietatea Text Align).


Valorile valide pentru controlul nostru sunt doar cele numerice. Putem specifica acest lucru prin setarea
proprietăţii Format la valoarea Standard. Valorile acceptate vor fi doar cele numerice şi în plus acestea
vor fi automat formatate cu două zecimale şi simbol despărţitor pentru mii.

6. Următorul pas îl reprezintă adăugarea celor trei Label-uri destinate adaosului comercial în care vom
avea textele Adaos, 10 şi %. Modalitatea de adăugare este asemănătoare cu cea descrisă la pasul
anterior.

26
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Valoarea adaosului comercial va trebui să fie aliniată la dreapta. Pentru aceasta este nevoie să accesăm
proprietăţile obiectului executând click dreapta pe controlul în cauză şi să alegem din meniul contextual
opţiunea Properties. Proprietatea Text Align va fi setată pe Right, ca în figura următoare.

În continuare se vor adăuga obiectele corespunzătoare preţului de vânzare prin repetarea operaţiunilor
descrise la punctul 5. Numele noului control de tip Text Box va fi PretV.
8. Pentru a vedea cum arată formularul proiectat, este nevoie să comutăm în modul de

vizualizare Form View. Această comutare se poate face apăsând butonul din bara de instrumente

27
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

sau accesând opţiunea Form View din meniul View sau din cel contextual (click dreapta).

9. În continuare va trebui să adăugăm codul prin care se va calcula preţul de vânzare al produsului
atunci când utilizatorul execută click în caseta corespunzătoare. Preţul de vânzare se obţine prin
adăugarea unui adaos comercial de 10% la preţul de achiziţie. Pentru început va trebui s ă
revenim în modul Design View prin apăsarea butonului din bara de instrumente sau prin selectarea
opţiunii respective din meniul View sau din meniul contextual. Apoi vom accesa proprietăţile Text
Box-ului care va conţine preţul de vânzare executând click dreapta pe acesta şi alegând opţiunea
Properties din meniul contextual. Ne deplasăm în secţiunea Event şi ne poziţionăm pe evenimentul
On Click care se declanşează atunci când utilizatorul efectuează un click de mouse în caseta
respectivă. Alegem din lista elementul numit [Event Procedure] şi apăsăm pe butonul din dreapta (
).

În fereastra care apare va trebui să introducem codul următor:


Private Sub PretV_Click()PretA.SetFocus pret_achizitie =
CDbl(PretA.Text)adaos = pret_achizitie * 10 /
100pret_vanzare = pret_achizitie + adaosPretV.SetFocus
PretV.Text = pret_vanzare
End Sub
Codul anterior preia din formular preţul de vânzare introdus de către utilizator, îl converteşte din text în
valoare numerică şi calculează adaosul comercial ce trebuie aplicat după care formează preţul final de
vânzare prin însumarea preţului de achiziţie şi a valorii adaosului. Închidem fereastra în care am
introdus codul, comutăm în modul Form View, introducem 3 000 000 în caseta corespunzătoare
preţului de achiziţie după care efectuăm un click de mouse în dreptul preţului de vânzare. În acest
moment valoarea acestuia se va calcula în mod automat şi va fi afişată în cadrul formularului, ca în

28
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

figura următoare.

10. Pentru a putea utiliza ulterior formularul astfel creat este nevoie să efectuăm salvarea acestuia prin
accesarea opţiunii Save/Save As a meniului File sau prin apăsarea
butonului din bara de instrumente. După ce am salvat formularul acesta va apărea în fereastra bazei
de date la categoria Forms.

1.2. Command Button


Formularea problemei
Să se modifice formularul proiectat la exemplu anterior astfel încât valoarea adaosului
comercial perceput să se calculeze şi să se afişeze prin apăsarea unui buton.

Rezolvare
Prin Command Button înţelegem un buton prin a cărui apăsare vom genera un eveniment la care
putem asocia o serie de prelucrări.

Paşii ce trebuie urmaţi pentru rezolvarea problemei sunt următorii:


1. În fereastra bazei de date se execută click dreapta pe formularul creat anterior şi se alege opţiunea
Save As. În fereastra care se deschide introducem un nume pentru formular, Valoare Adaos, după
care apăsăm butonul OK.

29
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Noul formular va apărea în fereastra bazei de date la categoria Forms, alături de formularul original
din care a fost obţinut.

1 Se intră în modul Design View şi se deplasează mai jos Text Box-ul corespunzător preţului de
vânzare împreuna cu Label-ul ce conţine moneda în care este exprimată valoarea din casetă.
2 Imediat după linia ce conţine procentul adaosului comercial vom adăuga un buton

(Command Button ) prin selectarea opţiunii respective din fereastra cu instrumente () şi


efectuarea unui click sau glisarea mouse-ului în interiorul formularului. Va apărea o fereastră
numită Command Button Wizard. Această fereastră ne permite să asociem o serie de acţiuni
standard evenimentului generat la apăsarea butonului respectiv, cum ar fi navigarea către o altă
înregistrare, actualizarea înregistrării curente, operaţii la nivel de formular şi raport, etc. Pentru a
atinge funcţionalitatea cerută de către enunţul problemei vom apăsa butonul Cancel şi vom
deschide fereastra ce conţine proprietăţile butonului executând click dreapta pe acesta şi alegând

30
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

opţiunea Properties din meniul contextual. O altă variantă ar fi selectarea butonului

urmată de apăsarea elementului din bara de instrumente sau de alegerea opţiunii Properties a
meniului View. Proprietăţile pe care le vom modifica sunt:
• Caption – reprezintă textul ce apare afişat pe buton şi vom introduce cuvântul Valoare
adaos.
• Name – semnifică numele controlului, CmdVal. Acest nume îl vom folosi atunci când
vom asocia cod evenimentului ce se declanşează la apăsarea butonului.

1 În dreapta butonului vom adăuga un Text Box în care se va afişa valoarea adaosului comercial
calculat în funcţie de preţul de achiziţie al produsului. Label-ul din faţa Text Box-ului va fi şters iar în
dreapta vom adăuga un nou Label în care vom trece moneda în care este exprimată valoarea adaosului.
2 Proprietăţile Text Box-ului vor fi modificate astfel încât numele acestuia să fie ValAd
(proprietatea Name), conţinutul să fie de tip numeric (proprietatea Format având valoarea Standard) şi
aliniat la dreapta (proprietatea Text Align).
3 Revenim la butonul adăugat şi în fereastra ce conţine proprietăţile acestuia ne deplasăm în
secţiunea Event şi ne poziţionăm pe evenimentul On Click care se declanşează atunci când utilizatorul
efectuează un click de mouse. Alegem din lista elementul numit [Event Procedure] şi apăsăm pe
butonul din dreapta ( ).

În fereastra care apare vom introduce codul următor:


31
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Private Sub CmdVal_Click()PretA.SetFocus


pret_achizitie = CDbl(PretA.Text)adaos =
pret_achizitie * 10 / 100ValAd.SetFocus ValAd.Text
= adaos
End Sub

Codul prezentat se execută la apăsarea butonului şi calculează valoarea adaosului comercial pe care
o afişează în Text Box-ul corespunzător.

Pentru a putea utiliza şi ulterior formularul astfel creat este nevoie să efectuăm salvarea acestuia prin
accesarea op ţiunii Save/Save As din meniul File.

1.3. Option Group


Formularea problemei
Să se proiecteze un formular care calculează valoarea TVA-ului pentru un produs
pe baza preţului acestuia şi a cotei procentuale de TVA ce se aplică. Cotele de TVA în
vigoare sunt:
. Cota de 0% – pentru produsele ce sunt scutite de TVA
. Cota de 9% - reprezintă cota redusă de TVA
. Cota de 19% - este cota standard ce se aplică la marea majoritate a produselor

Rezolvare
Un Option Group creează o casetă în care se pot plasa butoane de opţiune (option buttons),
butoane comutatoare (toggle buttons) sau casete de validare (check boxes). Dintre toate elementele
conţinute doar unul singur poate fi activ la un moment dat.

Etapele ce trebuie urmate pentru rezolvarea problemei sunt următoarele:


1 Se creează un nou formular folosind opţiunea Create Form in Design View din Database
Window. În mod echivalent se poate folosi opţiunea Form a meniului Insert după care se selectează
Design View.
2. Se modifică următoarele proprietăţi ale formularului:
1 Caption semnifică textul ce se va afişa în bara ferestrei. Se va introduce textul Calcul Pret
Vanzare
32
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

1 Record Selectors se va seta pe No pentru a inhiba afişarea în partea stângă a ferestrei a zonei ce
permite selectarea înregistrării curente
1 Navigation Buttons se va pune pe No pentru a preveni afişarea numărului înregistrării curente
alături de butoanele de navigare (salt la prima înregistrare, la precedenta, la următoarea sau la ultima)
1 Dividing Lines se va seta pe No pentru a nu se trasa linia orizontală ce desparte cele două zone
prezentate anterior
2 Daca fereastra ce conţine controalele pe care le putem include în cadrul formularului

nu este activă, atunci va trebui să acţionăm butonul Toolbox ( ) din bara de instrumente sau să
accesăm opţiunea respectivă din meniul View. Controlul Option
Group este simbolizat în fereastra cu instrumente prin
4. În cadrul formularului se adaugă Text Box-ul corespunzător preţului produsului iar în dreapta
acestuia se va insera un Label care va conţine descrierea monedei în care este exprimată valoarea.

Proprietăţile Text Box-ului vor fi modificate după cum urmează:


. Name – numele obiectului va fi Pret
. Format – se va seta pe Standard iar caseta va accepta numai valori numerice
. Text Align – textul va fi aliniat la dreapta (Right)

5. Se adaugă controlul de tip Option Button selectând butonul din fereastra cu instrumente după care se
execută click sau se glisează

33
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

mouse-ul în cadrul
formularului. Se va deschide
o nouă fereastră numită
Option Group Wizard care ne
va ajuta, într-un număr de
paşi, să definim conţinutul
grupului de tip opţiune.
Fereastra are în partea
inferioară un număr de patru
butoane cu următoarea
semnificaţie:

. Cancel - se renunță la includerea obiectului în formular


. Back – revenirea la pasul anterior
. Next – trecerea la pasul următor
. Finish – încheierea wizard-ului şi includerea în formular a noului grup de opţiuni

Paşii pe care va trebui să-i parcurgem sunt descriși în continuare:


a) Definim cele trei opţiuni care în cazul nostru reprezintă cotele de TVA ce pot fi
aplicate unui produs: 0%, 9%, 19% după care vom acţiona butonul Next.

b) La pasul următor vom decide dacă dorim ca una dintre opţiuni să fie iniţial activă iar în caz afirmativ
avem posibilitatea de a alege opţiunea dorită. Datorită faptului că la majoritatea produselor se

34
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

aplică o cotă de 19%, vom opta ca această variantă să fie cea activă iniţial.

c) După apăsarea butonului Next vom avea posibilitatea de a seta valoarea ce va fi asociată fiecărei
opţiuni în parte.

d) În continuare urmează să specificăm tipul controlului ce va fi folosit pentru opţiunile definite:


Option Button, Toggle Button sau Check Box. Vom alege varianta Option Buttons iar din partea
inferioară a ferestrei ne vom alege stilul dorit dintre cele care ne sunt puse la dispoziţie.

35
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

e) La ultimul pas suntem invitaţi să specificăm descrierea sub care sunt reunite opţiunile noastre.

f) Prin apăsarea butonului Finish obiectul de tip Option Group va fi inclus în cadrul formularului. Prin
intermediul ferestrei de proprietăţi vom numi acest obiect OptGrp. După poziţionarea corectă şi
redimensionarea acestuia, formularul ar trebui să arate ca cel din figura următoare.

36
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

6. Adăugăm butonul cu ajutorul căruia vom calcula valoarea TVA-ului pentru produsul introdus.

Acest lucru se realizează prin selectarea opţiunii respective din fereastra cu instrumente ( ) şi
efectuarea unui click sau glisarea mouse-ului în interiorul formularului. Va apărea o fereastră
numită Command Button Wizard în care vom apăsa butonul Cancel. Deschidem fereastra ce
conţine proprietăţile butonului executând click dreapta pe acesta şi alegând opţiunea Properties din

meniul contextual. O altă variantă ar fi selectarea butonului urmată de apăsarea elementului


aflat în bara de instrumente. În mod echivalent putem opta pentru alegerea opţiunii Properties a
meniului View. Proprietăţile pe care le vom modifica sunt descrise în continuare:
. Caption – reprezintă textul ce apare afişat pe buton şi vom introduce Valoare TVA.
. Name – semnifică numele controlului, CmdTVA. Acest nume îl vom folosi atunci când
vom asocia cod evenimentului ce se declanşează la apăsarea butonului.

37
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

1 În dreptul butonului vom adăuga un Text Box în care se va afişa valoarea TVA-ului. Această
valoare se va calcula în funcţie de preţul produsului şi de cota selectată. Label-ul din faţa Text Box-ului
va fi şters iar în dreapta vom adăuga un nou Label în care vom trece moneda în care este exprimat
TVA-ul. Proprietăţile Text Box-ului vor fi modificate astfel încât numele acestuia să fie ValTVA
(proprietatea Name), conţinutul să fie de tip numeric (proprietatea Format având valoarea Standard) şi
aliniat la dreapta (proprietatea Text Align).
2 Deschidem fereastra cu proprietăţile butonului adăugat şi ne poziţionăm pe evenimentul On
Click din secţiunea Event. Evenimentul se declanşează ori de câte ori utilizatorul apasă pe buton.
Alegem din listă elementul numit [Event Procedure] şi apăsăm pe butonul din dreapta ( ).

38
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Formularul va trebui să calculeze valoarea TVA-ului şi să o afişeze în cadrul Text Box-ului


corespunzător. Acest lucru va fi realizat de către codul ce urmează şi care va trebui introdus în fereastra
ce se deschide.

Private Sub CmdTVA_Click()


Pret.SetFocus
pret_produs = CDbl(Pret.Text)
valoare_tva = pret_produs * OptGrp.Value / 100
ValTVA.SetFocus

ValTVA.Text = valoare_tva
End Sub

Închidem fereastra în care am introdus codul anterior, moment la care vom reveni la Design View.
1 Comutăm în modul Form View, introducem 9 000 000 în câmpul corespunzător preţului,
alegem cota de 9% ca fiind cea care se aplică pentru produsul nostru şi apăsăm pe butonul Valoare
TVA, moment la care valoarea TVA-ului se va calcula şi afişa în câmpul din dreapta butonului.
2 Pentru a putea utiliza şi ulterior formularul astfel creat este nevoie să efectuăm salvarea
acestuia prin utilizarea op ţiunii Save/Save As din meniul File sau prin

39
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

apăsarea butonului din bara de instrumente.


Observaţii
a. Dacă la etapa 5, pasul d), am fi ales Check Boxes în loc de Option Buttons, atunci formularul ar
fi arătat ca în figura următoare.

b. Dacă la etapa 5, pasul d), am fi ales Toggle Buttons, formularul pe care l-am fi obţinut ar fi fost
asemănător celui din figura următoare.

40
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

2.1.4. Check Box


Formularea problemei
Să se realizeze un formular electronic care calculează suma ce trebuie plătită de către un turist
pentru o zi de cazare la hotel. Această suma se va obţine pe baza preţului camerei şi a numărului de
mese solicitate, ştiind că micul dejun costă 100 000 lei, prânzul 300 000 lei iar cina 200 000 lei.

Rezolvare
Check Box-ul reprezintă o casetă de validare care comută între stările on şi off.
41
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Paşii ce trebuie urmaţi pentru rezolvarea problemei sunt următorii:


1 Se creează un nou formular folosind opţiunea Create Form in Design View din Database
Window. În mod echivalent se poate folosi opţiunea Form a meniului Insert după care se selectează
Design View.
2. Se modifică proprietăţile formularului astfel:
a. Caption semnifică textul ce se va afişa în bara ferestrei. Se va introduce valoarea Calcul
Pret Cazare
b. Record Selectors se va seta pe No pentru a inhiba afişarea în partea stângă a ferestrei a
unei zone ce permite selectarea înregistrării curente
c. Navigation Buttons se va pune pe No pentru a preveni afişarea numărului înregistrării
curente alături de butoanele de navigare (salt la prima înregistrare, la precedenta, la următoarea sau la
ultima)
d. Dividing Lines se va seta pe No pentru a nu se trasa linia orizontală ce desparte cele
două zone prezentate anterior
2 Daca fereastra ce conţine controalele pe care le putem include în cadrul formularului

nu este activă, atunci va trebui să acţionăm butonul Toolbox ( ) din bara de instrumente sau să
accesăm opţiunea respectivă din meniul View. Controlul Check
Box este simbolizat în fereastra cu instrumente prin
4. Se adaugă Text Box-ul corespunzător preţului camerei iar în dreapta acestuia se va insera un Label
care va descrie moneda în care este exprimată valoarea. Proprietăţile Text Box-ului vor fi
modificate după cum urmează:

. Name – numele obiectului va fi PretC


. Format – se va seta pe Standard (caseta va accepta numai valori numerice)
. Text Align – textul va fi aliniat la dreapta (Right)

42
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

5. Adăugăm un Label în care vom trece descrierea serviciului (Masă), după care vom insera trei
Check Box-uri, câte unul pentru fiecare variantă pe care o avem la dispoziţie. În Label-ul din
dreptul fiecărei casete de validare vom trece numele variantei respective. În plus, vom schimba,
folosind fereastra de proprietăţi, numele celor trei Check Box-uri după cum urmează: MicD, Prânz,
Cina. Pentru a avea acces la proprietăţile unuia dintre cele trei casete de validare va trebui să
efectuăm click dreapta pe obiectul respectiv şi să alegem din meniul contextual opţiunea
Properties. O altă variantă pe care o avem la dispoziţie ar fi reprezentată de selectarea butonului

folosind butonul stâng al mouse-ului după care se apasă butonul

din bara de instrumente


sau se accesează opţiunea corespunzătoare din meniul View.

43
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

6. Următorul element pe care îl vom adăuga va fi butonul cu ajutorul căruia vom calcula

suma finală ce trebuie plătită pentru o zi de cazare. Inserarea butonului se realizeaz ă prin
selectarea opţiunii respective din fereastra cu instrumente ( ) şi efectuarea unui click sau glisarea
mouse-ului în interiorul formularului. Va apărea o fereastră numită Command Button Wizard în
care vom apăsa butonul Cancel. Modificăm proprietăţile butonului după cum urmează:
. Caption – reprezintă textul ce apare afişat pe buton; introducem Valoare.
. Name – semnifică numele controlului, CmdVal. Acest nume îl vom folosi atunci când
vom asocia cod evenimentului ce se declanşează la apăsarea butonului.

1 La dreapta butonului vom adăuga un nou Text Box pe care îl vom folosi pentru afişarea valorii
44
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

totale a unei zile de cazare. De asemenea vom adăuga şi un Label care conţine descrierea monedei în
care este exprimată valoarea. Proprietăţile Text Boxului vor fi modificate astfel încât numele acestuia să
fie ValTot (proprietatea Name), conţinutul să fie de tip numeric (proprietatea Format setată pe valoarea
Standard) şi aliniat la dreapta (proprietatea Text Align).
2 Pentru a adăuga codul Visual Basic necesar pentru a calcula valoarea totală a unei zile de cazare
este necesar să deschidem fereastra cu proprietăţile butonului. Ne poziţionăm pe evenimentul On Click
din secţiunea Events, alegem din listă elementul numit [Event Procedure] şi apăsăm pe butonul din
dreapta ( ).
3 În fereastra ce se va deschide introducem codul următor care va avea ca efect obţinerea sumei
totale de plată pentru ziua de cazare prin însumarea preţului camerei şi a tarifului perceput pentru
mesele solicitate.

Private Sub CmdVal_Click()PretC.SetFocus pret_camera =


CDbl(PretC.Text)

45
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

pret_micdejun = 0If
MicD.Value Then
pret_micdejun = 100000End If

pret_pranz = 0If
Pranz.Value Then
pret_pranz = 300000End If

pret_cina = 0If
Cina.Value Then pret_cina
= 200000End If

pret_total = pret_camera +
_pret_micdejun +
_pret_pranz + _pret_cina
ValTot.SetFocus ValTot.Text =
pret_totalEnd Sub

Închidem fereastra în care am introdus codul şi revenim la Design View.


1 Comutăm în modul Form View, introducem 2 000 000 în câmpul corespunzător preţului de
cazare, alegem să servim masa de prânz şi cina după care apăsăm pe butonul Valoare, moment la care
suma totală de plată pentru o zi de cazare se va calcula şi afişa în câmpul din dreapta butonului.
2 11. Pentru a putea utiliza formularul şi ulterior, este nevoie să realizăm salvarea acestuia

prin utilizarea opţiunii Save/Save As din meniul File sau prin apăsarea butonului din bara de
instrumente.

46
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

2.1.5. Spin Button


Formularea problemei
Să se modifice formularul anterior astfel încât să calculeze şi valoarea unui sejur pe baza
numărului zilelor de cazare.

Rezolvare
Pentru a specifica numărul de zile din care este compus sejurul vom utiliza un control numit
SpinButton format din două săgeţi dispuse una deasupra celeilalte cu ajutorul cărora vom incrementa
respectiv decrementa cu o unitate durata dorită a sejurului.

Pentru rezolvarea acestei probleme vor trebui parcurşi paşii de la exemplul anterior după care:
1 Se adaugă un Label în care se introduce textul Numar de zile. În dreapta acestui obiect se va
insera un nou control de tip Label pe care îl vom numi NrZile şi care va avea ca text asociat valoarea 0.
Proprietatea Special Effect va fi setată pe valoarea Sunken pentru a obţine efectul din figura următoare.
2 2. În dreapta acestui ultim control de tip Label vom adăuga un obiect de tip SpinButton

47
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

prin apăsarea butonului More Controls din fereastra cu instrumente ( ) iar din lista care apare vom
selecta opţiunea numită Microsoft Forms SpinButton. Acest nou control va fi denumit SpinBtn
(proprietatea Name).

48
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Cu ajutorul proprietăţilor Min, Max, Value şi Small Change putem specifica plaja de valori pe care să o
acopere controlul nostru, valoarea curentă de la care să plece şi pasul cu care să se modifice valoarea
curentă la apăsarea uneia dintre cele două săgeţi.

3. Pasul următor îl reprezintă adăugarea unui nou buton pe care îl vom folosi pentru a obţine valoarea
totală a sejurului pe baza preţului unei zile de cazare şi a numărului de zile. Inserarea butonului se
realizează prin selectarea opţiunii respective din
fereastra cu instrumente ( ) şi efectuarea unui click sau glisarea mouse-ului în interiorul
formularului. Va apărea o fereastră numită Command Button Wizard în care vom apăsa butonul
Cancel. Modificăm proprietăţile butonului după cum urmează:
. Caption – reprezintă textul ce apare afişat pe buton; vom introduce Valoare sejur.
. Name – semnifică numele controlului, CmdSejur. Acest nume îl vom folosi atunci când
vom asocia cod evenimentului ce se declanşează la apăsarea butonului.

49
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

1 Un nou Text Box ce va conţine valoarea totală a sejurului va fi inserat la dreapta


butonului iar lângă acesta se va adăuga un Label pentru descrierea monedei în care este exprimată
valoarea respectivă. Proprietăţile Text Box-ului vor fi modificate astfel încât numele acestuia să fie
ValSejur (proprietatea Name), conţinutul să fie de tip numeric (proprietatea Format setată pe valoarea
Standard) şi aliniat la dreapta (proprietatea Text Align).
2 Urmează să adăugăm codul Visual Basic care se va executa atunci când utilizatorul apasă pe
butonul Valoare sejur. Deschidem fereastra cu proprietăţile butonului, ne deplasăm în secţiunea Events,
evenimentul On Click şi selectăm opţiunea [Event Procedure] după care apăsăm pe butonul din dreapta
( ).

50
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

În fereastra ce se deschide se vor introduce liniile următoare de cod care vor calcula valoarea totală a
pachetului turistic plecând de la valoarea unei zile de cazare care se va înmulţi cu durata sejurului.

Private Sub cmdSejur_Click() CmdVal_Click nr_zile =


NrZile.CaptionValTot.SetFocus valoare_sejur = nr_zile *
CDbl(ValTot.Text)ValSejur.SetFocusValSejur.Text =
valoare_sejurEnd Sub

Tot aici va trebui să adăugăm şi codul necesar a se executa atunci când utilizatorul va apăsa pe
controlul de tip SpinButton.

51
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Private Sub
SpinBtn_Change()NrZile.Caption =
SpinBtn.ValueEnd Sub

Închidem fereastra în care am introdus codul şi revenim la Design View.


1 Comutăm în modul Form View, introducem 3 000 000 în câmpul corespunzător preţului de
cazare, alegem să servim masa de prânz şi cina, optăm pentru o durată a sejurului de 7 zile după care
apăsăm pe butonul Valoare sejur, moment la care suma totală de plată ce trebuie plătită pentru întregul
sejur se va calcula şi afişa în câmpul din dreapta butonului.
2 7. Pentru a putea utiliza formularul şi ulterior, este nevoie să realizăm salvarea acestuia

prin utilizarea opţiunii Save/Save As din meniul File sau prin apăsarea butonului din bara de
instrumente.
2.1.6. Combo Box
Formularea problemei
Să se realizeze un formular electronic care să afişeze preţul unui bilet de avion în
funcţie de destinaţia aleasă, conform tabelului:

Destinaţie Preţ
Roma 500 euro
Munchen 700 euro
Paris 1000 euro
Londra 2000 euro
Utilizatorul va alege destinaţia iar formularul va afişa în mod automat preţul biletului exprimat în euro.
52
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Rezolvare
Prin Combo Box înţelegem un obiect combinat format dintr-o casetă de text şi o listă.
Utilizatorul poate introduce o nouă valoare sau poate alege una din listă. În exemplul nostru nu se vor
putea afişa preţurile biletelor către destinaţii care nu se regăsesc în listă.

Pentru realizarea formularului electronic vom parcurge următoarea succesiune de paşi:


1. Se creează un nou formular folosind opţiunea Create Form in Design View din Database Window.
În mod echivalent se poate folosi opţiunea Form a meniului Insert după care se selectează Design
View. Accesăm proprietăţile noului formular şi vom modifica următoarele caracteristici:
a. Caption semnifică textul ce se va afişa în bara ferestrei. Vom introduce Calcul Pret Bilet
Avion
b. Record Selectors se va seta pe No pentru a inhiba afişarea în partea stângă a ferestrei a
unei zone ce permite selectarea înregistrării curente
c. Navigation Buttons se va pune pe No pentru a preveni afişarea numărului înregistrării
curente alături de butoanele de navigare (salt la prima înregistrare, la precedenta, la următoarea sau la
ultima)
d. Dividing Lines se va seta pe No pentru a nu se trasa linia orizontală ce desparte cele
două zone prezentate anterior

2. Daca fereastra ce conţine controalele pe care le putem include în cadrul formularului


nu este activă, atunci va trebui să acţionăm butonul Toolbox ( ) din bara de instrumente sau să
accesăm opţiunea respectivă din meniul View. În acest exemplu vom folosi controlul Combo Box
care este simbolizat în fereastra cu instrumente prin semnul
3. Apăsăm butonul respectiv după care adăugarea controlului se face prin efectuarea unui click de
mouse în interiorul formularului sau prin glisarea acestuia. Se va deschide o nouă fereastră numită
Combo Box Wizard care ne va ajuta să proiectăm controlul respectiv prin parcurgerea unei
succesiuni de paşi:
a. Vom opta pentru varianta ca valorile controlului să fie introduse de către noi, după care
apăsăm butonul Next
b. Urmează să alegem numărul de valori care vor fi afişate în listă. Vom opta pentru un
număr de două coloane după care vom introduce valorile din tabelul prezentat în enunţul problemei.
c. Dintre toate coloanele pe care le poate conţine controlul, doar una singură va putea fi
afişată atunci când se selectează o anumită valoare din listă. Din acest motiv vom opta ca această
coloană să fie cea care conţine numele destinaţiei, după care apăsăm butonul Next.
d. Introducem descrierea ce urmează să apară în faţa obiectului de tip Combo Box după care
apăsăm butonul Finish.

53
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

54
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Prin intermediul ferestrei de proprietăţi vom numi acest obiect Dest. După poziţionarea corectă şi
redimensionarea acestuia, formularul obţinut ar trebui să fie asemănător cu cel din imaginea următoare.

55
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

1 Adăugăm Text Box-ul în care se va afişa valoarea biletului pentru ruta selectată. Proprietăţile
Text Box-ului vor fi modificate astfel încât numele controlului să fie Pret (proprietatea Name). În
dreapta acestuia se va insera un Label în care vom trece moneda în care este exprimată valoarea
respectivă.
2 Ori de câte ori se schimbă destinaţia selectată, formularul va trebui să afişeze valoare biletului
în câmpul Preţ. Pentru aceasta va fi nevoie să adăugăm cod Visual Basic pentru evenimentul On
Change asociat controlului de tip Combo Box. Deschidem fereastra cu proprietăţile obiectului, ne
deplasăm în secţiunea Event iar de acolo alegem evenimentul On Change. Selectăm elementul numit
[Event Procedure] şi apăsăm pe butonul din dreapta acestuia( ).
3 În fereastra ce apare va trebui să introducem codul următor care va prelua preţul biletului din
controlul de tip Combo Box şi îl va afişa în câmpul corespunzător.

56
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Private Sub Dest_Change()


If Not IsNull(Dest.Column(1)) ThenPret.SetFocus
Pret.Text = Dest.Column(1)
End If
End Sub

Datorită faptului ca nu cunoaştem preţurile decât pentru biletele pe rutele definite în tabelul de la
formularea problemei, codul Visual Basic introdus mai întâi verifică dacă selecţia curentă este una
validă şi în caz afirmativ va afişa valoarea biletului. Închidem fereastra în care am adăugat codul şi
revenim la Design View.
7. Pentru a vedea felul în care se comportă formularul nostru va trebui să comutăm pe Form View după
care vom alege o destinaţie din listă. Preţul biletului va fi afişat în câmpul Pret de pe rândul
următor.

Dacă însă se încearcă introducerea unei destinaţii inexistente, Microsoft Access va genera un mesaj
de eroare.

8. Pentru a putea utiliza şi ulterior formularul astfel creat este nevoie să efectuăm salvarea acestuia prin
utilizarea opţiunii Save/Save As din meniul File sau prin apăsarea butonului din bara de
instrumente.
Observaţie: Dacă am dori ca datele să nu fie introduse de către noi ci să fie luate din baza de date
folosind un tabel/interogare atunci la pasul 3a va trebui să alegem prima opţiune care ne este pusă
la dispoziţie, după care vom selecta elementul dorit (numele tabelului sau interogării), câmpurile
57
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

care să apară în listă, dimensiunea fiecărei coloane şi descrierea ce va însoţi controlul.

2.1.7. List Box


Formularea problemei
Să se modifice formularul anterior astfel încât selecţia destinaţiei să se facă dintr
o listă de opţiuni prin folosirea click-ului dublu.

Rezolvare
Vom înlocui Combo Box-ul din exemplu anterior cu un control de tip List Box care ne va pune
la dispoziţie o listă derulantă de opţiuni.
În continuare vor fi descrişi paşii ce vor fi urmaţi pentru rezolvarea problemei:
1 Se salvează formularul anterior sub o nouă denumire. În fereastra bazei de date se execută click
dreapta pe formularul creat anterior şi se alege opţiunea Save As. Introducem un nou nume pentru
formular după care apăsăm butonul OK. Această copie va fi modificată pentru a se ajunge la forma
propusă în enunţul problemei.
2 Se şterge controlul de tip Combo Box prin selectarea acestuia cu mouse-ul urmată de apăsarea
tastei Del.
3 3. Se adaugă controlul de tip List Box prin apăsarea butonului corespunzător din

fereastra cu instrumente ( ) urmată de glisarea mouse-ului sau de executarea unui click în


interiorul formularului. Se va deschide o fereastra numită List Box Wizard în cadrul căreia va trebui
să parcurgem aceiaşi paşi ca la exemplul anterior: alegerea modului de completare a listei,
specificarea numărului dorit de coloane, indicarea coloanei returnate şi a descrierii ce va însoţi lista.
După parcurgerea acestor paşi, controlul de tip List Box se va regăsi în cadrul formularului.
Folosind fereastra de proprietăţi vom da obiectului numele Dest după care vom repoziţiona şi
redimensiona Text Box-ul destinat afişării valorii biletului de avion selectat.

58
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

.
1 De fiecare dată când utilizatorul execută click dublu de mouse pe o destinaţie din listă, preţul
biletului pentru ruta respectivă va trebui să fie afişat pe rândul următor. Pentru aceasta vom adăuga
câteva linii de cod Visual Basic pe evenimentul On Dbl Click al listei. Deschidem fereastra cu
proprietăţile obiectului, ne deplasăm în secţiunea Event iar de acolo alegem evenimentul On Dbl Click.
Selectăm elementul numit [Event Procedure] şi apăsăm pe butonul din dreapta acestuia( ).
2 În fereastra ce apare vom introduce următoarele linii de cod care vor avea ca efect afişarea
preţului biletului pentru destinaţia selectată din listă.

Private Sub Dest_DblClick(Cancel As Integer)Pret.SetFocus


Pret.Text = Dest.Column(1)
End Sub

După introducerea codului vom închide fereastra respectivă şi vom comuta în modul Form View
pentru a vedea cum funcţionează formularul electronic proiectat.

59
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

6. Pentru a putea utiliza şi ulterior formularul astfel creat este nevoie să efectuăm salvarea acestuia prin
utilizarea op ţiunii Save/Save As din meniul File sau prin apăsarea
butonului din bara de instrumente.

Observaţie: Dacă am dori ca datele din listă sa nu fie introduse de către noi ci să fie luate din baza de
date folosind un tabel/interogare atunci la pasul 3 va trebui să alegem prima opţiune care ne este
pusă la dispoziţie de către List Box Wizard, după care vom selecta elementul dorit (numele tabelului
sau interogării), câmpurile care să apară în listă, dimensiunea fiecărei coloane şi descrierea ce va
însoţi controlul.

2.2 Formulare asociate tabelelor Access


Formularea problemei
Să se proiecteze un formular care să permită consultarea tabelei Angajati şi actualizarea
conţinutului acesteia – adăugare, modificare şi ştergere înregistrări. Se presupune că tabela are
următoarea structură: MARCA, NUME, PRENUME, VARSTA, VECHIME, SALARIU şi că este deja
populată cu înregistrări.

Rezolvare
Formularele sunt ferestre folosite în scopul interogării şi actualizării datelor din tabelele bazei
de date. Înregistrarea a cărei date sunt afişate în cadrul formularului la un moment dat se numeşte
înregistrare curentă. Valorile afişate pot fi modificate de către utilizator iar aceste schimbări se vor
reflecta direct în cadrul tabelei pe baza căreia a fost realizat formularul. Folosind butoanele de navigare
putem trece la prima înregistrare a tabelului, la cea anterioară/următoare sau la ultima înregistrare.
Ultimul buton din lista ne dă posibilitatea adăugării unei noi înregsitrări. Ştergerea se poate face direct
din formular folosind tasta Del după ce în prealabil am selectat înregistrarea dorită.

În rezolvarea problemei propuse vom pleca de la presupunerea că tabela Angajati există deja şi
că aceasta este populată cu înregistrări. Fereastra care se deschide atunci când accesăm opţiunea Form
a meniului Insert ne pune la dispoziţie mai multe variante cu ajutorul cărora putem realiza formularul
cerut.

Varianta 1
Selectăm opţiunea numită Design View şi alegem tabela Angajati ca sursă de date pentru
viitorul formular.

60
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

După apăsarea butonului OK, noul formular va fi deschis în Design View şi alături de acesta se
va afişa şi o fereastră ce conţine câmpurile tabelei Angajati. Selectăm toate câmpurile acesteia după
care tragem cu mouse-ul aceste câmpuri în cadrul formularului.
Dacă nu dorim ca formularul să afişeze toate câmpurile tabelei atunci putem selecta doar câmpurile
dorite din lista care ne este pusă la dispoziţie.

Comutăm în modul Form View iar formularul ce va fi afişat ar trebui să fie asemănător cu cel prezentat
în figura următoare.

61
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Formularul va afişa valorile ce se află în câmpurile tabelei pentru înregistrarea curentă.


Numărul acesteia ne este indicat în partea inferioară a ferestrei, alături de butoanele ce pot fi folosite
pentru trecerea la o nouă înregistrare. Butonul aflat în extrema dreaptă poate fi utilizat pentru adăugarea
unei noi înregistrări.
Valorile afişate în cadrul formularului pot fi modificate de către utilizator iar aceste schimbări
se vor salva automat în baza de date.
Zona din partea stângă a formularului este folosită pentru selectarea înregistrării curente.
Apăsarea tastei Del va avea ca efect ştergerea respectivei înregistrări. Tot pentru ştergerea înregistrării
curente se mai pot folosi opţiunile Delete şi Delete Record ale meniului Edit.
Utilizatorul poate reveni în Design View pentru a schimba proprietăţile formularului şi ale
obiectelor afişate în cadrul acestuia. Text Box-urile pot fi redimensionate şi repoziţionate, textul ce
apare în bara ferestrei poate fi schimbat, etc. După efectuarea tuturor modificărilor şi validarea
rezultatelor folosind modul de vizualizare Form View, formularul ar trebui salvat astfel încât să fie
posibilă utilizarea lui ulterioară.

Varianta 2
Alegem varianta numită Form Wizard, ca în figura următoare.

62
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Urmează să parcurgem o succesiune de paşi, la fiecare dintre aceştia vom fi invitaţi să


specificăm o serie de informaţii iar pe baza acestora Microsoft Access va genera în mod automat
formularul dorit. Trecerea la pasul următor se realizează cu ajutorul butonului Next, revenirea la cel
anterior se face prin folosirea butonului Back. Utilizând butonul Finish, utilizatorul poate opta pentru
finalizarea procesului de creare automată a formularului chiar dacă nu au fost parcurşi toţii paşii
respectivi. Apăsarea butonului Cancel atrage după sine închiderea ferestrei fără generarea formularului.
La primul pas suntem invitaţi să indicăm câmpurile tabelei Angajaţi pe care dorim să le
includem în formular. Câmpurile alese vor fi mutate în partea dreaptă. Folosind butoanele <, <<, >, >>
putem selecta/deselecta câmpul curent sau toate câmpurile afişate.

Urmează să specificăm modul de dispunere a câmpurilor selectate în cadrul

63
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

formularului. Putem alege una dintre opţiunile următoare: -Columnar –


fiecare câmp apare pe o linie separată având în partea
stângă numele acestuia iar formularul va afişa la un
moment dat doar valorile aferente înregistrării curente -
Tabular – numele câmpurilor apare o singură dată în
capătul de sus al formularului iar valorile asociate pentru
fiecare înregistrare sunt afişate pe linii -Datasheet –
datele sunt afişate sub forma unei foi de calcul tabelar iar
utilizatorul va vizualiza mai multe înregistrări în acelaşi
timp -Justified – valorile corespunzătoare înregistrării
curente sunt afişate unele după altele pe linii succesive

În continuare vom opta pentru unul din stilurile de afişare care ne sunt puse la dispoziţie.

64
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

La ultimul pas vom alege un nume pentru formularul nou creat sau îl vom accepta pe cel propus
în mod implicit. Apăsarea butonului Finish atrage după sine crearea, salvarea şi afişarea în modul Form
View a formularului respectiv.

În partea inferioară a ferestrei sunt afişate numărul înregistrării curente şi numărul total de
înregistrări conţinute de către tabela Angajati. Tot acolo se găsesc şi butoanele de navigare care ne
ajută să ne deplasăm către o altă înregistrare sau să adăugăm noi valori.
Utilizatorul poate reveni în Design View pentru a schimba proprietăţile formularului şi ale
obiectelor conţinute de către acesta.

Varianta 3
65
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Prin alegerea uneia dintre opţiunile AutoForm: Columnar, AutoForm: Tabular sau AutoForm:
Datasheet, formularul va fi creat în mod direct, fără a mai fi necesară parcurgerea unor paşi
suplimentari.
Astfel, dacă optăm pentru varianta AutoForm: Tabular, formularul pe care îl vom obţine va fi
asemănător cu cel din figura următoare.

În partea inferioară a ferestrei avem zona de navigare care ne dă informaţii despre numărul
înregistrării curente şi despre numărul total de înregistrări ce sunt conţinute de către tabela Angajati.
Putem folosi butoanele din această zona pentru a ne deplasa pe o
nouă înregistrare. Înregistrarea curent ă este marcată cu un semn special în zona din stânga (semnul ).
Pe ultima linie se găseşte o înregistrare goală care poate fi folosită pentru ad ăugarea de noi valori.
Această înregistrare este marcată în partea stângă prin semnul .
Utilizatorul poate comuta în modul Design View pentru a schimba proprietăţile formularului şi
ale obiectelor afişate în cadrul acestuia. Salvarea formularului face posibilă utilizarea ulterioară a
acestuia.

Varianta 4
Opţiunea Chart Wizard ne dă posibilitatea obţinerii unui formular care să conţină un grafic
realizat pe baza datelor conţinute de către tabela selectată.

66
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Graficul doar afişează valorile câmpurilor tabelei în forma dorită de noi, modificarea acestora
nefiind posibilă. Pentru obţinerea graficului, utilizatorul va trebui să parcurgă integral sau parţial paşii
wizard-ului.

Proprietăţile formularului şi ale obiectelor conţinute vor putea fi ulterior modificate prin
comutarea în modul Design View.

2.3 Probleme propuse


1) Să se proiecteze un formular cu ajutorul căruia să se calculeze valoarea stocului final de produse
finite pe baza stocului iniţial, a intrărilor şi a ieşirilor realizate în cursul unei anumite perioade
calendaristice.
2) Să se realizeze un formular care calculează valoarea lunară de amortizat pentru un mijloc fix.
Utilizatorul va introduce valoarea mijlocului fix şi durata normală de utilizare iar formularul va
afişa valoarea ce trebuie plătită lunar folosind metoda de amortizare liniară.
3) Să se proiecteze un formular pentru realizarea unei comenzi. Utilizatorul va introduce preţul unitar
al produsului, cantitatea solicitată, va alege cota de TVA aferentă iar formularul va calcula în mod
automat valoarea comenzii;
4) Să se calculeze, folosind un formular, preţul de vânzare al unui autovehicul plecând de la preţul
pentru versiunea de bază la care se adaugă valoarea elementelor opţionale achiziţionate. Acestea
vor apărea sub formă de căsuţe de validare iar utilizatorul va putea să le bifeze/debifeze pentru a
desemna varianta pe care doreşte să o cumpere;
5) Să se construiască un formular destinat activităţii de închiriere materiale video. Utilizatorul va
introduce numărul de casete video solicitate de către client, numărul de DVD-uri şi perioada pe care
se realizează închirierea, exprimată în număr de zile. Formularul va calcula în mod automat suma
pe care clientul o are de plătit ştiind ca tariful perceput pentru închirierea unei casete video este de
50 000 lei pe zi, iar pentru DVD-uri de 100 000 lei pe zi. După finalizarea operaţiunii utilizatorul va
trebui să aibă la dispoziţie un buton cu ajutorul căruia să şteargă datele introduse pentru clientul
anterior.
6) Să se proiecteze un formular destinat pentru a fi utilizat într-o staţie de benzină. Acesta va fi utilizat
pentru a calcula şi afişa suma pe care clientul o are de plătit ţinând cont de tipul de combustibil
folosit şi de cantitatea achiziţionată.
7) Să se realizeze un formular care să conţină lista departamentelor unui magazin universal. Atunci

67
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

când utilizatorul selectează un departament, formularul va trebui să afişeze codul asociat acestuia.
8) Să se construiască un formular în care să se calculeze venitul net al unui angajat plecând de la
salariul brut din care se scad contribuţiile la asigurările sociale, sănătate şi şomaj, toate acestea fiind
exprimate procentual.
9) Să se calculeze valoarea lunară ce se recuperează prin amortizarea accelerată a unui mijloc fix.
Valoarea acestuia şi durata de utilizare se introduc de către utilizator iar formularul va afişa suma ce
se recuperează lunar în primul an şi cea aferentă anilor care urmează.
10) Să se proiecteze un formular care să afişeze prima de asigurare CASCO ce trebuie plătită de către
posesorul unui autovehicul. Pentru maşinile indigene se aplică un procent de 4% din valoarea
maşinii, iar pentru cele străine procentul creşte la 6%. De asemenea clientul mai poate primi şi o
reducere de până la 10% în funcţie de valoarea daunelor pe care le-a înregistrat în anul precedent.

FORMULARE ȘI SUBFORMULARE
Formularele sunt informări (lucrări de evidenţă) care prezintă, într-o formă specifică, datele memorate
în cadrul tabelelor şi interogărilor. Este de asemenea o metodă foarte bună pentru introducerea datelor
în tabele. Cu ajutorul unui formular, poţi aloca exact atât spaţiu cât este necesar pentru fiecare câmp şi
poţi introduce informaţii în mai multe tabele simultan.
În general, fiecare formular afişează o singură înregistrare la un moment dat.
Poţi crea un formular în trei moduri:
◼ AutoForms oferă foarte rapid formulare care conţin toate câmpurile într-un singur tabel.
◼ Form Wizard te ajută să creezi un formular furnizându-se o serie de casete de dialog din care poţi
alege câmpurile şi stilul pentru formular.
◼ Creând un formular pornind de la zero, ai la dispoziţie o grilă de machetare în care plasezi câmpuri.
Este modul cel mai dificil, dar asigură cel mai bun control.
CREAREA FORMULARELOR CU AUTOFORM
Cel mai simplu mod de a crea un formular se face cu ajutorul caracteristicii AUTOFORM. Acesta
pune câmpurile dintr-un singur tabel într-un formular; este modul cel mai puţin flexibil, dar este foarte
convenabil.
Etape:
◼Din fereastra DATABASE, execută clic pe tipul de obiect FORMS.
◼Execută clic pe butonul New.

◼Pe ecran apare caseta de dialog NEW FORM.


◼Deschizi lista derulantă de la baza casetei de dialog şi alegi tabelul sau interogarea pe care o utilizezi
ca sursă a datelor din formular.
◼Apeşi butonul OK. Apare formularul pentru introducerea datelor.
68
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

◼În final se salvează formularul cu numele dorit.

Notă: Formularul pe care-l obţii cu AutoForm s-ar putea să nu fie prea arătos. Etichetele de câmp pot
fi trunchiate şi câmpurile pot fi apropiate. În acest caz închide formularul fără să-l salvezi şi încearcă
din nou cu Form Wizard.
CREAREA FORMULARELOR CU FORM WIZARD
Etape:
◼ Din fereastra DATABASE, execută clic pe tipul de obiect FORMS.
◼ Execută dublu-clic pe opţiunea CREATE FORM USING WIZARD. Apare caseta de dialog
Form Wizard.

◼ Din lista derulantă TABLES/QUERIES, alegi un tabel sau o interogare din care să selectezi
câmpuri (În mod prestabilit este selectat primul tabel în ordine alfabetică)
◼ Execută clic pe un câmp din lista AVAILABLE FIELDS pe care vrei să îl introduci în formular şi
apoi execută clic pe butonul Next > pentru a muta câmpul în lista SELECTED FIELDS.
◼ Repetă pasul anterior până când selectezi din acel tabel toate câmpurile pe care vrei să le incluzi.
Notă: Dacă vrei să incluzi câmpuri din alte tabele sau cereri, selectează-le din lista
TABLES\QUERIES.

69
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

◼ Execută clic pe NEXT pentru a continua. Ţi se cere să alegi o machetă: Columnar, Tabular,
Datasheet sau Justified. Execută clic pe fiecare buton pentru a previzualiza machetele. (Columnar
este cea mai uzuală). După ce ai ales macheta dorită apasă NEXT.

◼ Ţi se cere să alegi un stil. Execută clic pe fiecare stil din listă pentru a-l previzualiza; execută clic
pe NEXT după ce ai ales un stil.

◼ Introdu un titlu pentru formular în caseta de text din partea de sus a casetei de dialog.

◼ Execută clic pe butonul FINISH.

70
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

◼ În final apare formularul pregătit pentru introducerea datelor.

CREAREA FORMULARELOR GOALE


Cel mai performant, dar şi cel mai dificil mod de a crea un formular constă în utilizarea modului de
vizualizare FORM DESIGN.
Acest mod îţi permite să stabileşti exact unde anume să plasezi fiecare câmp şi cum să-l formatezi.
Etape:
◼ În fereastra DATABASE, execută clic pe tipul de obiect FORMS.

◼ Execută clic NEW. Apare caseta de dialog NEW FORM.

◼ Execută clic pe DESIGN VIEW.


◼ Selectează un tabel sau o interogare din lista derulantă de la baza casetei de dialog.

71
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

◼ Apasă OK. Apare o fereastra Form Design.

ADĂUGAREA CONTROALELOR LA UN FORMULAR


Etape:
◼ Afişează lista FIELDS dacă aceasta nu este vizibilă prin apăsarea pe butonul FIELD LIST sau
alege din meniul VIEW opţiunea FIELD LIST.
◼ Trage cu mouse-ul un câmp din lista de câmpuri în zona DETAIL a raportului.

DEPLASAREA CONTROALELOR DE CÂMP


Etape:
◼ Dacă nu eşti deja în modul de vizualizare FORM DESIGN, treci în acest mod.
◼ Execută clic pe numele unui control pentru a-l selecta. Apar mânere de selecţie în jurul lui. Poţi
selecta mai multe controale, ţinând apăsată tasta SHIFT în timp ce execuţi clic pe fiecare.
◼ Poziţionează indicatorul mouse-ului astfel încât acesta să se transforme într-o palmă.

◼ Execută clic şi ţine apăsat butonul stâng al mouse-ului cât timp vei trage controlul într-o altă
poziţie.
DEPLASAREA CONTROALELOR ŞI A ETICHETELOR ÎN MOD INDEPENDENT
Etape:
◼ Execută clic pe controlul care vrei să fie selectat.
◼ Poziţionează indicatorul mouse-ului pe mânerul de selecţie aflat în partea din stânga sus, astfel
încât să se transforme într-un deget arătător.

◼ Trageţi controlul într-o altă poziţie.


72
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Ex:
Să se creeze următoarea formă:

Notă: Executarea formei se face prin apăsarea pe butonul VIEW de pe bara de instrumente sau
din meniul VIEW opţiunea FORM VIEW.
Forma va arăta astfel:

VIZUALIZAREA ANTETURILOR ŞI A SUBSOLURILOR DE PAGINĂ


Pe lângă zona DETAIL pe care ai utilizat-o până acum mai există şi alte zone:
◼ FORM HEADER şi FORM FOOTER – sunt zone care se repetă în partea de sus sau de jos a
formularului, cum ar fi titlul formularului în partea de sus sau o notiţă de copyright în partea de jos.

După executare forma va arăta astfel:

73
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Notă: Adăugarea antetelor şi a subsolurilor de pagină se face, selectând din meniul VIEW opţiunea
FORM HEADER/FOOTER.
◼ PAGE HEADER şi PAGE FOOTER – sunt zone care se repetă în partea de sus sau de jos a
fiecărei pagini a formularului atunci când îl tipăreşti.
Notă: Pentru a afişa aceste două zone trebuie să selectezi din meniul VIEW opţiunea PAGE
HEADER/ FOOTER.
Formularul va arăta astfel:

ADĂUGAREA ETICHETELOR
Pentru a putea adăuga formularului titluri, subtitluri, text explicativ şi altele trebuie să adaugi în
formular un obiect care se numeşte etichetă.
Notă: În cazul în care bara de instrumente nu este afişată, alege opţiunea TOOLBOX din meniul
VIEW sau execută clic pe butonul TOOLBOX de pe bara de instrumente.

74
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Etape:
◼Execută clic pe instrumentul LABEL din caseta de instrumente. Indicatorul mouse-ului se
preschimbă în litera A cu un semn plus lângă ea.

◼Trasează un chenar în interiorul formularului şi introdu textul dorit.


◼Execută clic oriunde în afara controlului pentru a termina operaţia sau apasă ENTER.

FORMATAREA ETICHETELOR
După ce ai plasat toate informaţiile într-un formular (controalele pe care vrei să le incluzi şi etichetele
pentru afişarea oricărui titlu sau text explicativ), următorul pas este să faci formularul mai atrăgător.
Toate instrumentele de formatare de care ai nevoie sunt pe bara de instrumente Formatting.
Pentru a formata un control, selectează-l şi apoi execută clic pe instrumentul de formatare adecvat.
MODIFICAREA ORDINII DE DEPLASARE CU TASTA TAB
Când introduci date într-un formular, apasă tasta Tab pentru a te deplasa de la un control la altul, în
ordinea în care sunt afişate în formular.
Dacă muţi şi rearanjezi controalele, ordinea de deplasare cu tasta Tab nu se modifică automat.
Pentru a ajusta ordinea de deplasare cu tasta Tab trebuie să parcurgi următorii paşi:
◼Alege din meniul VIEW opţiunea TAB ORDER. Apare caseta de dialog TAB ORDER.
◼Alege secţiunea pentru care vrei să schimbi această ordine.
◼Apar controalele în ordinea de deplasare cu tasta Tab. Pentru a modifica ordinea, execută clic pe
control şi trage-l în sus sau în jos în listă.

◼Pentru a stabili rapid ordinea de deplasare pe baza poziţiei curente a controalelor în formular (de sus
în jos), execută clic pe butonul Auto Order.
◼Execută clic pe OK.

RAPOARTE

Rapoartele sunt obiecte prin intermediul cărora generezi rezultate profesionale care pot fi
afişate pe ecran, tipărite pe hârtie sau afişate pe Internet.

75
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

CREAREA UNUI RAPORT CU AUTOREPORT

Dacă vrei un raport simplu, bazat pe un singur tabel sau pe o singură interogare, cel mai
potrivit este AUTOREPORT.
Pentru a crea un raport folosind AutoReport, urmează paşii:
◼ Deschide baza de date care conţine tabelul sau interogarea pe baza căreia vrei
să creezi raportul.
◼ Execută clic pe eticheta REPORTS din fereastra DATABASE şi apoi pe
butonul NEW. Apare caseta de dialog NEW REPORT.

◼ Selectează din lista derulantă tabelul sau interogarea pe baza căreia vrei să
construieşti raportul.
◼ Selectează AUTOREPORT: COLUMNAR sau AUTOREPORT:
TABULAR.
◼ Execută clic pe OK şi raportul apare în modul PRINT PREVIEW. Raportul
va arăta astfel:

76
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

CREAREA UNUI RAPORT CU REPORT WIZARD

Report Wizard asigură un compromis acceptabil între uşurinţa de utilizare şi flexibilitate.


Cu Report Wizard, poţi utiliza mai multe tabele şi interogări şi poţi alege o machetă şi un
format pentru raportul tău.
Etape:
◼ Deschizi baza de date care conţine tabelul sau interogarea pentru care vrei să
creezi un raport.
◼ Execută clic pe eticheta Reports din fereastra Database. Pe ecran apare
caseta de dialog Report Wizard.

◼ Din lista derulantă Tables/Queries, selectează un tabel sau o interogare din


care vrei să incluzi câmpuri.

77
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

◼ Execută clic pe un câmp din lista Available Fields şi apoi pe butonul


pentru a muta câmpul în lista Selected Fields. Repetă acest pas pentru a selecta toate
câmpurile dorite sau execută clic pe pentru a muta toate câmpurile deodată.

◼ Dacă vrei, selectează un alt tabel sau o altă interogare din lista
Tables/Queries şi repetă pasul anterior. Tabelele pe care le alegi trebuie să aibă
relaţii între ele, astfel încât datele să coincidă în raport.
◼ Când ai terminat de selectat câmpurile, execută clic pe NEXT. Apare prima
casetă de dialog Report Wizard.

◼ Dacă vrei gruparea înregistrărilor după oricare din câmpurile pe care le-ai
selectat, execută clic pe câmp şi apoi pe butonul . Poţi selecta mai multe niveluri
de grupare, în ordinea pe care o vrei. Apoi execută clic pe Next pentru a trece mai
departe.

78
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

◼ Aplicaţia Wizard te întreabă ce ordine de sortare vrei să utilizezi. Dacă vrei


înregistrări sortate, deschide lista derulantă de sus şi selectează un câmp după care
vrei ca sortarea să se efectueze. Selectează cel mult patru sortări din listele derulante.

◼ În mod prestabilit, sortarea este în ordine crescătoare (de la A la Z). Execută


clic pe butonul de lângă casetă pentru a schimba ordinea de sortare în descrescătoare
(de la Z la A), daca vrei.
◼ În următoarea casetă de dialog vei alege o opţiune de machetare din secţiunea
LAYOUT.
◼ Alege orientarea pentru raportul tipărit din secţiunea ORIENTATION.
◼ Apasă NEXT.

◼ În următoarea casetă de dialog a aplicaţiei Wizard, alege un stil de raport.


Sunt afişate mai multe; execută clic pe unul pentru a vedea o mostră.

79
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

◼ Apasă NEXT când eşti mulţumit de alegerea făcută.

◼ Ţi se cere un titlu de raport. Vei introduce un titlu în caseta de text Report şi


execută clic pe FINISH pentru a vedea raportul în modul PRINT PREVIEW.

TIPĂRIREA RAPOARTELOR ÎN MODUL PRINT PREVIEW

Când creezi un raport, fie cu Report Wizard, fie cu Autoreport, acesta apare în modul
Print Preview. De aici poţi să-l tipăreşti direct, dacă eşti mulţumit de rezultat sau poţi să
treci în modul de vizualizare Report Design pentru a face modificări.

80
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Dacă vrei să tipăreşti raportul şi să specifici diverse opţiuni de tipărire, alege din meniul
FILE opţiunea PRINT…. Pe ecran apare caseta de dialog PRINT.

Daca vrei să obţii rapid o copie tipărită, execută clic pe butonul PRINT de pe bara de
instrumente.

INTRAREA ÎN MODUL DE VIZUALIZARE REPORT DESIGN

Etape:
◼ Execută clic pe eticheta REPORTS.

◼ Execută clic pe raportul pe care vrei să-l vizualizezi.

81
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

◼ Execută clic pe butonul DESIGN. Apare raportul în modul de vizualizare


DESIGN.

Raportul conţine următoarele zone:


◼ REPORT HEADER – conţine titlul raportului;
◼ PAGE HEADER – conţine etichetele de coloană ale raportului;
◼ DETAILS – afişează lista câmpurilor alese pentru a fi tipărite în aceste
coloane;
◼ PAGE FOOTER – conţine o formula care va afişa data şi ora curentă.

LUCRUL CU CONTROALELE DIN RAPORT

Lucrul cu controalele din raport în modul de vizualizare Report Design este similar cu
modul de lucru cu controalele în modul Form Design.
Selectarea controalelor se face executând un clic pe control. În jurul său apar mânere de
selecţie.
Mutarea obiectelor – se selectează obiectul respectiv, apoi poziţionează indicatorul mouse-
ului deasupra unei laturi a chenarului astfel încât acesta să se transforme într-o palmă
deschisă şi neagră. Apoi execută clic şi trage controlul în noua poziţie.
Redimensionarea obiectelor – selectează obiectul, apoi poziţionează indicatorul mouse-ului
deasupra unui mâner de selecţie şi trage-l pentru a redimensiona obiectul.
Formarea obiectelor de text – utilizează listele derulante Font şi Font Size de pe bara cu
instrumente pentru a alege fonturi, apoi utilizează butoanele Bold, Italic sau Underline de
pe bara cu instrumente pentru a aplica anumite atribute. Poţi adăuga, de asemenea, linii şi
imagini în rapoarte, la fel ca în formulare.

82
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

ADĂUGAREA ŞI ŞTERGEREA CONTROALELOR

Etape:
◼ Dacă nu vezi lista Field, vei alege din meniul View opţiunea Filed List sau
execută clic pe butonul Field List de pe bara de instrumente. Apare o casetă
mobilă, care afişează o listă cu toate câmpurile din tabelul pe care-l utilizezi.

◼ Trage orice câmp din lista de câmpuri în raport, unde devine un control – în
mod prestabilit, o caseta de text. Plasează-l oriunde vrei în zona Detail.

Notă: Pentru a şterge un control acesta va fi selectat şi prin apăsarea tastei DELETE
va fi şters.

ARANJAREA NOILOR CONTROALE

Când adaugi un control în raport, de fapt adaugi două lucruri – o etichetă şi o casetă de text.
Aceste două elemente sunt legate: eticheta descrie caseta de text, iar caseta reprezintă
câmpul care va fi utilizat. Poţi modifica textul din etichetă fără să afectezi caseta de text
În mod prestabilit, când muţi caseta de text, o urmează şi eticheta. Dacă poziţionezi
indicatorul mouse-ului pe chenarul casetei de text şi indicatorul se transformă într-o palmă
deschisă, acesta este semnalul că, atunci când vei trage caseta de text, eticheta o va urma.
În orice caz, poţi deplasa şi separat caseta de text şi eticheta. Vei observa că în colţul din
stânga sus al fiecărui control există un mâner de selecţie (pătrat) care este mai mare decât
celelalte. Când poziţionezi indicatorul mouse-ului pe acest pătrat, cursorul devine o mână
cu degetul arătător întins. În acest moment poţi să execuţi clic şi să tragi fiecare obiect
separat de celalalt.

ADĂUGAREA ETICHETELOR

Poţi, de asemenea, să adaugi separat etichete, cu text suplimentar, care nu sunt neapărat
asociate cu un anumit câmp.
83
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Etape:

◼ Execută clic pe butonul Label de pe bara de instrumente Toolbox.


◼ Execută clic oriunde în raport şi tastează textul etichetei.
◼ După ce ai terminat, execută clic oriunde în afara etichetei.

Notă: În cazul în care bara de instrumente Toolbox nu este afişată, poţi apăsa pe
butonul Toolbox de pe bara de instrumente standard sau poţi alege din meniul
VIEW, opţiunea TOOLBARS şi apoi TOOLBOX.

2. Formulare de tip Switchboard

Un formular de tip Switchboard (panou de comandă) este creat în vederea simplificării procesului de
pornire şi manevrare a obiectelor unei baze de date. Un astfel de formular permite declanşarea unor
acţiuni diverse în funcţie de specificul aplicaţiei, prin intermediul unor butoane care au asignate diferite
operaţii cum ar fi deschiderea de formulare, rapoarte, rularea unor interogări, lansarea de aplicaţii
ş.a.m.d.

2.1. Realizarea unui switchboard

Pentru realizarea unui switchboard trebuie mai întâi creat formularul ce va reprezenta
switchboard-ul respectiv. Pentru aceasta din ecranul Forms se apasă butonul <New> , se alege <Design
View> si apoi se confirma prin <OK>.

84
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Se va deschide următorul ecran:

85
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Din toolbar-ul Toolbox se adaugă pe forma nou creata un buton, buton care va deschide o forma
anterior creata. In urma acestei operaţii se va deschide un vrăjitor de butoane de comanda care vă va
ajuta în configurarea tuturor acţiunilor butonului:

Pentru ca efectul apăsării noului buton sa fie deschiderea unei forme in care se pot efectua
operaţii de vizualizare si editare a unor tabele se alege categoria <Form Operations> si acţiunea <Open
Form>. Astfel vom ajunge la ecranul

86
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Aici se va selecta din lista de forme asociate bazei de date, formularul dorit a fi deschis la
apăsarea butonului. După selecţie se trece la următorul ecran apăsând butonul <Next>.

În acest ecran se confirma totul prin <Next>, iar în următorul ecran se optează pentru modul cum
va arata butonul, dacă va conţine o pictogramă sugestivă sau un text.

Apăsând butonul <Next> vom ajunge într-o fereastră în care ni se va cere să dăm un nume, cât
mai sugestiv, butonului pentru cazul în care ne vom referi la el pe viitor. Vrăjitorul îşi va termina treaba
după apăsarea butonului <Finish>.
Dacă doriţi ca în urma apăsării butonului să se deschidă un raport, creat anterior, alegeţi categoria
<Report Operations> acţiunea <Preview report> dupa cum se vede în următorul ecran:
In următorul ecran se alege raportul dorit şi se confirmă cu <Next>. Apoi se vor alege opţiunile

87
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

referitoare la aspectul butonului după cum s-a văzut şi mai înainte. În următorul ecran se va da un nume
sugestiv acestui buton si se finalizează prin <Finish>.
Pentru a adaugă pe switchboard un buton care sa închidă aplicaţia se vor urma paşi similari cu cei
descrişi anterior, cu diferenţa ca de aceasta data se va alege categoria <Application> si acţiunea <Quit
Application>.
Dupa crearea switchboard-ului vom acţiona in vederea deschiderii automate a acestuia la
următoarea deschidere a bazei de date cu care se lucreaza. Pentru aceasta se alege din meniul <Tools>
optiunea <Startup…> ce va deschide următorul ecran:
In acest ecran se va alege in optiunea <Display Form> numele formei care reprezinta

switchboard-ul creat anterior, in cazul din imagine numele fiind “switch” si se confirma apoi prin
<OK>.
Un exemplu concret al acestor operaţii ar putea fi switchboard-ul din ecranul următor,
switchboard ce contine doua butoane ce deschid o forma, un buton ce deschide un raport si un buton
care închide aplicaţia.
Pe forma din exemplu s-au mai adăugat si patru label-uri care explica într-o oarecare măsura

acţiunile realizate de fiecare buton. Pentru adăugarea de label-uri se deschide forma asociata
switchboard-ul in <Design View>, iar aici din Toolbox se alege Label.

88
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Pe formular, începând cu poziţia dorită, se ţine apăsat butonul stânga al mouse-ului si se trasează
un chenar ce va delimita zona in care apare continutul acelui Label. Dupa eliberarea butonului se poate
trece la completarea textului din continutul respectivului Label.

Dupa completare se confirma prin Enter. Rezultatele finale se vor vedea revenind in <Form
View>.

2.2. Crearea unui switchboard folosind Switchboard Manager


Se vor parcurge următorii paşi:
1. Se deschide baza de date dorită (Clienti de exemplu)
2. Din meniul Tools se alege Database Utilities, şi apoi Switchboard Manager.
3. După ce se răspunde cu Yes în vederea creării unui switchboard, se execută click pe New.

89
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

4. Se va tasta numele switchboard-ului şi OK, Microsoft Access va adăuga switchboard-ul în


Switchboard Pages.

5. Click pe noul switchboard şi apoi Edit.


6. Click New.
7. Se tastează textul corespunzător primului item în Text box, apoi click o comandă în Command box.
De exemplu, se tastează Vizualizare clienti şi apoi click Open Form In Edit Mode în Command
box.

90
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Observaţie: pentru a crea un switchboard care face trimitere către alte switchboard-uri, click în Go To
Switchboard din Command box, şi apoi se specifică numele switchboard-ului unde se doreşte să se
ajungă
8. Se vor repeta paşii 6,7 pentru a se adăuga toţi itemii doriţi.
9. La final, click Close.
10. Exemplul se continuă cu crearea unui item pe Main Switchboard (default), care va face trimitere
către switchboard-ul creat anterior Panou principal.

91
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

11. În urma închiderii tuturor ferestrelor, în fereastra bazei de date Clienţi, la obiectul Forms, va apărea
formularul Switchboard.
12. La lansarea acestui formular se va obţine:

92
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

12. La click pe butonul ”Intrare panou principal” care face trimitere către switchboard-ul “Panou
principal” se va obţine:

2.2 Exemplu de bază de date cu un formular logo de StartUp şi un formular de tip main swichboard

Se va crea baza de date artisti _albume.mdb care va avea următoarele cinci tabele :tblAlbum,
tblArtist, tblGenre, tblLabel,
tblLinkArtist _Album.

93
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Start-up Form-ul sau formularul de tip swichboard este un formular blank în care sunt poziţionate
butoane, la acţionarea cărora se declanşează deschiderea de formulare, rularea de interogări, tipărirea
de rapoarte etc. La deschiderea unei baze de date Access, implicit se deschide fereastra bazei de date
respective. Dacă se doreşte însă ascunderea ferestrei bazei de date şi deschiderea unui formular Start-up
Form se va proceda astfel : se va crea un formular în modul design, cu următoarele proprietăţi :
▪ Scroll Bars: Neither
▪ Record Selectors: No
▪ Navigation Buttons: No
▪ Dividing Lines: No
▪ Auto Resize: No
▪ Auto Center: Yes
▪ Border Style: Dialog
▪ Control Box: No
▪ Min/Max Buttons: None
▪ Close Button: No
Apoi, din meniul Tools se va alege Start-Up :

94
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Se descriu în continuare obiectele bazei de date :


Tabelul tblAlbum are următoarea structură:

Tabelul tblArtists are următoarea structură:

95
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Tabelul tblGenre are următoarea structură:

Tabelul tblLabel are următoarea structură:

Tabelul tblLinkArtist _Album are următoarea structură:

Formularul de StartUp, adică formularul care va apărea pe ecran în momentul lansării aplicaţiei
artisti_albume.mdb, este arătat în figura următoare în modul proiectare, împreună cu proprietăţile sale

96
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

şi codul procedurii specificate la proprietatea OnTimer, care se va rula după intervalul de timp
specificat la proprietatea Timer Interval:

97
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Conform acestui cod, după intervalul de timp specificat, formularul frmStartUp se va închide, iar
formularul frmSwichboard se va deschide.
Formularul frmSwitchboard este arătat în figura următoare atât în modul View cât şi în modul Design:

Fiecare buton de pe suprafaţa formularului frmSwitchboard are anumite proprietăţi (Properties) şi are

asignată o anumită acţiune-comandă: astfel butonul View Album by Artists are ca şi procedură asociată
evenimentului On Click un cod VBA, potrivit figurilor următoare. Potrivit acestui cod, la executarea
unui click pe butonul View Album by Artists, formularul frmSwichboard se va închide şi se va
deschide formularul frmView_Album_by_Artists:

98
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Formularul frmView_Album_by_Artists este arătat în continuare în modul View:

99
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Cele două butoane de pe suprafaţa formularului frmView_Album_by_Artists, Click To View Help


Screen şi Click to Return To Swichboard au următoarele proprietăţi:

100
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

cu codul asociat evenimentului On Click:

respectiv,

cu codul asociat evenimentului On Click:


101
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Proprietăţi similare va avea şi butonul de comandă View Artist by Album.


Butonul View Relationships for Database va avea următoarele proprietăţi:

102
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

iar ca şi cod asociat evenimentului On Click, următoarea secvenţă VBA :

Raportul rptRelationshipsForManyToMany_Artists s-a creat astfel:

103
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

- s-a vizualizat fereastra Relationships, iar din meniul File s-a selectat comanda Print
Relationships, conform figurii:

- la închiderea ferestrei se poate opta pentru salvare într-un raport, aşa cum se arată în figura
următoare:

104
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

La finalul acestei aplicaţii, fereastra bazei de date va conţine următoarele obiecte (tabele, interogări,
formulare, rapoarte), conform figurilor:

105
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Observaţii:
- se vor crea două formulare frmView_Album_by_Artists1 şi frmView_Artists_by_Album1 cu
ajutorul Wizard-ului şi folosindu-se ca sursă cele două interogări qryAlbumArtist şi
qryArtistAlbum.
- grila de proiectare a uneia din cele două interogări este următoarea:

106
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

II. Rapoarte
II.1. Prezentare generală

Ultimul produs al majorităţii aplicaţiilor pentru baze de date este raportul. Access combină
datele din tabele, interogări şi chiar din formulare pentru a genera un raport care poate fi tipărit
ulterior.
Obiectele de tip raport se creează în etapa exploatare a bazelor de date. Continutul lor poate fii
vizualizat pe ecran sau se poate lista la imprimantă.
Majoritatea metodelor de creare a formularelor Access sunt valabile şi pentru rapoarte.

Clasificarea tipurilor de rapoarte Access


Există şase tipuri principale, numite configuraţii:
1. Rapoartele cu o singură coloană prezintă într-o singură coloană lungă de casete de text valorile
fiecărui câmp din fiecare înregistrare dintr-un tabel sau interogare. Funcţia AutoReport din
Access 2000 creează un raport cu o singură coloană atunci când se efectuează un clic de mouse
pe butonul AutoReport de pe bara de instrumente.
2. Rapoartele tabelare au o coloană pentru fiecare câmp din tabel sau interogare şi tipăresc valorile
fiecărui câmp din înregistrări în rândurile de sub antetul coloanei.
3. Rapoartele pe mai multe coloane sunt create din rapoarte cu o singură coloană, folosind tipul
coloană de ziar.
4. Rapoartele cu grupuri/totaluri reprezintă tipul de raport cel mai des folosit, ele sintetizând
datele pentru grupuri de înregistrări , apoi calculează totalurile generale la sfârşitul raportului;
5. Etichetele de adrese reprezintă un tip deosebit de raport pe mai multe coloane care determină
tipărirea numelor şi a adreselor în grupuri. Fiecare grup de câmpuri reprezintă o celulă într-o
reţea.
6. Rapoarte nelegate conţin subrapoarte create pe baza unor surse de date neînrudite, de genul
tabelelor sau interogărilor.
Primele cinci tipuri de rapoarte folosesc ca sursă de date un tabel sau o interogare, la fel ca şi
formularele. Aceste tipuri de rapoarte sunt legate de sursa de date. Raportul principal dintr-un raport

107
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

nelegat nu are o legătură cu un tabel sau cu o interogare folosite ca sursă de date. Subrapoartele
conţinute de un raport nelegat trebuie însă să fie legate de o sursă de date.
Cu Microsoft Access 2000 se pot realiza obiecte de tip raport utilizând optiunea REPORTS din
meniul OBJECTS si butonul de comanda NEW sau alegând comanda REPORT din meniul Insert.
Modalităţile de creare propuse de Microsoft Access 2000:
I: Design View : Realizare rapoartelor de către utilizator, în funcţie de viziunea proprie a acestuia
(utilizatorul precizează controalele din raport);
II: Report Wizard : Crearea rapoartelor este asistata de Wizard;
III: AutoReport: Columnar : Generarea automata a rapoartelor, cu particularitatea ca datele dintr-o
înregistrare sunt prezentate pe o singura coloana.
IV: AutoReport : Tabular: Generarea automata a rapoartelor cu datele organizate sub forma tabelara;
V: Chart Wizard : Crearea de rapoarte cu grafice ;
VI: Label Wizard : Dupa cum indica si numele opțiuni de lucru, se creează , asistat de Wizard,
rapoarte de dimensiunile cerute pentru imprimarea lor pe o eticheta (utile in corespondenta ).

Se poate observa faptul ca in partea stânga a ferestrei New Report , dupa selectarea unei posibilităţi
de lucru, apar explicaţii referitoare la opțiunea selectata. De asemenea, din lista derulanta cu eticheta

108
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Choose the table or query where the object’s data comes from :se poate alege o tabela sau o interogare
constituind sursa de date a raportului.
În structura unui raport se pot identifica elemente comune cu formularele , cum ar fii:
• secţiunile unui raport: Report Header/Footer , Page Header/Footer, Detail etc. . . :
• controale de tip casete text , etichete , butoane de comanda, etc. și proprietățile acestora (cu
excepţia celor eveniment(Event), care nu sunt accesibile controalelor din rapoarte).

II.2. Generarea rapoartelor cu instrumentul Wizard

Pentru o realizare rapida a unei situaţii complexe , sub forma unui raport standard, se poate folosi
optiunea Report Wizard.
Etapele definirii asistate a structurii unui raport sunt următoarele:
1. Selectarea, din meniul principal al aplicaţiei, a opţiunilor Insert, apoi Report. ori din fereastra
Database, lista Objects, butonul Reports, apoi New, dupa care, in ambele cazuri, alegerea
variantei Report Wizard din fereastra New Report.
2. Alegerea, din lista derulanta Choose the table or query where the object’s data comes from: a
numelui tabelei, ori interogării, stabilite drept sursa de date a raportului (in exemplul de mai jos,
interogarea Stocuri)si activarea butonului OK.
3. In prima fereastra propusa de Wizard se pot alege câmpurile ce vor alcătui structura raportului, cu
ajutorul butoanelor>, >>, <, << sau cu dublu click pe numele câmpului. Aceste câmpuri pot fi selectate
din mai multe tabele ori interogări (daca la pasul 2. nu s-a stabilit deja o sursa de date a raportului)
utilizând lista derulantă.

109
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Precizarea modului de aşezare a datelor în raport se face ca în fereastra următoare:

4 Se precizează criteriile de grupare a datelor in raport. Gruparea datelor înseamnă căutarea tuturor
inregistrarilor(rândurilor)din sursa de date care conţin aceeaşi valoare pentru câmpul stabilit drept
criteriu de grupare si afişarea lor, consecutiv, în raport.
110
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

In exemplul prezentat, datele vor fi grupate dupa Denumire furnizor. Selectarea/deselectarea


unui criteriu de grupare se realizeaza cu dublu clic pe acesta sau cu clic pe câmpul ales drept criteriu si
apoi activarea butoanelor>/<.
Intr-o prima faza, Wizard propune automat un criteriu, avansând-l în lista din dreapta ferestrei
din figura anterioară și colorându-l de regulă, cu albastru. Cu săgeţile Priority se stabileşte ordinea
operaţiunilor de grupare. Pentru precizarea faptului ca gruparea se face dupa un criteriu mai detaliat,
s-a deschis fereastra Grouping Intervals, în care s-a selectat opţiunea, Grouping intervals
Se va obţine, prin urmare, o situaţie a stocurilor, pe furnizori .

111
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Dacă se stabilesc drept criterii de grupare câmpuri de tip text, atunci în coloana Grouping
Intervals am fi putut preciza afişarea în raport a valorii câmpului în întregime sau numai a primei
litere, sau numai a primelor doua litere, pana la primele cinci litere din valoarea stocata în câmp.
Dacă criteriul ar fi fost un câmp numeric, atunci Wizard propune afişarea unor intervale de marime 10,
50, 100, 500, 1. 000, 5. 000, 10. 000.
5. In fereastra din figurile de mai jos se stabilesc câmpurile în funcție de valorile cărora datele din
raport vor fi ordonate(sortate), precum si cele care se vor executa operaţii de sinteză (cu butonul
Summary options…), cum sunt cele prezentate în figura următoare(însumare, medie aritmetica,
valorile minime si maxime din domeniul câmpului precizat). In exemplul dat, se va executa
operaţiunea de sinteza de însumare pentru câmpul Valoare, pe fiecare furnizor şi câmpului cantitate.

112
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

6. In aceasta etapa, instrumentul Wizard propune mai multe feluri de prezentare a datelor in raport,
precum si dispunerea(-Orientation-) verticala *Portrait ori orizontala - Landscape structurii
raportului pe coala de imprimare.
7. Următorul pas consta in alegerea stilului (aldin, concentrat italic, încadrat ori nu, etc)in care sunt
afişate fiecare categorie de informaţie.

113
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

8. Ultima etapa presupune stabilirea tipului raportului. Daca utilizatorul doreste sa faca unele mici
modificari privind structura raportului astfel creat, inainte de a activa butonul Finish , se selecteaza
optiunea”Modify the report design”.
Astfel, in exemplul dat, avand in vedere ca randurile de sume, etichetele campurilor de grupare
si alte elemente se afiseaza implicit in limba engleza, se pot opera modificari in acest sens.
Dupa activarea butonului Finish, raportul se salveaza sub numele dat de titlul ales mai
devreme. O parte din situatia obtinuta se poate vizualiza mai jos . Vizualizarea situatiilor pe ecran se
face in mod Preview (utilizarea, rularea raportului), ori in mod Design(proiectare, definire a structurii
sale). Incadrarea in marginile paginii imprimate poate fi verificata cu Layout Preview. Toate aceste
trei posibilitati se regasesc si in meniul View al Microsoft Access.

Tipărirea la imprimanta se realizeaza cu meniul File, optiunea Print, sau cu butonul ” Print” din
bara de meniuri: dacă obiectul de tip raport este închis, acesta se selectează in fereastra Database, apoi
se alege Print din meniul File . Dupa cum se poate remarca, o serie de aspecte ale raportului mai pot
114
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

fi îmbunătăţite. Pentru aceasta se va deschide raportul in mod Design, pentru ca utilizatorul sa poată
opera schimbări in structura acestuia.

Observaţie : Dacă dorim să deschidem un raport într-un formular, în previzualizare, după ce s-


a apăsat un anume buton de comandă, la evenimentul Click al butonului se va scrie codul
DoCmd.OpenReport "Produse", acViewPreview

II.3. Crearea obiectelor de tip raport folosind optiunea Design view


1. Selectarea, din meniul principal al aplicaţiei Microsoft Access, a opţiunilor Insert, apoi Report, ori
din fereastra Database, lista Objects, butonul Report, apoi, dupa care, in ambele cazuri, alegerea
variantei Design View din fereastra New Report.
2. Alegerea, din lista derulanta Choose the table or query where the object’s data comes from:, a
numelui tabelei, ori interogării, stabilite drept sursa de date a raportului, si activarea butonului OK.
Daca din greşeală sau voit, nu s-a selectat nimic drept sursa de date a raportului, atunci se poate utiliza
fereastra de proprietăţi ale acestuia. Se deschide cu clic dreapta pe bara de titlu a ferestrei de definirea
raportului, ori pe suprafaţa gri a acesteia, ori pe cele doua rigle(orizontala si verticala, in afara
porțiunilor care permit selecţii ale elementelor din raport)ori pe butonul general al raportului, din coltul
115
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

din stânga sus al ferestrei de definire, ori cu dublu clic pe aceste două ultime elemente enunţate, ori cu
meniul View, optiunea Properties. In fereastra de proprietăţi ale raportului, se alege tab-ul Data, iar
din lista derulanta cu eticheta Record Source, se selectează interogarea Stocuri.
3. In momentul deschiderii, fereastra de definire a raportului prezintă doar 3 secţiuni (asemănătoare
celor din formulare):
• Page Header
• Detail.
• Footer

Pentru crearea unui titlu al raportului (antet) si pentru definirea sfarsitului de raport (de regula, linii
de total general), se utilizeaza meniul View, optiunea Report Header/Footer, sau aceeasi optiune din
meniul contextua (clic buton dreapta mouse pe suprafata alba de lucru) al raportului. Cu un control de

116
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

tip eticheta, se defineste titlul raportului si se formateaza (se stabilesc culori pentru fond, font si linia de
incadrare, precum si tipul acesteia, cu butoanele Fill/Back Color, Font/fore Color, Line/Border
color, Line/Border Width, Special Effect din bara de meniuri).
Daca una dintre sectiuni se considera inutila, atunci se reduce la zero largimea ei.
4. Gruparea datelorsi/sau sortarea lor se realizeaza fie cu meniul View, optiunea Sorting and
Grouping, fie cu aceeasi optiune din meniul contextual

Pentru expresiile sau campurile din sursa de date stabilite drept criterii de grupare (si, eventual,
sortare) se selecteaza Yes in rubricile corespunzatoare antetului(Group Header) si/sau subsolului de
grup (Group Footer), din lista de proprietati ale fiecarui grup de date(Group Properties);
In rubrica Sort Order se precizeaza daca sortarea datelor se va face in ordine crescatoare
(Ascending) sau descrescatoare (Descending) a valorilor criteriului de grupare(sortare). Proprietatile
unui criteriu de grupare/sortare sunt accesibile numai dupa pozitionarea cursorului mouse-ului pe
denumirea campului in cauza. In exemplul dat, se pot remarca atat prezenta unei mici sageti negre in
dreptul campului Denumire p. Daca se doreste numai sortare in functie de valorile unui anumit camp,
nu si grupare, atunci in rubricile Group Header, Group Footer se lasa valoarea No.
5. In sectiunea Detail se aduc campurile care se vor afisa in raport pentru a caracteriza fiecare intrare
de material. Lista de campuri, daca n-a fost afisata automat, se poate vizualiza activand fie meniul
View, optiunea Field List. Expresiile de calcul se definesc cu ajutorul unei casete text, in care se vor
scrie formulele, precedate de semnul ”=”.
De exemplu, pentru a extrage luna din cadrul uni date si a o afisa scriindu-i denumirea cu
caractere alfabetice, urmata de an, s-e va scrie formula
<<=Format$[Data stocarii], ”mmmm yyyy”, 0, 0>>.
117
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Pentru definirea afisarii numarului current al fiecarui material (obtinut prin incrementare), s-a
creat o caseta text cu proprietatile din figura de mai jos. In caseta Control Source se trece”=1”, iar
pentru ca numaratoarea sa se desfasoare unitar pentru toate materialele introduse in stoc, indiferent de
furnizor, se alege Over Al l(“peste tot”) in caseta Running Sum.

Pentru calculul valorii s-a scris intr-o caseta formula:


“=[Cantitate stocata]*[Pret Unitar]”,
iar pentru a insuma cantitati si valori si a afisa subtotaluri in Group Foot-urile corespunzatoare, s-a
utilizat functia Sum() (ca si in proiectarea formularelor), aplicata cantitatii si expresiei valorii, dupa
cum se obseva in fig. de mai sus.
6. Pentru evidentierea anumitor date (afisare cu caractere si chiar culori diferite a informatiilor in
raport, in functie de implinirea unor conditii) se utilizeaza optiunea Conditional Formating din meniul
Format al Microsoft Acess. . Aceasta este disponibila numai dupa selectarea unui control legat la o
sursa de date (o caseta text(Text Box), de regula).

118
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

II.4. Crearea de rapoarte cu subrapoarte


Daca se doreste completare informatiilor dintr-un obiect de tip raport cu altele, continute de
diferite obiecte de tip raport, se creeaza asa-numitele subrapoarte. Ele se pot insera atat in sectiunea de
detaliu, cat si in celelalte sectiuni(inclusive in cele de grup).
Ca si in operatiunea de creare a subformularelor se utilizeaza butonul Subform/Subreport din
caseta de instrumente (controale)-Toolbox, cu sau fara activarea Wizard-ului. De asemenea, se poate
aduce subraportul pe suprafata de lucru, intr-una din sectiunile raportului principal, din fereastra
Database, utilizand tehnica drag-and-drop.

In cazul in care operatiune de creare de subraport se desfasoara fara Wizard, utilizatorul trebuie
sa verifice daca proprietatile subraportului:Link child Fields si Link Master Fields au primit numele
aceluiasi camp:cel care realizeaza legatura dintre raportul principal si subraport.
Intrucat date din subraport sunt incadrate implicit de o linie, proprietatii Border style i s-a atribuit
valoarea Transparent.

119
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

II.5. Proprietati ale obiectelor de tip raport si ale sectiunii lor


Proprietăţi ale rapoartelor
Se pot deosebi 4 categorii de proprietati ale rapoartelor:
a. Format. In cadrul acesteia, Caption este utilizata pentru stabilirea unui titlu afisat pe bara albastra
de titlu, in modul Print Preview de vizualizare al raportului; Page Header si Page Footer sunt utilizate
pentru specificarea paginilor pe care se vor afisa antetul, respective subsolul de pagina (variante:toate
paginile;toate, mai putin prima, etc. ); Picture permite specificarea fisierului afisat pe fundalul
raportului; Picture Pages precizeaza paginile pe care se va afisa fundalul ales.
b. Data. Record Source precizeaza o tabela, o interogare, ori o fraza SQL care va fi sursa de date a
raportului; Filter se foloseste pentru stabilirea unei conditii-filtru pe care trebuie s-o indeplineasca
datele ce vor fi afisate in raport; Filter on permite selectarea a doua valori: Yes, ceea ce presupune ca
criteriul specificat in filter devine activ (se aplica datelor) si No, care anuleaza actiunea filtrului.
c. Event-proprietati de tip eveniment. On Open serveste, in principal, la definirea de filter; On Close
poate realiza stergerea fisierelor temporare creat in timpul executiei raportului. In general, acestora le
sunt atasate functii ori proceduri.
d. Other-alte proprietati. Record Looks asigura blocarea informatiilor dintr-un raport in timpul afisarii
acestuia; Date Grouping permite utilizarea tipului implicit de data sau a tipului setat de utilizator;Fast
Laser Printing, cu valoarea Yes, realizeaza o tiparire rapida a unui raport, etc.
Toate categoriile de proprietati se regasesc in rubrica(tab-ul) All.

Proprietăţi ale secţiunilor rapoartelor


Acestea nu sunt foarte numeroase. Categoria Data lipseste. Ele servesc la atribuirea unui nume
fiecarei sectiuni(Name), la efectuarea saltului la pa pagina noua(Force New Page), la
ascunderea/afisarea anumitor date(Visible-Yes/No), la pregatirea sectiunilor pentru afisare(On Format
ori On Print), la reformatarea sectiunilor(On Retreat), etc.

Alte facilităţi acces pentru dezvoltarea aplicaţiilor

1. Introducere

120
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Acces faciliteaza dezvoltarea si exploatarea bazelor de date punand la dispozitia utilizatorilor o serie
de instrumente exterm de utile ce permit:
• Utilizarea bazelor de date create in versiuni diferite ale Microsoft Acces si realizarea de
conversii intre formatele de fisiere
• Compactarea si repararea bazelor de date
• Elaborarea rapida a formularelor de interfata cu utilizatorul ( prin intermediul utilitarului
SwitchiBoard Manager )
• Personalizarea interfetei bazei de date ( prin intermediul ferestrei Start-Up)
• Divizarea aplicatiilor prin separarea tabelelor de restu obiectelor ( prin intermediul
instrumentului DataBase Splitter )
• Analiza si documentarea bazelor de date
• Sporirea gradului de securitate in exploatarea bazei de date ( prin conversia in format MDE,
stabilirea unei parole, incriptarea sau stabilirea unui system ierarhic de utilizatori )

2. Utilizarea bazelor de date create în versiuni diferite ale Microsoft Accses


Exista situatii care impun utilizarea unui fisier creat in Access 2000 in sisteme unde sunt instalate
versiuni mai vechi ale Microsoft Office. De asemenea, dupa instalarea Acces 2000, utilizatorii vor
dorii sa foloseasca in continuare aplicatiile anterior create. In acest sens exista posibilitatea convertirii
abzei de date in formatul corespunzator. Putem efectua aceasta obtiune prin intermediul comenzii
Tools->Database Utilities->Convert Database.
Deschiderea unei baze de date create într-o versiune anterioară a Microsoft Acces
In momentul in care se incearca deschiderea unui astfel de fisier utilizatorul este solicitat sa opteze
inter doua posibilitati :
• deschidera bazei de date fara a realiza conversia ( Open Database ) – in acest caz se vor putea
actualiza, sterge si adauga inregistrari in tabele, vor putea fi utilizate formularele, interogarile
si rapoartele existente, dar nu se vor putea efectua modificari in design-ul acestora si nu exista
posibilitatea creerii de noi obiecte. ( Aceasta solutie este recomandata in cazul bazelor de date
accesate simultan de mai multi utilizatori, care folosesc versiuni diferite de Acces ).
• Conversia bazei de date in formatul Access 2000 ( Convert Database ) – daca se opteaza
pentru aceasta solutie utilizatorului i se va solicita sa acorde numele si sa stabileasca directorul
in care va fi localizate noua baza de date ( fisierul rezultat in urma conversiei tebuie safie
121
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

diferit de fisierul sursa ). Aceasta opeartiune se pote realiza si fara a deschide baza de date : se
lanseaza Microsoft Acces si din meniul Tools->Database Utilities->Convert Database optiunea
To Prior Acces Database Version. Utilizatorul va trebui sa acorde un nume pentru noul fisier
(nu se accepta scrierea peste fisierul sursa sau peste un alt fisier deja existent ).

3. Compactarea şi “repararea” bazelor de date


Stergerea inregistarilor din tabele ori stergerea unor interogari, rapoarte sau alte obiecte ale bazei de
date conduce la fragmentarea acesteia. Drept urmare spatuil ocupat pe disc de respectivul fisier este
mai mare decat cel necesar in realitate. Pe de alta parte, evenimentele precum penele de current sau
inchidera necorespunzatoare a unei sesiuni de lucru in Access pot determina deteroirare astructurii
bazei de date.
Pentru a elimina aceste inconveniente Microsoft Access 2000 pune la sispozitia utilizatorilor
facilitatea de compactarea si reparare a bazei de date, Compact and RepairDatabase. In acest caz
baza de date compactata va lua locul celei vechi. In cazul unei baze de date distribuite este necesara,
in prealabil, inchiderea acesteia de către toti utilizatorii.
Compactarea unei baze de date fara a o deschide presupune parcurgerea urmatoarelor etape:
• Inchiderea bazei de date active
• Pozitionarea in cadrul meniului Tools pe Database Utilities si alegerea optiunii Compact
Database.
• Specificarea denumirii bazei de date ce se doreste a fii compactata in cadrul ferestei de dialog
Database To Compact From si validarea acesteia prin butonulCompact.
• Specificarea numelui si cai noi baze de date compactein cadrul ferestrei de dialog Comapct
Database Into, urmata de click pe butonul Save. Daca se utilizeaza aceasi cale si acelasi
nume al bazei de date initiale, aceasta va fi inlocuita de varianta compacta.
In Microsoft Access 2000 avem posibilitatea de a automatiza operatia de compactare deschizand
baza de date dorita si selectand Tools->Options, eticheta General, optiunea Compact on Close.
Compactarea bazei de date nu este echivalenta cu o arhivare a acesteia. Practic prin compactare se
procedeaza la o rearanjare a modului in care fisierul este stocat pe disc, eliminandu-se fragmentarile ce
implica spatii neutilizate. Aceasta conduce, de regula la dimensiuni mai mici ale fisierelor is la
optimizarea performantelor. Pentru bazele de date de dimensiuni mai mari este indicata folosirea

122
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

periodica a unui program de defragmentare a harddisk-ului in paralel cu facilitarea ce compactare din


Access.
Operatiunea de reparare a bazei de date are ca efect restaurarea tabelelor, interogarilor si
indecsilor. Formularele raportate si modulele vor fi doar copiate in fisierul rezultat.
Compactarea in Access nu implica si convertirea acesteia in formatul Access 2000.
Compactarea poate fi realizata prin intermediul limbajului VBA folosind metoda Compact Database a
obiectului DBEngine.

4. Generarea automată a panourilor de comandă pentru aplicaţii

Prin intermediul programului – wizard Switchboard Manager, Access 2000 permite crearea
automata a unuia sau mai multor panouri de dirijare a aplicatiilor. In fond, aceste panouri sunt
formulare ce contin butoane care executa diverse operatii precum deschidera de formulare, tiparirea
rapoartelor, executarea macro-uirlor sau a secventelor de cod VBA :

.
• utilizatorul poate realiza toate acestea fara sa efectueze nici o operatie de formatare a
formularelor si fara sa modifice proprietati aleobiectelor sau sa programeze actiuni pe
evenimentele acestora. Pasii care trebuie urmati sunt urmatorii:
• Se selecteaza Tools->Database Utilities->SwichboardManager. Daca la instalarea Access
2000 nu ati instalat SwichboardManager selectati-l din meniul Tools-> Add-ins.

123
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

• In fereastra SwichboardManager selectati Edit pentru a configura un panou de comanda ( in


mod implicit exista un panou numit Main Swichboard ) sau New si apoi Edit daca doriti sa
creati unul nou.
• In fereastra Edit Swichboard Page puteti modifica numele formularului in caseta Swichboard
Name sau puteti adauga noi obiecte prin apasarea butonului New.
• In caseta de dialog Edit Swichboard Item completati textul pe care doriti sa-l atasati unui
buton de comanda si selectati din lista Command actiunea pe care doriti sa o execute.
• Adaugati astfel toate elementele dorite si apoi apasati butonul Close.
Exista posibilitatea de a defini mai multe panouri de comanda. Pentru a comuta intre acestea se poate
allege din lista de actiuni disponibile in caseta Edit Swichboard Item “ Go to Swichboard” . se poate
stabili care este panoul implicit al aplicatiei selectandul in fereastra Swichboard Manager si efectuand
clic pe Make Default.
In momentul generarii de formulare in acest mod ste creata automat si o tabela numita Swichboard
Items care contine informatii cu privire la aceste formulare. Din acest motiv nu este recomandata
modificarea panourilur Swichboard in modul Design View.

5. Personalizarea interfeţei bazei de date prin intermediul ferestrei Start-Up


Pentru o baza de date Access se paote stabili un formular care sa fie deschis automat la
deschiderea bazei de date. De exemplu un formular care sa ofere butoane pentru accesul la toate
functiile aplicatiei ( formulare, rapoarte, interogari, tabele ), fara ca utilizatorul sa fie nevoit sa
cunoasca numele formularelor, rapoartelor, etc. stabilirea acestui formular si a altor parametrii ai
bazei de date se realizeaza din meniul Tools->Start Up.

6. Utilitarul Database Spiltter


Acest program utilitar este disponibil in meniul Tools->Database Utilities doar in cazul in care se
selecteaza Additional Wizards Components la instalarea Access 2000. prin intermediul Database
Splitter se ofera posibilitatea separarii tabelelor de celelalte obiecte ale bazei de date ( formulare,
rapoarte, etc. ) generandu-se practic doua fisiere. Este o facilitate extrem de utila, in special in cazul
sistemelor multiuser, permitand fiecarui utilizator gestionarea elementelor de interfata intr-un fisier
separate.

124
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

7. Facilităţi privind securitatea bazei de date


Privitor la securitatea bazei de date, Access2000 pune la dispozitie:
a) posibilitatea stabilirii unei parole de access la baza de date;
b) posibilitatea creerii de utilizator pentru accesul la baza de date si stabilirea de drepturi de access
pentru acestia; fiecarui utilizator i se poate stabili numai obiectele din baza de date la care are
acces;
c) posibilitatea încriptării bazei de date;
d) conversia bazelor de date in format MDE.
a) stabilirii unei parole de access la baza de date se realizeaza din meniul Tools Database
Utilities->Set Database Password. Pentru a se putea stabili sau elimina parola bazei de date, aceasta
trebuie deschisa pentru utilizare exclusiva. Deschidera unei baze de date pentru utilizare exclusiva se
stabileste in momentul deschiderii acesteia prin secventa File->Open.

Dupa stabilirea unei parole acesta se poate elimina din meniul <Tools-Database Utilities- Un Set
Database Password.

125
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Atentie! Daca parola de access la baza de date este uitata nu mai exista nici o posibilitate de a deschide
sau de a afla aceasta parola.

b) stabilirea unui sistem de utilizatori


Crearea de utilizatori, grupuri noi de utilizatori, precum si modificarea utilizatorilor, grupurilor, a
parolelor utilizatorilor se realizeaza din meniul Tools ->Security ->User And Group Account.
Crearea utilizarilor si stabilirea grupurilor din care fac parte se realizeaza sectiunea Users a meniului
mentionat anterior. Crearea de noi grupuri se realizeaza din sectiunea Groups a aceluias meniu.
Implicit sunt create automat de Access grupurile Admins si Users. Utilizatorul creat automat de
Access este Admin care are drepturi complete asupra tuturor obiectelor bazei de date. Schimbarea
unei parole pentru un utilizator se realizeaza din sectiunea Change Logon Password.
Securitatea unei baze de date la acest nivel ( utilizatori, parole, drepturi asupra obiectelor bazei
de date ) incepe sa functioneze in momentul cand se stabileste o parola pentru utilizatorul Admin.
Acordarea drepturilor de acces pentru utilizatori sau grupuri se realizeaza din meniul Tools-
>Security->User And Groop Permission. Dacă drepturile se acorda la nivel de grup, acestea vor fi
mostenite de fiecare utilizator membru al grupului respectiv.
Obiecte din
baza de date

Categoria de
obiecte

Tipurile
de drepturi
acordate

c) Incriptarea / descriptarea bazei de date

126
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Se realizeaza dim meniul Tools->Security->Encripted/Decripted Database. Incriptarea bazei de


date are ca efect imposibilitatea citirii anumitor elemente din baza de date prin deschiderea ei cu un
editor de texte. De exemplu, intr-o baza de date neincriptata daca avem legaturi catre alte tabele
dintr-o alta baza de date care este protejata prin parola, se poate gasi aceasta parola daca se cauta
cuvantul pwd in baza de date deschisa cu un editor de text.
d) Conversia bazelor de date in forme MDE-formatul executabil din Access
Acest proces presupune compilarea tuturor modulelor, renuntarea la posibilitatea de editare a
codului VBA, precum si compactarea bazei de date destinatie. Codul VBA va continua sa
functioneze, dar nu va putea fi vizualizat sau editat. Dimensiunea bazei de date va fi considerabil
micşorata, ca urmare a indepartarii codului, iar performantele obtinute vor fi imbunatatite prin
gestionarea optima a memoriei.
Salvarea bazei de date in formatul MDE are drept efect:
• inhibarea vizualizarii, modificarii sau crearii formularelor, rapoartelor sau modulelor in modul
Design View;
• blocarea importului de formulare, rapoarte si module ale altor aplicatii, ramanand viabila
posibilitatea de a importa obiecte de tipul tabele, query si macro din alte baze de date ;
• nu se vor mai putea exporta spre alta baza de date rapoartele, formularele si modulele, exceptie
facand tabelele, query-urile si macro-urile ;
• imposibilitatea modificarii proprietatilor si metodelor obiectelor, deoarece o baza de date de tip
MDE nu mai contine codul sursa ;
• prevenirea adaugirii, stergererii sau schimbarii referitor la librariile de obiecte sau la alte baze
de date ;
Avand in vedere schimbarile mai sus mentionate suferite de baza de date in urma salvari ei ca
fisier MDE este recomandabila pastrarea unei copii de siguranta a acesteia. In momentul in
care se impune o modificare a formei rapoartelor, formularelor ori modulelor se va proceda la
lucrul cu baza de date necompactata, salvarea modificarilor la acest nivel si abia dupa apoi sa se
recurga la o noua salvare ca fisier MDE.
Utilizarea procedeuluide transformare in fisiere MDE este recomandabila in cazul bazelor de date
distribuite, pe o statie de lucru care nu va avea nevoie de posibilitatea de modificare a codului, in timp
ca forma initiala a bazei de date va fi prezentata pe server.
Conversia unei baze de date in format MDE se realizeaza prin parcurgerea etapelor :
127
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

• Se inchide baza de date, iar in cazul bazelor de date distribuite este necesar ca toti utilizatorii sa
inchida baza de date ;
• In cadrul meniului<Tools> se alege<Database Utilities>, dupa care se realizeaza click pe
<Make MDE File>
• Se specifca baza de date care se doreste salvata ca fisier MDE in cadrul ferestrei de dialog
Database To Save As MDE, dupa care se realizeaza click pe butonul<Make MDE>.
• Se indica calea si numele fisierului de tip MDE in cadrul ferestrei Save MDE As.
Acces 2000 nu poate transforma in format MDE o baza de date creata intr-o versiune mai veche de
Access, fiind necesara, mai intai convertirea acesteia.

8. Analiza si documentatia bazei de date


MS Access pune la dispozitiautilizatorilor un utilitar pentru analiza si optimizarea bazelor de
date. Optimizarea bazei de date poate fi realizata automat prin apelarea programului Performance
Analyzer, apelabil prin selectarea optiunii Tools->Analyze->Performance din meniul Access.

Peformance Analyzer furnizează recomandări în vederea optimizării bazei de date, dar permite
şi optimizarea propriu-zisă a acesteia.

128
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Una din principalele etape parcurse in realizarea unei aplicatii o constituie si elaborarea
documentatiei care sa cuprinda descrierea tuturor obiectelor bazei de date si care este necesara
pentru dezvoltari/modificari ulterioare.
Utilitarul Documentelor elaboreaza automat documentatia fie pentru toate, fie pentru anumite obiecte
ale bazei de date. Apelarea acestui utilitar se realizeaza prin optiunea Tools->Analyze->Documentor.

Documentatia generala de Documentor contine :


1. pentru baza de date
129
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

• versiunea
• utilizatorii si grupurile de utilizatori ce pot accesa baza de date, etc.
2. pentru un obiect de tip tabel :
• Proprietati ( conditii de validare, nr. De inregistrari etc. ) ;
• Campurile cu proprietatile aferente ( denumire, tip, lungime, cheie primara etc. ) ;
• Indecsii (denumire, tip etc. )
• Relatiile cu celelalte tabele ale bazei de date ;
• Utilizatori/grupurile de utilizatori ce au drepturi asupra tabelei.
3. Pentru obiecte de tip interogare :
• Proprietati (tipul de interogare, data crearii etc)
• Comanda SQL aferenta ;
• Campurile continute de interogare, cu proprietatiile corespunzatoare ;
• Indecsii continuti din interogare ;
• Drepturile aferente fiecarui utilizator asupra interogarii respective
4. Pentru obiecte de tip formular :
• Proprietati ( tipul formularului, sursa de date etc. ) ;
• Controalele continute de formular, inclusiv sectiunile acesuia, cu proprietatile aferente ;
• Modulele incluse in formular
• Utilizatorii, cu prmisiunile fiecaruia asupra formularului.
5. Pentru rapoarte:
• proprietati ( titlu, sursa de date etc. )
• obiectele incluse ( contoare si sectiuni), cu proprietatile respective ;
• Utilizatorii ce pot executa sau modifica raportul.
6. Pentru obiectele macro :
• Proprietati( data crearii, proprietarul, etc. ) ;
• Actiunile continute ;
• Utilizatorii ce pot executa/modifica macro-ul ;
7. Pentru obiectele modul :
• Proprietati ( daca crearii, proprietarul, etc. ) ;
• Codul inclus ( declaratii, functii si proceduriVBA) ;
• Drepturile utilizatorilor asupra modulului.
8. Pentru relatiile definite intre tabele :
• Tabelele ce formeaza relatiile ;
• Tipul fiecarei relatii

CONFIGURAREA UNUI DSN PENTRU ACCESAREA UNEI SURSE DE DATE ACCESS

Bazele de date Access pot fi accesate din alte aplicatii utilizand interfata ODBC. In cele ce
urmeaza se prezinta modul de definire a unui DSN pentru accesarea bazei de date cu numele Magazin..
mdb din orice aplicatie care recunoaste interfata ODBC.

130
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Aplicatiile care vor accesa aceasta baza de date, vor referi doar numele DSN-ului. Dupa
activarea aplicatiei de configurare( ODBC data Source Administrator) a interfetei ODBC ( din
ControlPanel>ODBCData Sourse), se parcurg urmatorii pasi:

a) se actioneaza butonul Add din sectiunea dorita de DSN( User Sistem File);

b) se alege driver-ul pentru Access ( Microsoft Access Driver);

131
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

c) se actioneaza butonul Finish;


d) se configureaza optiunile din fereastra de mai jos :

132
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Semnificatia principalelor optiuni:


 Select – se selecteaza baza de date Access cu care se va realiza comunicarea.
 Create – permite creearea unei baze de adet Access
 Repair – pentru repararea bazei de date
 Compact – pentru compactarea bazei de date
 Sectiunea Driver se activeaza din butonul de comanda Options.
 Buffer Size – stabileste dimensiunea bufferului la scrierea si citirea datelorde pe hardisk.
 Exclusive – baza de date va fi deschisa in mod exclusiv. Practic, la un moment dat numai o singura
aplicatie poate comnica cu baza de date, nefiind permis accesul simultan al mai multor aplicatii, nici
macar utilizarea ei din mediul Access.
 ReadOnly – baza de date va fi accesibila doar pentru consultare, nefiind permise actualizarile
 Optiunea Advanced ofera posibilitatea stabilirii utilizatorului implicit si parola acestuia ( daca sunt
configurati utilizatori), precum si o sectiune ( Options ) prin care se poate stabili valoarea unor
parametrii ai conexiunii.
 Row Scan – numarul de rnduri care vor fi citite dintr-o coloana, a unui set de inregistari ( rezultate
din executia unei fraze SQL), pentru a se stabili tipul de date al acesteia.
 MaxBufferSize – dimensiunea buffer-ului( acelasi parametru cu Buffer Size descris anterior).
 DefaultDir – folder-ul implicit unde va fi localizata baza de date.
 ReadOnly – baza de date va fi acesibila doar pentru consultare ( valoarea zero ) sau pentru
actualizare ( valoarea unu ).
 ExtendedAnsiSQL – va fi recunoscut ANSI SQL extins ( valoarea unu) sau nu (valoarea zero ).
Asa cum s-a mentionat daca DSN-ul este de tip FileDsn, parametrii de configurare sunt salvati intr-un
fisier text cu extensia dsn.

ACCESS 2000 SI BAZELE DE DATE ON-LINE


Access 2000 ofera un support puternic pentru eleborarea paginilor Web care acceseaza baze de
date, categoriile de pagini Web puse la dispozitie fiind:
• Pagini Web statice – in aceasta categorie se include paginile Web scrise numai in limbajul
HTML;

133
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

• Pagini Web dinamice – in aceasta categorie se include paginile de tip ASP (Active Server
Pages) sau IDC/HTX;
• Obiecte de tip pagina Web (Data Access Pages), obiecte ce sunt salvate in baza de date cu
celelalte obiecte ale acesteia.
1. Elaborarea paginilor Web statice
Sunt pagini care se pot genera prin functia de export oferita de Access (meniul File Export).
Aceste pagini se pot crea din continutul unui tabel, interogari, formular sau raport. Generarea propriu
zisa a paginii Web se poate realiza prin selectarea unui obiect in fereastra bazei de date sau prin
deschiderea unui obiect din categoriile mentionate si apoi din meniul File, se selecteaza optiunea
Export, iar in caseta Save as Type se selecteaza HTML Documents. Pagina Web este generata
exclusiv in limbajul HTML, si nu contine definitii pentru actualizarea continutului obiectului din care a
fost generata pagina (nu exista o definitie pentru conexiunea cu baza de date). Practic pagina este
generata pentru continutul obiectului, din momentul operatiei de generare a paginii, modificarea datelor
in obiectul Access, nu se reflecta si in continutul paginii Web. Pentru a se reflecta si pe Web,
actualizarile intervenite in baza de date, trebuie generata pagina Web din nou. O pagina Web generata
in acest mod trebuie publicata de utilizator pe orice server Web.
Este cea mai slaba categorie de pagini Web oferita de Access, utilitatea acestora regasindu-se
doar in cazul in care datele publicate pe Web se modifica foarte rar, sau in cazul utilizatorilor novici,
care nu cunosc alte modalitati de publicare pe Web a datelor dintr-o baza de date Access.

2. Elaborarea paginilor dinamice


Paginile Web dinamice inlatura neajunsurile paginilor Web statice, descrise anterior. O pagina
Web dinamica reflecta permanent modificarile datelor intervenite in baza de date, pagina Web odata
generata, nu mai are nevoie decat, eventual de ajustari din partea utilizatorului cel mai des in sensul
design-ului paginii. Pagina se poate genera din nou doar daca se modifica structura obiectului, insa in
nici un caz din cauza actualizarii datelor. In toate cazurile utilizatorul poate sa intervina cu un editor
peste codul generat de Access, pentru modificarea elementelor de design sau pentru modificari legate
de datele de accesate, putand sa-si defineasca propriile prelucrari asupra datelor dintr-o baza de date
chiar in pagina Web. De asemenea isi poate adauga in pagina si alte categorii de script-uri cum ar fi
cele realizate cu ajutorul limbajului JavaScript. Pentru a interveni intr-o pagina dinamica generata de

134
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

Access, (sau pentru crearea uneia fara a folosi generatorul din Access), sunt necesare cunostinte de
HTML, VBScript, ADO, SQL.
Paginile Web dinamice generate de Accesssunt de tip ASP (Active Server Pages) sau de tip
IDC/HTX si pot fi generate numai pentru obiecte de tip tabel, interogare sau raport. Aceste pagini pot
fi publicate pe serverele WEB Microsoft Internet Information Server (IIS) sau Personal Web
Server (PWS). IIS poate fi executat pe sistemele de operare Microsoft Windows NT 4.0, Windows
2000, Windows XP. PWS poate fi executat pe toate versiunile de Windows incepand cu Windows ’95.
Publicarea unei pagini se poate executa manual sau automat cu ajutorul utilitarelor de care dispun
serverele mentionate. Conexiunea dintre pagina WEB si baza de date, mai are nevoia de definirea unui
DSN* (Data Source Name) in cadrul interfetei ODBC (Open DataBase Connectivity). Generarea unei
pagini WEB dinamice cu Access 2000 trebuie sa fie precedata de crearea DSN-ului, numele acestuia
trebuind sa fie precizat in momentul generarii paginii.

3.Obiecte de tip pagina WEB


Obiectele de tip Data Access Pages sunt gestionate in sectiunea Pages din fereastra bazei de
date (Database Window). La salvarea unui astfel de obiect se creeaza automat un fisier separat de baza
de date, care va contine pagina WEB generata din obiectul Access. Obiectul de baza de date
memoreaza o legatura (shortcut) catre aceasta pagina WEB Acest obiect este asemanator cu un obiect
de tip formular, numai ca se utilizeaza in contextual accesarii bazei de date de pe Internet. Obiectul
salvat in baza de date se poate utiliza si din baza de date Access, insa el este totusi conceput pentru a fi
accesat de pe Internet, Microsoft Access fiind utilizat mai mult pentru proiectarea paginii WEB, decat
pentru actualizarea datelor. Paginile WEB de tip Data Access Pages, sunt procesate correct in
programul de navigare pe Internet Microsoft Internet Explorer, incepand cu versiunea 5.0.
Pentru proiectarea manuala a unui obiect de tip pagina WEB este pus la dispozitie un set de
controale grupate intr-o baza de instrumente Toolbox, utilizarea acestora fiind asemanatoare cu a celor
din cadrul obiectelor de tip raport sau formular.
Pentru crearea unui astfel de obiect se actioneaza butonul de comanda New din sectiunea
Pages, sau se actioneaza unul din shortcut-urile memorate in aceasta sectiune:Create data access page
in design view, Create data access page by using wizard sau Edit WEB page that already exists.
Optiunile disponibile prin actionarea butonului de comanda New, sunt:

135
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

• Design View – permite proiectarea manuala a paginii WEB; este echivalenta cu shortcut-ul
Create data access page in design view.
• Existing Web Page – permite elaborarea unei pagini WEB plecand de la una existenta pe
disk; este echivalenta cu shortcut-ul Edit WEB page that already exists.
• Page Wizard – permite crearea unei pagini WEB, cu ajutorul asistentilor; este echivalenta cu
shortcut-ul Create data access page by using wizard. Optiunile ce trebuiesc configurate cu
ajutorul asistentilor sunt grupate in ferestre, care se refera la:
1. Selectarea campurilor care vor fi afisate in pagina;
2. Selectarea unor campuri dupa care se pot realiza grupari ale datelor (fereastra 2);
3. Ordonarea inregistrarilor;
4. Precizarea titlului paginii, si al modului de deschidere (Open sau Design).

• AutoPage: Columnar – creeaza automat o pagina WEB sub forma unui formular orientat
coloana din tabelul sau interogarea selectata. Bara de optiuni disponibile utilizatorului precizata
anterior, este automat introdusa in continutul paginii. Este forma cea mai rapida de elaborare a
unui obiect de tip pagina WEB.

136
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11

137
Conf.univ.dr.habil. Marian Cristescu

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