access formulare nachila

27
4. Formulare  Năchilă Cătălin laborator Access 105 –  4. Microsoft Access – Formulare (Forms) 4.1. Generalităţi Access pune la dispozi ţia proiectantului o serie de facilit ăţi în vederea cre ării 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 c ătre o serie de asisten ţi (Wizards: Form Wizard, Chart Wizard, PivotTable Wizard ). Pentru obţinerea unor machete mai complexe, utilizarea asistenţilor nu este suficient ă,  proiectantul fiind nevoit s ă aducă modificări formularelor generate de Access. Etapele necesare creării unui formular sunt următoarele: 1. Se acţionează 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 afi şa datele sub formă de grafic;     PivotTable Wizard  - noul formular va îngloba o tabel ă pivot generat ă prin aplicaţia Excel (folosind tehnica OLE). 3. Se stabileşte sursa de date (tabel sau interogare) a formularului. Aceast ă etapă este obligatorie  pentru formularele generate automat (variantele  AutoForm) şi pentru formularele grafice (obţinute prin Chart Wizard ). Fig. 4.1. Modalităţi de creare a formularelor  

Upload: nechifor-alexandra

Post on 06-Jul-2015

122 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 1/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 105 –

 

4. Microsoft Access – Formulare (Forms)

4.1. Generalităţi

Access pune la dispoziţia proiectantului o serie de facilităţi în vederea creării 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 către o serie de asistenţi(Wizards: Form Wizard, Chart Wizard, PivotTable Wizard ).

Pentru obţinerea unor machete mai complexe, utilizareaasistenţilor nu este suficientă,

  proiectantul fiind nevoit să aducă modificări formularelor generate deAccess. Etapele necesare creării unuiformular sunt următoarele:

1.  Se acţionează butonul New dinfereastra bazei de date pentruactivarea asistentului  New 

 Form (figura 4.1.);

2.  Se optează pentru una din

variantele: –     Design View – crearea

formularului cade în sarcinaexclusivă a utilizatorului;

 –    Form Wizard – utilizatorul vafi 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 afişa datele subformă de grafic;

 –    PivotTable Wizard - noul formular va îngloba o tabelă pivot generată prin aplicaţia Excel(folosind tehnica OLE).

3.  Se stabileşte sursa de date (tabel sau interogare) a formularului. Această etapă este obligatorie  pentru formularele generate automat (variantele AutoForm) şi pentru formularele grafice(obţinute prin Chart Wizard ).

 

Fig. 4.1. Modalităţi de creare a formularelor  

Page 2: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 2/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 106 –

 

4.2. Formularele Wizard

4.2.1. Form Wizard & AutoForm

Proiectarea formularelor prin varianta   Form Wizard presupune următoarele etape (atuncicând sursa de date este o tabelă):

1.  se acţionează 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 butonulOk , sistemul intr ă în modul Wizard ;

4. se selectează câmpurile din sursa de date, ce vor fi afişate în formular; câmpurile accesibileale tabelei/interogării selectate sunt afişate în zona Available Fields; câmpurile ce for face

 parte din formular sunt afişate în zona Selected Fields (figura 4.2.); selectarea câmpurilor seface cu ajutorul butoanelor:

 –   > pe al cărui click se transmite un singur câmp selectat din zona  Available Fields în zonaSelected Fields;

 –   >> pe al cărui click se transmit toate câmpurile din zona  Available Fields în zona Selected Fields;

 –   < pentru revenirea unui câmp selectat din Selected Fields în Available Fields;

 –   << pentru revenirea tuturor câmpurilor selectate din Selected Fields în Available Fields;

Fig. 4.2. 

Page 3: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 3/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 107 –

 

5.  se alege tipul de formular  şi anume opţiunile privind forma de poziţionare a datelor dinformular; opţiunile sunt:

 –   Columnar 

 –   Tabular  –    Datasheet 

 –    Justified 

 –    PivotTable 

 –    PivotChart  

6.  se stabileşte imaginea de fundal pentru formular (Stone, Standard etc.);

7.  în ultima etapă se defineşte titlul formularului, precum şi modul în care va fi deschisformularul (figura 4.3.):

Fig. 4.3. 

Există posibilitatea opţiunii asupra deschiderii noului formular: –   Open the form to view or enter information – pentru execuţie;

 –   Modify the form's design – pentru eventuale modificări.

Page 4: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 4/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 108 –

 

Unele din tipurile Autoform existente:

 –   Columnar –  prezintă valorile câmpurilor 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 câmpurilor selectate în rubrici încolonate (figura 4.7.); 

Fig. 4.4. Formular de tip Columnar  

Fig. 4.5. Formular de tip Tabular 

Page 5: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 5/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 109 –

 

Fig. 4.6. Formular de tip  Datasheet  

Fig. 4.7. Formular de tip  Justified  

4.2.2. Chart Wizard

Un prim pas îl constituie afişarea tuturor câmpurilor din tabela solicitată, cu zonele Available Fields şi Selected Fields (identic modului Form wizard ). După executarea unui click pe butonul Next , sistemul afişează 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 câmpurile selectate anterior. Înmijlocul 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 suntafişate câmpurile selectate anterior din tabela sursa.

4.2.3. Pivot Table Wizard

Modul Pivot Table Wizard este o combinaţie între metoda Wizard (de efectuare a lucr ărilorîn paşi dictaţi de sistem) şi interogările de tip tabel încrucişat (Crosstab), adică generează formularede tip crosstab prin paşi dictaţi de sistem.

Page 6: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 6/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 110 –

 

 Aplica ţ ia 4.1: Fie o bază de date ce conţine tabelele:

Fig. 4.8. Tabelele bazei de date

Să se completeze tabelele agen ţ i şi proprietari utilizând tipurile de formulare formularele detip Columnar , Tabular sau Justified prezentate (câte un formular pentru fiecare tabel).

Page 7: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 7/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 111 –

 

Să presupunem că se doreşte graficul propor ţiei dintre apartamentele şi garsoniereleexistente în baza de date, ca cele două alternative în cadrul câmpului tip_mobil . Pentru obţinereaunui asemenea grafic, în primul pas se va selecta, în zona Selected Fields, câmpul tip_mobil .Consider ăm că în pasul al doilea s-a optat pentru tipul de grafic Pie (sub formă de disc). În pasul altreilea, se va draga câmpul tip_mobil , afişat în partea dreapta a tabloului Chart Wizard , peste casetaSeries din partea stânga a tabloului.

Se solicită suma preţurilor de vânzare obţinute în cadrul unor intervale calendaristice (luni).Pentru aceasta, au fost selectate câmpurile  pre ţ  _vânzare  şi data_vânz ă rii. În funcţie de tipulcâmpului (text, numeric, dată calendaristică), sistemul organizează casetele Data şi Series.

Pentru cazul exemplificat, câmpul rezervat preţului de vânzare va lua iniţial expresia Sum(of  pre ţ  _vânzare) şi câmpul rezervat datei calendaristice a vânzării va lua iniţial expresia By month.Ambele expresii pot fi comutate diferit, prin executarea unui dublu click pe identificatorulexpresiei. Astfel, Sum poate fi comutat la:  Average, Min, Max, Count  (valoare medie, minima,maxima, numărare), iar  By month poate fi comutat la  By year , Quarter , Week , Day, Hour , Minute(an, trimestru, să ptămână, zi, or ă, minut).

4.3. Design View

Varianta Design View este mai puţin folosită pentru crearea formularelor. Selectarea acesteiopţiuni din fereastra  New  Form (figura 4.1.) şi alegerea unui tabel sau interogări, are ca efectgenerarea unui formular gol, în care utilizatorul îşi poate defini propriile controale. Câmpurilesursei de date pot fi afişate prin preluarea lor din fereastra Field   List (opţiunea View – > Field   List )în interiorul formularului (de obicei în secţiunea Detail ) (figura 4.9.).

 

Lista câmpurilor 

Zona formularului

Zona din afaraformularului

 

Fig. 4.9. Crearea unui formular prin Design View

Page 8: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 8/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 112 –

 

Bara detitlu

Antetulformei

Antetul paginii

Subsolul paginii

Subsolulformei

Conţinutulformei

Fig. 4.10. Elementele unui formular ( Design View)

Un formular are următoarea structur ă (figura 4.10.):

•  Bordura defineşte chenarul ce va delimita formularul pe ecran.

•  Antetul formularului (Form Header ) este folosit, de regulă, pentru a afişa titlulformularului. Această zonă nu este vizibilă în modul  Datasheet . Dacă formularul esteafişat în format Tabular , conţinutul zonei de antet nu va fi derulat. Pentru ca această zonăsă fie disponibilă în timpul proiectării, se selectează opţiunea View –>  Form

 Header/Footer, din meniul Access.

•  Antetul de pagină (  Page Header ) – este o zonă ce apare numai când formularul estetipărit la imprimantă. Pentru a fi disponibilă în cursul proiectării, se selectează opţiuneaView –> Page Header/Footer din meniul Access.

•  Secţiunea de detaliu ( Detail ) – va conţine toate controalele necesare afişării/edităriiînregistr ărilor. În timpul execuţiei, formularul poate conţine în această zonă un controlnumit selector de înregistrare (record selector) situat în marginea din stânga aformularului (figura 4.11.).

Page 9: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 9/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 113 –

Acest control permite:

 –   afişarea stării înregistr ării curente (în curs de editare, înregistrare nouă, înregistrare blocatăetc.)

 –   selectarea înregistr ării curente în vederea ştergerii sau copierii acesteia.

•  Subsolul de pagină ( Page Footer ) – este afişat numai la tipărirea formularului şi poateconţine data curentă, numărul de pagină, etc.

•  h. Subsolul formularului (Form Footer ) – are aceleaşi caracteristici cu zona de antet şi poate să conţină, spre exemplu, totalul general sau diverse alte controale (butoane pentrusalvare, adăugare, ştergere de înregistr ări etc.).

•    Butoane de navigare – sunt afişate numai în timpul execuţiei formularului şi pot fifolosite pentru deplasări în cadrul înregistr ărilor.

Butoanede

navigare

Selector deînregistrare

Fig. 4.11. Formular ( Design View)

4.3.1. Proprietăţile obiectelor Forms

Proprietăţile formularelor pot fi accesate fie prin intermediul ferestrei  Properties (activată prin opţiunea View –> Properties, din meniul Access), fie prin intermediul obiectelor de tip macrosau limbajul VBA. Metodele pot fi accesate (atât la proiectare, cât şi în cursul execuţiei) numai prinacţiuni macro sau din cadrul unor proceduri/funcţii VBA.

Page 10: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 10/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 114 –

 

Setarea unei proprietăţi se poate face prin următoarele variante:

 –   tastarea valorii respective;

 –   selectarea valorii dintr-o listă derulantă (dacă aceasta este disponibilă);

 –   cu ajutorul asistentului, care poate fi invocat prin apăsarea butonului  Build   Wizard  (atuncicând acest buton este disponibil).

În cadrul ferestrei  Properties, proprietăţile formularului curent sunt împăr ţite în patrucategorii:

1.  Format  – conţine atribute privitoare la dimensiune, aspect, coordonatele de afişare aleformularului etc.;

•  Caption – conţine titlul formularului ce va apărea în bara de titlu a acestuia;

•   Default View – specifică modul implicit de afişare, folosit la execuţia formularului(Single Form, Tabular   Form, Datasheet );

•  Views Allowed – reprezintă modurile de afişare ce sunt disponibile în timpul execuţiei;

•   Scroll Bars – setează barele de defilare vizibile în cursul execuţiei (bara orizontală, baraverticală, amândouă sau nici una);

•    Record Selectors – afişează sau nu selectorul de înregistrare în timpul execuţieiformularului;

•    Navigation Buttons – specifică dacă formularul va conţine butoanele de navigare încursul execuţiei sale;

•    Dividing Lines – precizează dacă se afişează linii pentru delimitarea secţiunilorformularului sau a înregistr ărilor la execuţie;

•   Auto Center – dacă este setată pe valoarea Yes, formularul va fi afişat, la execuţie, încentrul ecranului;

•   Border Style – specifică tipul bordurii. Setarea acestei proprietăţi va avea efect şi asupracomportamentului formularului:

 –    None – formular f ăr ă bordur ă (formularul nu va putea fi redimensionat la execuţie);

 –   Thin – bordur ă subţire (formularul nu va putea fi redimensionat);

 –   Sizable – bordura implicită (formularul poate fi redimensionat);

 –    Dialog – bordura subţire (formularul nu poate fi redimensionat iar bara de titlu va conţinedoar butonul pentru închidere Close obţinându-se astfel un formular de tip Dialog   Box).

•  Control Box – indică prezenţa meniului sistem în bara de titlu;

•   Min  Max   Buttons – dezactivează sau activează fie ambele, fie unul din butoanele deminimizare şi maximizare din bara de titlu;

•  Close  Button – indică prezenţa butonului de închidere (Close) în bara de titlu;

Page 11: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 11/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 115 –

 

•  Width – specifică lăţimea formularului şi implicit a tuturor secţiunilor. Această proprietate poate fi modificată în timpul proiectării formularului, dar şi în cursul execuţieiacestuia (dacă bordura este de tip Sizable), cu ajutorul mouse-lui.

•   Picture – poate conţine specificatorul unui fişier grafic, al cărui conţinut va fi afişat pe

fundalul formularului;•   Picture Type – specifică varianta OLE folosită:

 –    Embedded (înglobat) – imaginea este inclusă în formular;

 –    Linked  (legat) – se creează doar o legătur ă către fişierul grafic (formularul nu va afişaimaginea respectivă dacă fişierul este şters, mutat etc.).

•  Grid   X – conţine numărul de subdiviziuni orizontale pe unitatea de măsur ă (cm, inch,etc.). Grila (Grid ) serveşte la alinierea automată a controalelor.

•  Grid   Y  – conţine numărul de subdiviziuni verticale pe unitatea de măsur ă (intervalul1-64).

2.  Data – grupează proprietăţi referitoare la sursa de date şi înregistr ările aferente;

•   Record Source – conţine sursa de date a formularului (tabel sau interogare). Această  proprietate poate conţine chiar  şi o comanda SQL (sunt admise numai cererile deselecţie).

Un formular va avea ca sursă de date o interogare dacă:

 –   afişează în format Datasheet sau Tabular , controale nelegate;

 –   afişează câmpuri din mai multe tabele.

•  Filter – conţine criteriul de selecţie care se va aplica înregistr ărilor din formular. Condiţiade filtrare este o clauză SQL WHERE, însă f ăr ă să conţină cuvântul WHERE.

Pentru ca filtrul să fie activ, proprietatea Filter On trebuie setată pe valoarea True (setare cese poate face numai din VBA).

•  Order By – permite specificarea câmpurilor după care vor fi sortate înregistr ării dinformular. Sintaxa este identică cu sintaxa clauzei SQL, OrderBy.

Pentru ca operaţia 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 afişa, la deschidere,înregistr ările existente. Proprietatea este utilă pentru formularele ce vor permite numaiadăugarea de înregistr ări.

•    Record Locks – specifică dacă  şi ce înregistr ări vor fi blocate pentru alţi utilizator(blocarea se poate face fie pentru toate înregistr ările, fie numai pentru înregistrareacurentă).

Page 12: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 12/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 116 –

 

3.  Event – conţine evenimentele ce pot fi tratate fie prin proceduri sau funcţii scrise în limbajulVBA, fie prin macro-un. Proprietăţile acestei categorii se numesc proprietăţi eveniment şi audenumiri asemănătoare cu cele ale evenimentelor cărora le sunt ataşate. Apar astfel trei

 posibilităţi:

•  eveniment tratat printr-o funcţie – proprietatea eveniment va conţine o expresie de forma: NumeFunc ţ ie([ListaParametrii])

•  eveniment tratat printr-o procedur ă eveniment – proprietatea eveniment va conţineexpresia EventProcedure, iar editarea procedurii se poate face prin acţionarea butonului

 BuildWizard , la invocarea căruia Access deschide editorul de module, în care generează o procedur ă vidă sub forma:

 Private Sub Form_numeEveniment([List ă  ParametriiFormali])

 End Sub

•  eveniment tratat printr-un macro

Cele mai uzuale evenimente sunt:

EvenimentPoate fi

abandonat ?

Proprietatea

evenimentDescriere

Current   Nu On Current Este înregistrat în momentul trecerii de laînregistrare la alta.

 BeforeUpdate Da  BeforeUpdate

Apare înaintea salvării înregistr ării curente tabelă. Acest eveniment este frecvent folo

 pentru validarea datelor curente.

 Delete Da On Delete

Evenimentul apare înaintea ştergerii înregistr ăcurente şi poate fi folosit pentru obţinerea unconfirmări din partea utilizatorului cu privireaceastă operaţie. Dacă se doreşte ştergerea un

  bloc de înregistr ări, atunci evenimentul se declanşa pentru fiecare înregistrare.

Open Da On Open

Apare înaintea afişării pe ecran a formularulla deschiderea acestuia. Poate fi folosit pentactivarea criteriului de selecţie definit

 proprietatea  Filter , pentru setarea uncontroale înaintea afişării acestora, pentcitirea argumentului transmis formularului, etc

Unload  Da On Unload 

Este un eveniment declanşat înaintea închideformularului. Evenimentul poate fi folo

  pentru a cere confirmarea utilizatorului   privire la închiderea formularului, atunci câdatele nu au fost salvate.

Page 13: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 13/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 117 –

Close  Nu On Close

Evenimentul este înregistrat în timpul închideformularului (formularul este afişat pe ecran)

  poate fi folosit pentru deschiderea aformulare, pentru ştergerea obiectelor temporagenerate "n timpul execuţiei formularului, etc.

 Activate  Nu On Activate

Este declanşat la activarea formularului (fie deschiderea lui, fie la selectarea lui dintr-o afereastr ă) şi poate fi folosit, de exemplu, pentrefacerea valorilor unei liste derulante, în urmactualizării tabelei sursă printr-un alt formular

Click   Nu On Click 

Apare la efectuarea unui click pe selectorul înregistrare sau pe zona liber ă a formularu(zona aflată în afara secţiunilor).

 Error   Nu On Error 

Evenimentul este declanşat la apariţia unei eroîn cursul execuţiei formularului (de exemperoarea generată la introducerea unei valori nu respectă condiţiile de validare sau restricde integritate). Utilitatea acestui evenimeapare atunci când se doreşte interceptarerorilor generate de Access h vederea tratălor.

Timer   Nu On Timer 

Este un eveniment care apare la o anum perioadă de timp, stabilită de utilizator pr proprietatea Timer Interval  (valoarea atribueste în milisecunde). Poate fi utilizat pent

crearea diferitelor efecte vizuale, pentcitirea/setarea unor variabile globale etc..

4.  Other – conţine diverse alte proprietăţi.

•   Pop Up – dacă se doreşte ca, în cursul execuţiei sale, formularul să fie permanent vizibil(va fi poziţionat 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 apăsării tastei Tab pe ultimul câmp din formular: salt laurmătoarea înregistrare ( All  records), revenire la primul câmp (Current  record ), revenirela primul câmp din pagina curentă (Current   Page);

•  Menu  Bar – conţine numele unui meniu creat de utilizator, ce va fi afişat la lansarea înexecuţie a formularului;

•  Toolbar – indică toolbar-ul propriu ce va fi disponibil în cursul rulării.

Page 14: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 14/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 118 –

 

4.3.2. Controale în formulare (Toolbox)

Controalele sunt obiecte grafice (elemente vizuale) ce sunt incluse în formulare sau rapoarte,

în scopul editării/afişării datelor sau executării unor acţiuni (ex.: etichete,casete text, butoane, etc.). Adăugarea controalelor se poate face numai înetapele 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 suprafaţaformularului, definind astfel poziţia şi dimensiunea noului control.

Control Descriere

Indicator 

(Select Objects)

Instrument folosit la proiectarea controalelor (selecţie, repoziţionare,redimensionare, etc.)

Asistenţi

(Control  Wizards)

Activează/dezactivează utilitarele Wizards folosite la generarea unorcontroale mai complexe (casete combinate, casete listă, grupuri deopţiune, etc.).

Eticheta

( Label )

Control cu conţinut fix, folosit pentru afişarea unor mesaje. În general,Access generează câte o etichetă pentru majoritatea controalelor definitede utilizator.

Caseta text

(Text   Box)Control utilizat pentru afişarea şi editarea datelor.

Butonul de comandă 

(Command   Button)Serveşte la declanşarea unor acţiuni.

Caseta listă 

( List   Box) Permite selectarea unei valori dintr-o listă.

Caseta combinată 

(Combo  Box)

Îmbină proprietăţile unei casete text cu cele ale unei casete de tip listă(permite atât editarea unei valori, cât şi selectarea acesteia dintr-o listăderulantă). Caseta combinată este un control ce se foloseşte frecvent

 pentru actualizarea cheilor externe.

Butonul-comutator (Toggle  Button),

Butonul de opţiune(Option  Button),

Caseta de validare(Check   Box)

Sunt controale folosite pentru editarea unor valori de tip logic

(Yes / No, On / Off , True / False).

Page 15: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 15/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 119 –

Grupul de opţiune

(Option Group)

Este un control container folosit pentru afişarea unui set de alternative şi  poate grupa mai multe tipuri de controale (buton de opţiune, casetă devalidare etc.)

Delimitator de pagină 

( Page  Break )

Controlul Page  Break împarte formularul în mai multe pagini care pot fivizualizate cu ajutorul tastelor   PageUp  şi  PageDown. Poate fi, deasemenea, folosit pentru salt la pagină nouă, n cazul tipăririi formularului

Index

(Control  Tab)

Controlul de tip Tab este un control container ce permite gruparea altorcontroale n mai multe pagini, atunci când formularul conţine un număr

 prea mare de controale.

Linie ( Line)

Dreptunghi ( Rectangle)Controalele servesc la trasarea diverselor figuri geometrice.

Imagine

( Image)

Permite afişarea conţinutului unor fişiere grafice (.bmp, . gif , .wmf , . pcx,etc.), pe fundalul formularului.

Obiect cadru nelegat

(Unbound  Object   Frame)

Este un control ce va conţine un obiect (grafic, multimedia, documentetc.), importat dintr-o altă aplicaţie Windows (Word , Excel , Paint , Sound

 Recorder etc.) prin tehnologia OLE (Object   Linking  and   Embedding ).

Obiect cadru legat

( Bound  Object   Frame)Conţine un obiect stocat într-un câmp de tip OLE din tabela sursă 

Subformular (Subform) Permite definirea unui subformular n cadrul formularului curent.

Alte controale

(More Controls)

Afişează alte controale înregistrate, ce pot fi ataşate formularului

(controale ActiveX etc.)

4.3.3. Proprietăţile controalelor

Proprietăţile unui control sunt afişate în fereastra Properties, atunci când controlul respectiveste selectat. Ca şi în cazul formularelor, metodele aferente controalelor sunt grupate în patrucategorii (Format, Data, Events, Other) şi sunt disponibile numai prin intermediul macro-urilor saumodulelor VBA.

Cele mai uzuale proprietăţi sunt:

1.  Proprietăţi din categoria Format :

 –    Format – specifică modelul (masca) de afişare a datelor (numai pentru casetele text);

 –    Decimal   Places – indică numărul de zecimale cu care vor fi afişate datele (numai pentrucasete text);

Page 16: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 16/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 120 –

 

 –   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;

 –    Fore 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);

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 acantităţ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)

Page 17: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 17/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 121 –

 

 –    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. Laexecuţia formularului, mai întâi se verifică regula de validare a controlului şi apoi cea acâmpului ataşat. Proprietatea validation rule poate fi folosită pentru definirea unor restricţiiasupra 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 laexecuţ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 saumacro-urilor, ce vor fi executate la declanşarea evenimentelor ataşate.

Cele mai uzuale evenimente sunt:

 

EvenimentPoate fi

abandonat?

Proprietatea

evenimentDescriere

 BeforeUpdate Da  BeforeUpdate

Apare înaintea salvării datelor din control îicâmpul ataşat acestuia. Evenimentul poate fifolosit pentru validarea datelor introduse îicontrol.

Change  Nu On Change

Se declanşează h momentul îi care datele dincontrol (casetă text sau casetă combinată) suntmodificate.

 Enter   Nu On Enter 

Evenimentul este înregistrat în momentulaccesării controlului în vederea editării datelor

(înaintea activării sale).

 Exit  Da On Exit 

Declanşat, atunci când se păr ăseşte controlulcurent în vederea accesării altui control dinformular. Acest eveniment nu apare n cazul îicare controlul este în curs de editare şi seactivează o altă fereastr ă.

Page 18: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 18/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 122 –

Got Focus  Nu On Got Focus

Apare îi momentul focalizării controlului.Difer ă de evenimentul On Enter prin aceea căse declanşează chiar  şi atunci utilizatorulcomută între o altă fereastr ă  şi formularulcurent.

 Lost Focus  Nu On Lost Focus

Evenimentul este înregistrat la defocalizareacontrolului (fie prin trecerea la alt control dincadrul formularului, fie prin activarea alteiferestre).

Ordinea în care sunt declanşate evenimentele la activarea/dezactivarea unui control esteurmătoarea:

 Enter –> GotFocus –> Exit –> LostFocus 

4.  Proprietăţi din categoria Other :

 –    Name – conţine numele controlului. La creare, fiecare control primeşte un nume unic, formatdin tipul său plus un număr de ordine (ex.: TextBox5). Utilizatorul poate modifica acestnume, schimbându-1 cu unul mai sugestiv. Controalele legate, generate automat de Wizards,au numele identice cu denumirile câmpurilor ataşate;

 –   Status  Bar  Text – specifică mesajul afişat în bara de stare, în momentul selectării controlului;

 –   Tab Stop – dacă este setată pe valoarea Yes, atunci controlul poate fi accesat cu ajutorul tastei

Tab; –   Tab  Index – specifică numărul de ordine al controlului, în funcţie de care acesta va fi accesat

cu ajutorul tastei Tab. Toate controalele editabile vor primi un număr de ordine unic, lacreare. Acest număr poate fi modificat fie prin această proprietate, fie prin opţiuneaView-TabOrder din meniul Access;

 –   Control  Tip Text – conţine mesajul afişat într-o fereastr ă ToolTip.

Pentru crearea unor controale complexe (casete combinate, casete de tip listă etc.), proiectantul poate fi asistat de programele control  wizards.

Page 19: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 19/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 123 –

 

 Aplica ţ ia 4.2: Fie baza de date de la aplicaţia 4.1:

Fig. 4.8. Tabelele bazei de date

Să se creeze un formular utilizând  Design View pentru tabelul imobile care să arate ca înfigura 4.12.

Page 20: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 20/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 124 –

 Fig. 4.12. Formularul ( Form View)

Fig. 4.13. Formularul ( Design View)

Page 21: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 21/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 125 –

 

Se doreşte ca la adăugarea imobilului, proprietarul şi agentul (numerele acestora) să se facă prin selectarea acestora din liste ce conţin toţi proprietari, respectiv toţi agenţii.

Pentru câmpurile ce îndeplinesc rolul de cheie externă, este recomandat ca în formulare săse creeze controale de tip combo box sau list  box, deoarece, datorită referinţei de integritate, cheile

externe nu admit decât valori comune cu cheile primare pe care le refer ă (sau valoarea nuli).Pentru 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 parcurgurmă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 (figura 4.14.), se selectează prima variantă.

Fig. 4.14. Tipuri de casete combinate

Cele trei opţiuni afişate au următoarele semnificaţii:

 –   Lista va conţine valorile unui câmp dintr-o tabelă sau interogare. Controlul este utilizat de

regulă, pentru actualizarea cheilor externe.

 –   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.).

 –   Selectarea unei valori din listă determină saltul la înregistrarea aferentă în sursa de date aformularului. Acest control este folosit în scopul facilitării operaţiilor de regăsire aînregistr ărilor dintr-un formular.

Page 22: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 22/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 126 –

 

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 combobox)

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 implicitascunsă).

8.  Se alege câmpul din sursa de date a formularului ce va fi actualizat cu valoarea selectată dinlistă (câmpul ataşat controlului).

9.  Se specifică eticheta ataşată controlului casetă combinată.

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 decaracterul ";")

 –    List  Width – conţine lăţimea totală a listei derulante

 –    Row  Source Type   – specifică tipul sursei de date pentru valorile din listă (tabelă sauinterogare, valori definite de utilizator, realizările unui câmp)

 –    Row Source – conţine denumirea tabelei, a interogării (sunt admise şi fraze SQL Select) sauvalorile predefinte de utilizator (separate de caracterul ";")

 –    Bound  Column – va conţine numărul de ordine al coloanei care va actualiza câmpul ataşatcontrolului (coloana respectivă poate fi ascunsă)

 –    Limit   To  List  – permite sau nu utilizatorului să introducă valori ce nu există în listacontrolului. 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ă.Cele trei butoane se crează tot prin intermediul Control  Wizards (figura 4.15.), de unde se

alege pentru fiecare în parte acţiunile corespunzătoare.

Fig. 4.15. Button Wizard

Page 23: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 23/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 127 –

 

4.4. Subformulare

Rolul subformularelor este de a actualiza mai multe tabele prin intermediul unei singureferestre (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 altuiformular, primul devenind subformular, iar al doilea formular principal.

Avantajele oferite de utilizarea subformularelor constau în:

•  Posibilitatea actualizării mai multor tabele printr-un singur formular.

•  Sincronizarea subformularului cu formularul principal, operaţie care constă în:

 –   actualizarea automată a câmpului cheie externă din subformular, cu valoarea deţinută decâ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 în modul Design se procedează astfel:

•  se deschide în modul Design, formularul ce se doreşte a fi formular principal;

•  se activează fereastra bazei de date;

• folosind tehnica drag&drop, se aduce depune formularul, ce se doreşte a fi subformular,în interiorul formularului principal;

•  se salvează formularul principal.

Tot pentru definirea unui subformular se poate utiliza şi controlul  subform cadrulformularului principal.

Modificare f ăcută ulterior asupra subformularului, ca obiect de tip formular, se va reflectaautomat şi în formularul principal.

Sincronizarea formular–subformular se realizează prin intermediul câmpurilor de legătur ăcheia primar ă  din sursa de date aferentă formularului principal şi cheia externă  din sursa de date

aferentă subformularului.Denumirile acestor câmpuri sunt înscrise automat de Access în proprietăţile   Link Master

 Field  şi Link Child Field ale controlului de tip subform din formularul principal.

Completarea acestor proprietăţi este realizată automat de Access, atunci când între cele două

surse de date sunt definite relaţii sau când acestea conţin două câmpuri cu aceeaşi denumire. Serecomandă totuşi verificarea acestor proprietăţi chiar şi în cazul completării lor de către Access.

Page 24: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 24/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 128 –

 

 Aplica ţ ia 4.3: Fie baza de date de la aplicaţia 4.1. Să se creeze un formular cu subformularîn modul Form Wizard pentru tabelele agen ţ i şi imobil (figura 4.16.)

Fig. 4.16.

1.  se acţionează butonul New din fereastra bazei de date pentru activarea asistentului New Form;

2.  se optează pentru varianta Form Wizard ;

3.  se selectează câmpurile din tabela agen ţ i sau apoi din tabela imobil ;

4.  pentru tabelul agen ţ i se selectează opţiunea form with subform(s);5.  se alege un model de prezentare pentru subformular;

6.  se stabileşte imaginea de fundal pentru formular (Stone, Standard etc.);

7.  se stabileşte denumirea formularului şi a subformularului.

 Aplica ţ ia 4.4: Fie baza de date de la aplicaţia 4.1. Să se creeze un formular cu subformularîn modul Design View pentru tabelele proprietari şi imobil (figura 4.17.)

1.  se acţioneaz

ăbutonul

 Newdin 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 câmpurile tabelei proprietari;

5.  verificăm dacă este activ Control Wizards din Toolbox;

6.  din Toolbox (View –> Toolbox dacă nu este activ) selectăm controlul Subform/Subreport ;

Page 25: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 25/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 129 –

 

7.  desenăm dreptunghiul pe formă;

8.  din fereastra nou deschisă alegem Use existing Tables and Queries;

9.  din tabelul imobil alegem toate câmpurile sale;

10.  din fereastra nou deschisă alegem Choose from a list ;11.  se stabileşte denumirea subformularului.

Fig. 4.17.

 Aplica ţ ia 4.5: Se cere obţinerea unui formular care să afişeze (pe coloane) preţurilesolicitate şi preţurile de vânzare ale imobilelor din tabela imobile. În finalul formularului se cereobţinerea sumelor preţurilor solicitate, respectiv a preţurilor de vânzare (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 execuţie. Sistemul Tabular nu esterecomandat, în principiu, pentru că, în cazul multor coloane, afişarea datelor este imposibila pe unecran. Dar, în cazul exerciţiului propus, existând numai trei coloane, modul Tabular  devineconvenabil.

Page 26: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 26/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 130 –

 

Fig. 4.18.

Operaţiile de efectuat sunt următoarele:

 –   în fereastra  New  Form va fi accesată opţiunea " Autoform: Tabular " şi va fi selectată tabelaimobile (ca sursă de date).

 –   ca urmare, sistemul va afişa formularul final, conţinând coloane care cuprind toate câmpurile(toţi indicatorii) din tabela-sursă. Se va putea remarca faptul că, din cauza lipsei unui spaţiu

disponibil pe lăţimea ecranului, datele sunt trunchiate, cele numerice (de lungime mai mare)sunt afişate în formă exponenţială etc.

 –   trecem în modul Design;

 –   se şterg toate câmpurile inutile, cu excepţia câmpurilor solicitate prin exerciţiu;

 –   se redimensionează coloanele respectiv titlurile acestora;

Page 27: Access Formulare Nachila

5/7/2018 Access Formulare Nachila - slidepdf.com

http://slidepdf.com/reader/full/access-formulare-nachila 27/27

 

4. Formulare

 Năchilă Cătălin – laborator Access – 131 –

 

 –   se generează un spaţiu necesar pentru secţiunea Form Footer (prin „tragerea” mouse-ului pelimita inferioar ă a titlului acestei secţiuni).

 –   se copiază textbox-ul pret_solicitat în se partea Form Footer ;

 –   se copiază textbox-ul pret_vânzare în se partea Form Footer ;

 –   completăm cele două textbox-uri cu:

= sum ([pret_solicitat])

= sum ([pret_vânzare])

 –   se accesează pictograma Label din Toolbox;

 –   se fixează (prin clic cu mouse-ul) locul de debut al etichetei în secţiunea Form  Footer ;

 –   se scrie textul dorit (de exemplu: Total Preturi).