Vous êtes sur la page 1sur 27

4.

Formulare

4. Microsoft Access Formulare (Forms)


4.1. Generaliti
Access pune la dispoziia proiectantului o serie de faciliti n vederea crerii unui formular. Astfel se poate alege ntre: generarea automat a unor formulare predefinite (AutoForm: Columnar, Tabular, Datasheet, PivotTable, Pivotchart); proiectarea asistat, caz n care utilizatorul este ndrumat de ctre o serie de asisteni (Wizards: Form Wizard, Chart Wizard, PivotTable Wizard). Pentru obinerea unor machete mai complexe, utilizarea asistenilor nu este suficient, proiectantul fiind nevoit s aduc modificri formularelor generate de Access. Etapele necesare crerii unui formular sunt urmtoarele: 1. Se acioneaz butonul New din fereastra bazei de date pentru activarea asistentului New Form (figura 4.1.); 2. Se opteaz pentru una din variantele: Design View crearea formularului cade n sarcina exclusiv a utilizatorului; Form Wizard utilizatorul va fi asistat la crearea formularului; AutoForm: Columnar Access va genera automat un formular de tip single form; AutoForm: Tabular se creeaz automat un formular de tip Tabular, AutoForm: Datasheet se va genera automat un formular Datasheet; Chart Wizard utilizatorul va fi ndrumat n crearea unui formular ce va afia datele sub form de grafic; PivotTable Wizard - noul formular va ngloba o tabel pivot generat prin aplicaia Excel (folosind tehnica OLE). 3. Se stabilete sursa de date (tabel sau interogare) a formularului. Aceast etap este obligatorie pentru formularele generate automat (variantele AutoForm) i pentru formularele grafice (obinute prin Chart Wizard).

Fig. 4.1. Modaliti de creare a formularelor

Nchil Ctlin laborator Access

105

4. Formulare

4.2. Formularele Wizard


4.2.1. Form Wizard & AutoForm
Proiectarea formularelor prin varianta Form Wizard presupune urmtoarele etape (atunci cnd sursa de date este o tabel): 1. se acioneaz butonul New din fereastra bazei de date pentru activarea asistentului New Form (figura 4.1.); 2. se opteaz pentru varianta Form Wizard; 3. se selecteaz tabela sau interogarea dorit n rubrica derulant solicitat; prin click pe butonul Ok, sistemul intr n modul Wizard; 4. se selecteaz cmpurile din sursa de date, ce vor fi afiate n formular; cmpurile accesibile ale tabelei/interogrii selectate sunt afiate n zona Available Fields; cmpurile ce for face parte din formular sunt afiate n zona Selected Fields (figura 4.2.); selectarea cmpurilor se face cu ajutorul butoanelor: > pe al crui click se transmite un singur cmp selectat din zona Available Fields n zona Selected Fields; >> pe al crui click se transmit toate cmpurile din zona Available Fields n zona Selected Fields; < pentru revenirea unui cmp selectat din Selected Fields n Available Fields; << pentru revenirea tuturor cmpurilor selectate din Selected Fields n Available Fields;

Fig. 4.2.

Nchil Ctlin laborator Access

106

4. Formulare

5. se alege tipul de formular i anume opiunile privind forma de poziionare a datelor din formular; opiunile sunt: Columnar Tabular Datasheet Justified PivotTable PivotChart 6. se stabilete imaginea de fundal pentru formular (Stone, Standard etc.); 7. n ultima etap se definete titlul formularului, precum i modul n care va fi deschis formularul (figura 4.3.):

Fig. 4.3. Exist posibilitatea opiunii asupra deschiderii noului formular: Open the form to view or enter information pentru execuie; Modify the form's design pentru eventuale modificri.

Nchil Ctlin laborator Access

107

4. Formulare

Unele din tipurile Autoform existente: Columnar prezint valorile cmpurilor selectate n rubrici ncolonate (figura 4.4.); Tabular prezint valorile n mod tabelar (pe coloane) (figura 4.5.); Datasheet este identic cu forma Design View de la crearea tabelelor (figura 4.6.); Justified prezint valorile cmpurilor selectate n rubrici ncolonate (figura 4.7.);

Fig. 4.4. Formular de tip Columnar

Fig. 4.5. Formular de tip Tabular

Nchil Ctlin laborator Access

108

4. Formulare

Fig. 4.6. Formular de tip Datasheet

Fig. 4.7. Formular de tip Justified

4.2.2. Chart Wizard


Un prim pas l constituie afiarea tuturor cmpurilor din tabela solicitat, cu zonele Available Fields i Selected Fields (identic modului Form wizard). Dup executarea unui click pe butonul Next, sistemul afieaz cel de-al doilea pas. Al doilea pas solicit tipul de grafic. Sistemul ofer 20 asemenea tipuri de grafice (coloane paralelipipedice, cilindrice, liniare, sub forma de bare orizontale, sub forma de disc etc.). Dup selectarea tipului dorit de grafic i executarea de clic pe butonul Next, n cadrul pasului al treilea, sistemul prezint modelul graficului, precum i cmpurile selectate anterior. n mijlocul modelului se specific posibilitatea de nsumare a unor valori, sau (n cazul unor alternative) mesajul Data. n mod distinct exist o caset Series. n partea dreapta a tabloului sunt afiate cmpurile selectate anterior din tabela sursa.

4.2.3. Pivot Table Wizard


Modul Pivot Table Wizard este o combinaie ntre metoda Wizard (de efectuare a lucrrilor n pai dictai de sistem) i interogrile de tip tabel ncruciat (Crosstab), adic genereaz formulare de tip crosstab prin pai dictai de sistem.

Nchil Ctlin laborator Access

109

4. Formulare

Aplicaia 4.1: Fie o baz de date ce conine tabelele:

Fig. 4.8. Tabelele bazei de date S se completeze tabelele ageni i proprietari utiliznd tipurile de formulare formularele de tip Columnar, Tabular sau Justified prezentate (cte un formular pentru fiecare tabel).

Nchil Ctlin laborator Access

110

4. Formulare

S presupunem c se dorete graficul proporiei dintre apartamentele i garsonierele existente n baza de date, ca cele dou alternative n cadrul cmpului tip_mobil. Pentru obinerea unui asemenea grafic, n primul pas se va selecta, n zona Selected Fields, cmpul tip_mobil. Considerm c n pasul al doilea s-a optat pentru tipul de grafic Pie (sub form de disc). n pasul al treilea, se va draga cmpul tip_mobil, afiat n partea dreapta a tabloului Chart Wizard, peste caseta Series din partea stnga a tabloului. Se solicit suma preurilor de vnzare obinute n cadrul unor intervale calendaristice (luni). Pentru aceasta, au fost selectate cmpurile pre_vnzare i data_vnzrii. n funcie de tipul cmpului (text, numeric, dat calendaristic), sistemul organizeaz casetele Data i Series. Pentru cazul exemplificat, cmpul rezervat preului de vnzare va lua iniial expresia Sum (of pre_vnzare) i cmpul rezervat datei calendaristice a vnzrii va lua iniial expresia By month. Ambele expresii pot fi comutate diferit, prin executarea unui dublu click pe identificatorul expresiei. Astfel, Sum poate fi comutat la: Average, Min, Max, Count (valoare medie, minima, maxima, numrare), iar By month poate fi comutat la By year, Quarter, Week, Day, Hour, Minute (an, trimestru, sptmn, zi, or, minut).

4.3. Design View


Varianta Design View este mai puin folosit pentru crearea formularelor. Selectarea acestei opiuni din fereastra New Form (figura 4.1.) i alegerea unui tabel sau interogri, are ca efect generarea unui formular gol, n care utilizatorul i poate defini propriile controale. Cmpurile sursei de date pot fi afiate prin preluarea lor din fereastra Field List (opiunea View > Field List) n interiorul formularului (de obicei n seciunea Detail) (figura 4.9.).

Lista cmpurilor

Zona formularului

Zona din afara formularului

Fig. 4.9. Crearea unui formular prin Design View

Nchil Ctlin laborator Access

111

4. Formulare

Bara de titlu Antetul formei Antetul paginii

Coninutul formei

Subsolul paginii Subsolul formei

Fig. 4.10. Elementele unui formular (Design View)


Un formular are urmtoarea structur (figura 4.10.):

Bordura definete chenarul ce va delimita formularul pe ecran. Antetul formularului (Form Header) este folosit, de regul, pentru a afia titlul formularului. Aceast zon nu este vizibil n modul Datasheet. Dac formularul este afiat n format Tabular, coninutul zonei de antet nu va fi derulat. Pentru ca aceast zon s fie disponibil n timpul proiectrii, se selecteaz opiunea View > Form Header/Footer, din meniul Access. Antetul de pagin (Page Header) este o zon ce apare numai cnd formularul este tiprit la imprimant. Pentru a fi disponibil n cursul proiectrii, se selecteaz opiunea View > Page Header/Footer din meniul Access. Seciunea de detaliu (Detail) va conine toate controalele necesare afirii/editrii nregistrrilor. n timpul execuiei, formularul poate conine n aceast zon un control numit selector de nregistrare (record selector) situat n marginea din stnga a formularului (figura 4.11.).

Nchil Ctlin laborator Access

112

4. Formulare Acest control permite:

afiarea strii nregistrrii curente (n curs de editare, nregistrare nou, nregistrare blocat etc.) selectarea nregistrrii curente n vederea tergerii sau copierii acesteia. Subsolul de pagin (Page Footer) este afiat numai la tiprirea formularului i poate conine data curent, numrul de pagin, etc. h. Subsolul formularului (Form Footer) are aceleai caracteristici cu zona de antet i poate s conin, spre exemplu, totalul general sau diverse alte controale (butoane pentru salvare, adugare, tergere de nregistrri etc.). Butoane de navigare sunt afiate numai n timpul execuiei formularului i pot fi folosite pentru deplasri n cadrul nregistrrilor.

Selector de nregistrare

Butoane de navigare

Fig. 4.11. Formular (Design View)

4.3.1. Proprietile obiectelor Forms


Proprietile formularelor pot fi accesate fie prin intermediul ferestrei Properties (activat prin opiunea View > Properties, din meniul Access), fie prin intermediul obiectelor de tip macro sau limbajul VBA. Metodele pot fi accesate (att la proiectare, ct i n cursul execuiei) numai prin aciuni macro sau din cadrul unor proceduri/funcii VBA.

Nchil Ctlin laborator Access

113

4. Formulare

Setarea unei proprieti se poate face prin urmtoarele variante:

tastarea valorii respective; selectarea valorii dintr-o list derulant (dac aceasta este disponibil); cu ajutorul asistentului, care poate fi invocat prin apsarea butonului Build Wizard (atunci cnd acest buton este disponibil).
n cadrul ferestrei Properties, proprietile formularului curent sunt mprite n patru categorii:

1. Format conine atribute privitoare la dimensiune, aspect, coordonatele de afiare ale formularului etc.; Caption conine titlul formularului ce va aprea n bara de titlu a acestuia; Default View specific modul implicit de afiare, folosit la execuia formularului (Single Form, Tabular Form, Datasheet); Views Allowed reprezint modurile de afiare ce sunt disponibile n timpul execuiei; Scroll Bars seteaz barele de defilare vizibile n cursul execuiei (bara orizontal, bara vertical, amndou sau nici una); Record Selectors afieaz sau nu selectorul de nregistrare n timpul execuiei formularului; Navigation Buttons specific dac formularul va conine butoanele de navigare n cursul execuiei sale; Dividing Lines precizeaz dac se afieaz linii pentru delimitarea seciunilor formularului sau a nregistrrilor la execuie; Auto Center dac este setat pe valoarea Yes, formularul va fi afiat, la execuie, n centrul ecranului; Border Style specific tipul bordurii. Setarea acestei proprieti va avea efect i asupra comportamentului formularului: None formular fr bordur (formularul nu va putea fi redimensionat la execuie); Thin bordur subire (formularul nu va putea fi redimensionat); Sizable bordura implicit (formularul poate fi redimensionat); Dialog bordura subire (formularul nu poate fi redimensionat iar bara de titlu va conine doar butonul pentru nchidere Close obinndu-se astfel un formular de tip Dialog Box). Control Box indic prezena meniului sistem n bara de titlu; Min Max Buttons dezactiveaz sau activeaz fie ambele, fie unul din butoanele de minimizare i maximizare din bara de titlu; Close Button indic prezena butonului de nchidere (Close) n bara de titlu;

Nchil Ctlin laborator Access

114

4. Formulare

Width specific limea formularului i implicit a tuturor seciunilor. Aceast proprietate poate fi modificat n timpul proiectrii formularului, dar i n cursul execuiei acestuia (dac bordura este de tip Sizable), cu ajutorul mouse-lui. Picture poate conine specificatorul unui fiier grafic, al crui coninut va fi afiat pe fundalul formularului; Picture Type specific varianta OLE folosit: Embedded (nglobat) imaginea este inclus n formular; Linked (legat) se creeaz doar o legtur ctre fiierul grafic (formularul nu va afia imaginea respectiv dac fiierul este ters, mutat etc.). Grid X conine numrul de subdiviziuni orizontale pe unitatea de msur (cm, inch, etc.). Grila (Grid) servete la alinierea automat a controalelor. Grid Y conine numrul de subdiviziuni verticale pe unitatea de msur (intervalul 1-64).

2. Data grupeaz proprieti referitoare la sursa de date i nregistrrile aferente; Record Source conine sursa de date a formularului (tabel sau interogare). Aceast proprietate poate conine chiar i o comanda SQL (sunt admise numai cererile de selecie).
Un formular va avea ca surs de date o interogare dac:

afieaz n format Datasheet sau Tabular, controale nelegate; afieaz cmpuri din mai multe tabele. Filter conine criteriul de selecie care se va aplica nregistrrilor din formular. Condiia de filtrare este o clauz SQL WHERE, ns fr s conin cuvntul WHERE.
Pentru ca filtrul s fie activ, proprietatea Filter On trebuie setat pe valoarea True (setare ce se poate face numai din VBA).

Order By permite specificarea cmpurilor dup care vor fi sortate nregistrrii din formular. Sintaxa este identic cu sintaxa clauzei SQL, OrderBy.
Pentru ca operaia de ordonare s se execute automat la deschiderea formularului, proprietatea OrderByOn trebuie setat pe True (proprietatea este disponibil numai din VBA).

Data Entry dac este setat pe valoarea Yes, formularul nu va afia, la deschidere, nregistrrile existente. Proprietatea este util pentru formularele ce vor permite numai adugarea de nregistrri. Record Locks specific dac i ce nregistrri vor fi blocate pentru ali utilizator (blocarea se poate face fie pentru toate nregistrrile, fie numai pentru nregistrarea curent).

Nchil Ctlin laborator Access

115

4. Formulare

3. Event conine evenimentele ce pot fi tratate fie prin proceduri sau funcii scrise n limbajul VBA, fie prin macro-un. Proprietile acestei categorii se numesc proprieti eveniment i au denumiri asemntoare cu cele ale evenimentelor crora le sunt ataate. Apar astfel trei posibiliti: eveniment tratat printr-o funcie proprietatea eveniment va conine o expresie de forma: NumeFuncie([ListaParametrii]) eveniment tratat printr-o procedur eveniment proprietatea eveniment va conine expresia EventProcedure, iar editarea procedurii se poate face prin acionarea butonului BuildWizard, la invocarea cruia Access deschide editorul de module, n care genereaz o procedur vid sub forma: Private Sub Form_numeEveniment([ListParametriiFormali]) End Sub eveniment tratat printr-un macro
Cele mai uzuale evenimente sunt:

Eveniment Current

Poate fi abandonat ?
Nu

Proprietatea eveniment On Current

Descriere
Este nregistrat n momentul trecerii de la o nregistrare la alta. Apare naintea salvrii nregistrrii curente i tabel. Acest eveniment este frecvent folosit pentru validarea datelor curente. Evenimentul apare naintea tergerii nregistrrii curente i poate fi folosit pentru obinerea unei confirmri din partea utilizatorului cu privire la aceast operaie. Dac se dorete tergerea unui bloc de nregistrri, atunci evenimentul se va declana pentru fiecare nregistrare. Apare naintea afirii pe ecran a formularului, la deschiderea acestuia. Poate fi folosit pentru activarea criteriului de selecie definit i proprietatea Filter, pentru setarea unor controale naintea afirii acestora, pentru citirea argumentului transmis formularului, etc.. Este un eveniment declanat naintea nchiderii formularului. Evenimentul poate fi folosit pentru a cere confirmarea utilizatorului cu privire la nchiderea formularului, atunci cnd datele nu au fost salvate.

BeforeUpdate

Da

BeforeUpdate

Delete

Da

On Delete

Open

Da

On Open

Unload

Da

On Unload

Nchil Ctlin laborator Access

116

4. Formulare Evenimentul este nregistrat n timpul nchiderii formularului (formularul este afiat pe ecran) i poate fi folosit pentru deschiderea altor formulare, pentru tergerea obiectelor temporare generate "n timpul execuiei formularului, etc.. Este declanat la activarea formularului (fie la deschiderea lui, fie la selectarea lui dintr-o alt fereastr) i poate fi folosit, de exemplu, pentru refacerea valorilor unei liste derulante, n urma actualizrii tabelei surs printr-un alt formular. Apare la efectuarea unui click pe selectorul de nregistrare sau pe zona liber a formularului (zona aflat n afara seciunilor). Evenimentul este declanat la apariia unei erori n cursul execuiei formularului (de exemplu, eroarea generat la introducerea unei valori ce nu respect condiiile de validare sau restricia de integritate). Utilitatea acestui eveniment apare atunci cnd se dorete interceptarea erorilor generate de Access h vederea tratrii lor. Este un eveniment care apare la o anumit perioad de timp, stabilit de utilizator prin proprietatea Timer Interval (valoarea atribuit este n milisecunde). Poate fi utilizat pentru crearea diferitelor efecte vizuale, pentru citirea/setarea unor variabile globale etc..

Close

Nu

On Close

Activate

Nu

On Activate

Click

Nu

On Click

Error

Nu

On Error

Timer

Nu

On Timer

4. Other conine diverse alte proprieti. Pop Up dac se dorete ca, n cursul execuiei sale, formularul s fie permanent vizibil (va fi poziionat permanent deasupra celorlalte ferestre, chiar dac nu este activ), aceast proprietate se va seta pe valoarea Yes; Modal specific dac formularul va fi modal sau nemodal; Cycle descrie efectul apsrii tastei Tab pe ultimul cmp din formular: salt la urmtoarea nregistrare (All records), revenire la primul cmp (Current record), revenire la primul cmp din pagina curent (Current Page); Menu Bar conine numele unui meniu creat de utilizator, ce va fi afiat la lansarea n execuie a formularului; Toolbar indic toolbar-ul propriu ce va fi disponibil n cursul rulrii.

Nchil Ctlin laborator Access

117

4. Formulare

4.3.2. Controale n formulare (Toolbox)


Controalele sunt obiecte grafice (elemente vizuale) ce sunt incluse n formulare sau rapoarte, n scopul editrii/afirii datelor sau executrii unor aciuni (ex.: etichete, casete text, butoane, etc.). Adugarea controalelor se poate face numai n etapele de creare sau modificare a formularelor, astfel:

din fereastra Toolbox se selecteaz butonul aferent controlului dorit; se descrie, cu ajutorul mouse-lui, o zon dreptunghiular pe suprafaa formularului, definind astfel poziia i dimensiunea noului control.

Control
Indicator (Select Objects) Asisteni (Control Wizards) Eticheta (Label) Caseta text (Text Box) Butonul de comand (Command Button) Caseta list (List Box) Caseta combinat (Combo Box) Butonul-comutator (Toggle Button), Butonul de opiune (Option Button), Caseta de validare (Check Box)

Descriere
Instrument folosit la proiectarea controalelor (selecie, repoziionare, redimensionare, etc.) Activeaz/dezactiveaz utilitarele Wizards folosite la generarea unor controale mai complexe (casete combinate, casete list, grupuri de opiune, etc.). Control cu coninut fix, folosit pentru afiarea unor mesaje. n general, Access genereaz cte o etichet pentru majoritatea controalelor definite de utilizator. Control utilizat pentru afiarea i editarea datelor.

Servete la declanarea unor aciuni.

Permite selectarea unei valori dintr-o list. mbin proprietile unei casete text cu cele ale unei casete de tip list (permite att editarea unei valori, ct i selectarea acesteia dintr-o list derulant). Caseta combinat este un control ce se folosete frecvent pentru actualizarea cheilor externe.

Sunt controale folosite pentru editarea unor valori de tip logic (Yes / No, On / Off, True / False).

Nchil Ctlin laborator Access

118

4. Formulare Este un control container folosit pentru afiarea unui set de alternative i poate grupa mai multe tipuri de controale (buton de opiune, caset de validare etc.) Controlul Page Break mparte formularul n mai multe pagini care pot fi vizualizate cu ajutorul tastelor PageUp i PageDown. Poate fi, de asemenea, folosit pentru salt la pagin nou, n cazul tipririi formularului Controlul de tip Tab este un control container ce permite gruparea altor controale n mai multe pagini, atunci cnd formularul conine un numr prea mare de controale. Controalele servesc la trasarea diverselor figuri geometrice. Permite afiarea coninutului unor fiiere grafice (.bmp, .gif, .wmf, .pcx, etc.), pe fundalul formularului. Este un control ce va conine un obiect (grafic, multimedia, document etc.), importat dintr-o alt aplicaie Windows (Word, Excel, Paint, Sound Recorder etc.) prin tehnologia OLE (Object Linking and Embedding). Conine un obiect stocat ntr-un cmp de tip OLE din tabela surs Permite definirea unui subformular n cadrul formularului curent. Afieaz alte controale nregistrate, ce pot fi ataate formularului (controale ActiveX etc.)

Grupul de opiune (Option Group) Delimitator de pagin (Page Break) Index (Control Tab) Linie (Line) Dreptunghi (Rectangle) Imagine (Image) Obiect cadru nelegat (Unbound Object Frame) Obiect cadru legat (Bound Object Frame) Subformular (Subform) Alte controale (More Controls)

4.3.3. Proprietile controalelor


Proprietile unui control sunt afiate n fereastra Properties, atunci cnd controlul respectiv este selectat. Ca i n cazul formularelor, metodele aferente controalelor sunt grupate n patru categorii (Format, Data, Events, Other) i sunt disponibile numai prin intermediul macro-urilor sau modulelor VBA. Cele mai uzuale proprieti sunt:

1. Proprieti din categoria Format: Format specific modelul (masca) de afiare a datelor (numai pentru casetele text); Decimal Places indic numrul de zecimale cu care vor fi afiate datele (numai pentru casete text);
Nchil Ctlin laborator Access 119

4. Formulare

Caption conine textul afiat de control (numai pentru controalele needitabile: etichete, butoane etc.); Visible determin afiarea sau nu a controlului n timpul execuiei formularului; Left stabilete coordonata orizontal a colului stnga-sus al controlului; Top indic poziia pe vertical a colului stnga-sus; Width stabilete limea controlului: Height stabilete nlimea obiectului; Back Style determin modul de afiare: control normal sau transparent; Back Color stabilete 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; Fore Color culoarea textului afiat de control; Font Name tipul fontului aferent textului din control; Font Size dimensiunea fontului; Picture specific numele i calea fiierului grafic ce va fi afiat n interiorul controlului (numai pentru butoane i controale de tip imagine); Text Align stabilete modul de aliniere a textului n interiorul controlului.

2. Proprieti din categoria Data: Control Source conine sursa de date a controlului i poate fi:
Numele unui cmp (pentru controale legate); O expresie de calcul precedat de semnul "=" (pentru casete text nelegate).

Exemplu: o caset text ce va afia valoarea unui material contractat, pe baza preului i a cantitii contractate, va conine n proprietatea control source expresia: =[Cantitate]*[Pre] unde [Cantitate] i [Pre] sunt denumirile a dou cmpuri (sau controale) din formular; Input Mask indic formatul folosit la introducerea datelor (numai pentru casete text)

Nchil Ctlin laborator Access

120

4. Formulare

Default value specific valoarea implicit (valoarea prin lips) a controlului. Exemplu: pentru o caset text destinat actualizrii unui cmp de tip Date/Time, aceast proprietate poate conine funcia Date(), care returneaz data sistemului: =Date() Validation Rule conine regula dup care se face validarea datelor introduse n control. La execuia formularului, mai nti se verific regula de validare a controlului i apoi cea a cmpului ataat. Proprietatea validation rule poate fi folosit pentru definirea unor restricii asupra cmpurilor din tabele diferite; Validation Text specific mesajul ce va fi afiat, atunci cnd regula de validare este nclcat; Enabled activeaz sau dezactiveaz controlul. Un control dezactivat va fi inaccesibil la execuia formularului; Locked servete la protejarea datelor afiate de control (controlul va deveni read-only). 3. Proprieti din categoria Event: conin denumirile funciilor, procedurilor eveniment sau macro-urilor, ce vor fi executate la declanarea evenimentelor ataate.
Cele mai uzuale evenimente sunt:

Eveniment

Poate fi abandonat?

Proprietatea eveniment

Descriere
Apare naintea salvrii datelor din control i cmpul ataat acestuia. Evenimentul poate fi folosit pentru validarea datelor introduse i control. Se declaneaz h momentul i care datele din control (caset text sau caset combinat) sunt modificate. Evenimentul este nregistrat n momentul accesrii controlului n vederea editrii datelor (naintea activrii sale). Declanat, atunci cnd se prsete controlul curent n vederea accesrii altui control din formular. Acest eveniment nu apare n cazul i care controlul este n curs de editare i se activeaz o alt fereastr.

BeforeUpdate

Da

BeforeUpdate

Change

Nu

On Change

Enter

Nu

On Enter

Exit

Da

On Exit

Nchil Ctlin laborator Access

121

4. Formulare Apare i momentul focalizrii controlului. Difer de evenimentul On Enter prin aceea c se declaneaz chiar i atunci utilizatorul comut ntre o alt fereastr i formularul curent. Evenimentul este nregistrat la defocalizarea controlului (fie prin trecerea la alt control din cadrul formularului, fie prin activarea altei ferestre).

Got Focus

Nu

On Got Focus

Lost Focus

Nu

On Lost Focus

Ordinea n care sunt declanate evenimentele la activarea/dezactivarea unui control este urmtoarea:

Enter > GotFocus > Exit > LostFocus

4. Proprieti din categoria Other: Name conine numele controlului. La creare, fiecare control primete un nume unic, format din tipul su plus un numr de ordine (ex.: TextBox5). Utilizatorul poate modifica acest nume, schimbndu-1 cu unul mai sugestiv. Controalele legate, generate automat de Wizards, au numele identice cu denumirile cmpurilor ataate; Status Bar Text specific mesajul afiat n bara de stare, n momentul selectrii controlului; Tab Stop dac este setat pe valoarea Yes, atunci controlul poate fi accesat cu ajutorul tastei Tab; Tab Index specific numrul de ordine al controlului, n funcie de care acesta va fi accesat cu ajutorul tastei Tab. Toate controalele editabile vor primi un numr de ordine unic, la creare. Acest numr poate fi modificat fie prin aceast proprietate, fie prin opiunea View-TabOrder din meniul Access; Control Tip Text conine mesajul afiat ntr-o fereastr ToolTip.
Pentru crearea unor controale complexe (casete combinate, casete de tip list etc.), proiectantul poate fi asistat de programele control wizards.

Nchil Ctlin laborator Access

122

4. Formulare

Aplicaia 4.2: Fie baza de date de la aplicaia 4.1:

Fig. 4.8. Tabelele bazei de date


S se creeze un formular utiliznd Design View pentru tabelul imobile care s arate ca n figura 4.12.

Nchil Ctlin laborator Access

123

4. Formulare

Fig. 4.12. Formularul (Form View)

Fig. 4.13. Formularul (Design View)

Nchil Ctlin laborator Access

124

4. Formulare

Se dorete ca la adugarea imobilului, proprietarul i agentul (numerele acestora) s se fac prin selectarea acestora din liste ce conin toi proprietari, respectiv toi agenii. Pentru cmpurile ce ndeplinesc rolul de cheie extern, este recomandat ca n formulare s se creeze controale de tip combo box sau list box, deoarece, datorit referinei de integritate, cheile externe nu admit dect valori comune cu cheile primare pe care le refer (sau valoarea nuli). Pentru combo box-un 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 urmtoarele etape:

1. se activeaz butonul Control Wizards din fereastra toolbox (dac nu este deja activat); 2. n aceeai 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 (figura 4.14.), se selecteaz prima variant.

Fig. 4.14. Tipuri de casete combinate


Cele trei opiuni afiate au urmtoarele semnificaii:

Lista va conine valorile unui cmp dintr-o tabel sau interogare. Controlul este utilizat de regul, pentru actualizarea cheilor externe. Caseta combinat conine valori definite de utilizator. Acest tip este utilizat pentru cmpuri ce prezint un numr relativ redus de valori standard (unitate de msur, valuta etc.). Selectarea unei valori din list determin saltul la nregistrarea aferent n sursa de date a formularului. Acest control este folosit n scopul facilitrii operaiilor de regsire a nregistrrilor dintr-un formular.

Nchil Ctlin laborator Access

125

4. Formulare

5. Se specific tabela sau interogarea ce va furniza date listei de valori a controlului (tabelele proprietari n cazul primului combo box respectiv agenti n cazul celui de al doilea combo box) 6. Se aleg cmpurile tabelei ce vor fi afiate n lista de valori. 7. Se ajusteaz dimensiunea fiecrei coloane din lista de valori (prima coloana este implicit ascuns). 8. Se alege cmpul din sursa de date a formularului ce va fi actualizat cu valoarea selectat din list (cmpul ataat controlului). 9. Se specific eticheta ataat controlului caset combinat.
Dac, din diferite motive, Wizard Controls nu funcioneaz (de exemplu, nu este setat aceast opiune le instalarea programului Access), proiectantul va fi nevoit s seteze singur proprietile controlului combo box:

Column Widths specific dimensiunea fiecrei coloane din list (valorile sunt separate de caracterul ";") List Width conine limea total a listei derulante Row Source Type specific tipul sursei de date pentru valorile din list (tabel sau interogare, valori definite de utilizator, realizrile unui cmp) Row Source conine denumirea tabelei, a interogrii (sunt admise i fraze SQL Select) sau valorile predefinte de utilizator (separate de caracterul ";") Bound Column va conine numrul de ordine al coloanei care va actualiza cmpul ataat controlului (coloana respectiv poate fi ascuns) Limit To List permite sau nu utilizatorului s introduc valori ce nu exist n lista controlului. Setarea acestei proprieti pe Yes va conduce la declanarea evenimentului On Not in List ori de cte ori se introduce o valoare inexistent n list.
Cele trei butoane se creaz tot prin intermediul Control Wizards (figura 4.15.), de unde se alege pentru fiecare n parte aciunile corespunztoare.

Fig. 4.15. Button Wizard

Nchil Ctlin laborator Access

126

4. Formulare

4.4. 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 cmpul comun este cheie extern), din cadrul unei relaii de tip 1n. 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:

Posibilitatea actualizrii mai multor tabele printr-un singur formular. Sincronizarea subformularului cu formularul principal, operaie care const n: actualizarea automat a cmpului cheie extern din subformular, cu valoarea deinut de cmpul cheie primar din formularul principal; filtrarea automat a nregistrrilor din subformular, n funcie de valoarea cheii primare din formularul principal.
Pentru definirea unui subformular n modul Design se procedeaz astfel:

se deschide n modul Design, formularul ce se dorete a fi formular principal; se activeaz fereastra bazei de date; folosind tehnica drag&drop, se aduce depune formularul, ce se dorete a fi subformular, n interiorul formularului principal; se salveaz formularul principal.
Tot pentru definirea unui subformular se poate utiliza i controlul subform cadrul formularului principal. Modificare fcut ulterior asupra subformularului, ca obiect de tip formular, se va reflecta automat i n formularul principal. Sincronizarea formularsubformular se realizeaz prin intermediul cmpurilor de legtur cheia primar din sursa de date aferent formularului principal i cheia extern din sursa de date aferent subformularului. Denumirile acestor cmpuri sunt nscrise automat de Access n proprietile Link Master Field i Link Child Field ale controlului de tip subform din formularul principal. Completarea acestor proprieti este realizat automat de Access, atunci cnd ntre cele dou surse de date sunt definite relaii sau cnd acestea conin dou cmpuri cu aceeai denumire. Se recomand totui verificarea acestor proprieti chiar i n cazul completrii lor de ctre Access.

Nchil Ctlin laborator Access

127

4. Formulare

Aplicaia 4.3: Fie baza de date de la aplicaia 4.1. S se creeze un formular cu subformular n modul Form Wizard pentru tabelele ageni i imobil(figura 4.16.)

Fig. 4.16. 1. se acioneaz butonul New din fereastra bazei de date pentru activarea asistentului New Form; 2. se opteaz pentru varianta Form Wizard; 3. se selecteaz cmpurile din tabela ageni sau apoi din tabela imobil; 4. pentru tabelul ageni se selecteaz opiunea form with subform(s); 5. se alege un model de prezentare pentru subformular; 6. se stabilete imaginea de fundal pentru formular (Stone, Standard etc.); 7. se stabilete denumirea formularului i a subformularului. Aplicaia 4.4: Fie baza de date de la aplicaia 4.1. S se creeze un formular cu subformular n modul Design View pentru tabelele proprietari i imobil (figura 4.17.) 1. se acioneaz butonul New din fereastra bazei de date pentru activarea asistentului New Form; 2. se opteaz pentru varianta Design View; 3. se selecteaz tabela proprietari n rubrica derulant solicitat; prin click pe butonul Ok, 4. se aduc pe form toate cmpurile tabelei proprietari; 5. verificm dac este activ Control Wizards din Toolbox; 6. din Toolbox (View > Toolbox dac nu este activ) selectm controlul Subform/Subreport;

Nchil Ctlin laborator Access

128

4. Formulare

7. desenm dreptunghiul pe form; 8. din fereastra nou deschis alegem Use existing Tables and Queries; 9. din tabelul imobil alegem toate cmpurile sale; 10. din fereastra nou deschis alegem Choose from a list; 11. se stabilete denumirea subformularului.

Fig. 4.17.

Aplicaia 4.5: Se cere obinerea unui formular care s afieze (pe coloane) preurile solicitate i preurile de vnzare ale imobilelor din tabela imobile. n finalul formularului se cere obinerea sumelor preurilor solicitate, respectiv a preurilor de vnzare (figura 4.18.)
Prin modul n care este solicitat imaginea formularului (date dispuse pe diverse coloane), proiectantul va fi orientat spre a opta pentru modul Tabular de execuie. Sistemul Tabular nu este recomandat, n principiu, pentru c, n cazul multor coloane, afiarea datelor este imposibila pe un ecran. Dar, n cazul exerciiului propus, existnd numai trei coloane, modul Tabular devine convenabil.

Nchil Ctlin laborator Access

129

4. Formulare

Fig. 4.18.
Operaiile de efectuat sunt urmtoarele:

n fereastra New Form va fi accesat opiunea "Autoform: Tabular" i va fi selectat tabela imobile (ca surs de date). ca urmare, sistemul va afia formularul final, coninnd coloane care cuprind toate cmpurile (toi indicatorii) din tabela-surs. Se va putea remarca faptul c, din cauza lipsei unui spaiu disponibil pe limea ecranului, datele sunt trunchiate, cele numerice (de lungime mai mare) sunt afiate n form exponenial etc. trecem n modul Design; se terg toate cmpurile inutile, cu excepia cmpurilor solicitate prin exerciiu; se redimensioneaz coloanele respectiv titlurile acestora;

Nchil Ctlin laborator Access

130

4. Formulare

se genereaz un spaiu necesar pentru seciunea Form Footer (prin tragerea mouse-ului pe limita inferioar a titlului acestei seciuni). se copiaz textbox-ul pret_solicitat n se partea Form Footer; se copiaz textbox-ul pret_vnzare n se partea Form Footer; completm cele dou textbox-uri cu:
= sum ([pret_solicitat]) = sum ([pret_vnzare])

se acceseaz pictograma Label din Toolbox; se fixeaz (prin clic cu mouse-ul) locul de debut al etichetei n seciunea Form Footer; se scrie textul dorit (de exemplu: Total Preturi).

Nchil Ctlin laborator Access

131

Vous aimerez peut-être aussi