Documente Academic
Documente Profesional
Documente Cultură
Î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
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
Î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.
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.
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.
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
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.
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:
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.
Î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
9
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
10
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
Î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
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.
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
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.
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).
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 (
).
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.
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.
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
30
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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 ( ).
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.
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.
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.
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:
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.
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
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
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
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
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
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ă:
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
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.
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
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
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
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.
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
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ă.
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
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
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
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ă.
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.
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
Varianta 2
Alegem varianta numită Form Wizard, ca în figura următoare.
62
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
63
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
Î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.
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.
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.
70
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
71
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
◼ 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.
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:
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.
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
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
77
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
◼ 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
79
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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.
Etape:
◼ Execută clic pe eticheta REPORTS.
81
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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
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.
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:
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.
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.
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
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>.
89
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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
95
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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
99
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
100
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
respectiv,
102
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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.
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).
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
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
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.
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.
118
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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
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 )
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 ).
122
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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
124
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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.
Categoria de
obiecte
Tipurile
de drepturi
acordate
126
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.
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.
• 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
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);
131
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
132
Conf.univ.dr.habil. Marian Cristescu
Informatică Curs 11
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.
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.
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