Sunteți pe pagina 1din 38

APLICA II PRACTICE

Pentru exemplificarea no iunilor teoretice prezentate n capitolul 2, se prezint un numr de 8 aplica ii originale care utilizeaz dou baze de date, STOCURI i CANDIDATI, avnd structurile prezentate i descrise n capitolul 2.2. Pentru execu ia aplica iilor se recomand ca cele dou baze de date s con in un numr minim de nregistrri corespunztoare. Pentru cei interesa i, con inutul celor dou baze de date se pune la dispozi ie, printr-o solicitare email adresat la filipal@unitbv.ro. Cele 8 aplica ii sunt: 1. Crearea i modificarea structurii unei baze de date. Introducerea i afiarea datelor. 2. Gestionarea propriet ilor de cmp i a rela iilor ntre tabele. 3. Afiarea selectiv i ordonarea nregistrrilor. 4. Proiectarea i execu ia interogrilor de selec ie simple. 5. Proiectarea i execu ia interogrilor de selec ie globale. 6. Proiectarea i utilizarea formularelor i subformularelor. 7. Proiectarea i utilizarea rapoartelor. 8. Proiectarea i utilizarea panourilor de comand.

Aplica ia nr.1

Crearea i modificarea structurii unei baze de date Introducerea i afiarea datelor


A. Crearea unei baze de date (New Database) 1. Crearea bazei de date cu op iunea Blank Database Se propune crearea unei baze de date pentru eviden a produselor achizi ionate de o societate comercial (vezi exemplul din fig.2.6, pag.21). Baza de date poate avea n componen 4 tabele, avnd structurile prezentate n continuare. Field name Nume cmp tblProduse codprod denprod um tblFurnizori codfur denfur adresa telefon tblNotereceptie nrnr nrfact codfur datafact tblIntrariStoc codprod nrnr cantitate pret Cod furnizor unic atribuit (4 cifre) Denumirea furnizorului (SC furnizor SRL/SA) Adresa postala a furnizorului Telefon furnizor (0268-123456) Numrul notei de receptie (8 cifre) Numarul facturii de achizi ie Codul furnizorului Data facturii Codul produsului Numrul notei de recep ie (8 cifre, 4-an, 4-nr.notei) Cantitate pe factur Pret unitar (lei) Cod produs unic atribuit (5 cifre) Denumirea produsului Unitatea de msur (buc, l, ml, kg etc.) Description Descriere

Etapele de creare a bazei de date sunt urmtoarele: a. Se alege op iunea New Blank Database sau File New; b. n caseta Save in se selecteaz subdirectorul n care va fi memorat noul fiier (de ex. C:\baze de date\...), n caseta File name se d numele noului fiier (de exemplu STOCURI-A) i se apas butonul Create. Crearea tabelelor bazei de date se face parcurgnd, pentru fiecare tabel, paii urmtori: a. n sec iunea Tables se alege (dublu-click) op iunea Create table in Design View sau se apas butonul New, se selecteaz op iunea Design view i se apas butonul OK, deschiznd fereastra de proiectare a unui nou tabel b. Se creaz cmpurile tabelului, introducnd, succesiv, numele acestora, n coloana Field Name, precum i descrierilor acestora n coloana Description c. Stabilirea cheilor primare se face prin selectarea cmpului respectiv (fig.4.1) cu mouse-ul i indicarea op iunii cheie primar (Edit, Primary key)

d. Se nchide fereastra de proiectare, salvnd structura tabelului cu numele corespunztor.

Selector de cmp

Zona propriet ilor

Fig.4.1. Fereastra de proiectare a tabelului tblProduse 2. Introducerea nregistrrilor n tabele Introducerea datelor se face n fereastra de afiare a nregistrrilor din tabel Datasheet view (dac nu exist formulare create n acest scop), care se deschide selectnd tabelul i apsnd butonul Open sau prin dublu-click pe numele acestuia. Datele se introduc succesiv, parcurgnd cmpurile pentru fiecare nregistrare, cu ajutorul tastelor Tab sau Enter. Exemplu n cazul bazei de date STOCURI-A, creat anterior, se prezint n continuare cteva nregistrri care pot fi introduse n cele patru tabele ale acesteia. Tabelul tblProduse
Cod produs 11002 11006 21003 22003 Denumire produs Ulei motor Texaco Havoline 20W40 Ulei motor Mobil One 10W40 Rulment 6205 2RSR Rulment 30207 A UM l l buc buc Cod furnizor 1004 1005

Tabelul tblFurnizori
Denumire furnizor SC ZOTEC SRL SC RULM GRUP SRL Adresa Str.Lunga nr.231, Brasov Str.Zizinului nr.111, Brasov Nr.telefon 0268-422221 0268-331984

Tabelul tblNoterec
Nr.nota receptie 20050001 20050002 Cod furnizor 1004 1005 Nr. factura Data facturii

Tabelul tblIntrariStoc
Nr.nota recep ie 20050001 20050001 20050001 20050002 20050002 Cod produs 11002 21003 22003 21003 22003 Cantitate 30 10 20 10 20 Pret unitar 164000 58500 87200 49700 74000

BVABA1234567 15.01.05 BVACA1234567 20.01.05

Obs. nregistrrile sunt memorate automat pe msura introducerii, nefiind necesar salvarea expres a acestora.

Zona de explica ii (Help)

3. Crearea tabelelor prin import de date (Import Table) Se pot importa tabele din alte baze de date Access sau din baze de date sau fiiere create n alte medii (FoxPro, dBase, Excel, fiiere text formatate, etc.). Etapele care trebuie urmate sunt urmtoarele: a. n sec iunea Tables se apas butonul New, se alege op iunea Import Table, OK b. n caseta Look In se indic locul n care se afl fiierul din care se import datele (hard disk, floppy-disk, CD, re ea etc.) i se apas butonul Import c. Se urmrete succesiunea ferestrelor de dialog, selectnd op iunile dorite. Exemplu Importarea datelor din foi de calcul Excel care con in eviden a candida ilor la admitere la facultate. Se creaz o baz de date cu structura celei prezentate i descrise n fig.2.7, pag.23. Cele dou foi de calcul Excel se afl ntr-un fiier, Candidati-xls.xls. Pentru cele dou tabele create n noua baz de date, se stabilete cheia primar pe cmpul legit. B. Modificarea aspectului de afiare a datelor (Datasheet View) Modificarea aspectului de afiare a datelor se face n fereastra de afiare a nregistrrilor (Datasheet View). Selectarea cmpurilor (coloanele) sau a nregistrrilor (rndurile) se face prin indicarea selectorului corespunztor, fig.4.2. Selector global Selector de nregistrri (rnd) Selector de cmp (coloan)

Fig.4.2 Selectarea unei coloane (cmp) pentru modificarea l imii acesteia Exemple Se deschide baza de date Candidati i se testeaz cteva dintre op iunile de modificare a aspectului de afiare a nregistrrilor n tabelul tblCandidati. Op iunile sunt accesibile din meniul Format sau din meniul contextual afiat la apsarea butonului dreapta al mouse-ului. Modificare l ime coloane / nl ime rnduri (Format Column width / Row height) Se modific l imea cmpului Nume succesiv la valorile de 25, 45 i Best fit, observnd efectul asupra l imii de afiare Se modific nl imea rndurilor la valoarea de 20, observnd c modificarea afecteaz toate nregistrrile. Modificare font de afiare a textului n celule (Format Font) Se modific fontul de text la Verdana / Regular / 11. Modificare fond (background) celule (Format Datasheet) Se modific fondul de afiare, alegnd op iunile Background Color Silver, Gridlines Color Black; se observ c op iunile Raised i Sunken / Cell Effect sunt predefinite

Modificare ordine de afiare a cmpurilor Se face prin selectarea cu mouse-ul a cmpului care se dorete a fi mutat (fig.4.2) i apoi din nou selectare i mutare prin tragere de mouse (drag&drop) n pozi ia dorit. Se mut cmpul Medf n dreapta cmpului Nume (fig.4.3).

Fig.4.3. Mutarea unui cmp n fereastra de afiare a nregistrrilor Ascundere / reafiare (Format Hide / Unhide Columns) Se selecteaz cmpul / cmpurile a cror afiare se dorete a fi anulat (ascundere) i se indic op iunea de meniu Format Hide Columns. Se ascund cmpurile Punctaj i Nota. Se reafieaz (Format Unhide Columns), observndu-se posibilit ile de selectare n fereastra Unhide Columns. nghe are / dezghe are celule (Format Freeze / Unfreeze) Se selecteaz cmpurile care trebuie nghe ate i se indic op iunea de meniu Format Freeze Columns; se observ c aceste cmpuri se pozi ioneaz primele din stnga i la parcurgerea cu bara de navigare orizontal a cmpurilor spre dreapta, cmpurile nghe ate rmn pe loc. Anularea ac iunii se face cu op iunea de meniu Format Unfreeze All Columns. Se nghea cmpurile Nume i Admis (fig.4.4).

Bara de navigare vertical

Bara de navigare orizontal

Fig.4.4. nghe area cmpurilor Nume i Admis

Aplica ia nr.2

Gestionarea propriet ilor de cmp i a rela iilor ntre tabele


A. Gestionarea propriet ilor de cmp (Field Properties) Gestionarea propriet ilor cmpurilor se face n fereastra de proiectare a tabelului (Design View). Semnifica ia principalelor propriet i ale cmpurilor este prezentat n cap.2.4.

Exemple
Configurarea propriet ilor de cmp pentru tabelele din baza de date STOCURI. Cmpurile subliniate reprezint cheile primare ale tabelelor. tblProduse Field name Data type Field Properties Valori propriet i Nume cmp Tip de date Propriet i codprod Text Field size 5 Input mask 00000 Caption Cod produs denprod Text Field size 40 Caption Denumire produs um Text Field size 3 Caption Unitatea de msur Default value buc Field name Nume cmp codfur denfur adresa telefon Data type Tip de date Text Text Text Text Field Properties Propriet i Field size Input mask Caption Field size Caption Field size Caption Field size Input mask Caption Field Properties Propriet i Field size Input mask Caption Field size Input mask Caption Lookup Limit to list Field size Input mask Caption Field size Caption Caption tblFurnizori Valori propriet i 4 0000 Cod furnizor 40 Denumire furnizor 40 Adresa 10 \0000\-000000 Telefon tblNoterec Valori propriet i 8 00000000 Nr.nota receptie 4 0000 Cod furnizor codfur.tblFurnizori Yes 12 >LLLLL0000000 Nr.factura Short date Data facturii Achitat?

Field name Nume cmp nrnr codfur

Data type Tip de date Text Text (Lookup List) Text Date/time Yes/No

nrfact datafact achitat

Field name Nume cmp nrnr codprod

Data type Tip de date Text Text (Lookup List) Number

pret

Field Properties Propriet i Field size Input mask Caption Field size Input mask Caption Lookup Limit to list Field size Caption Validation rule Validation text Format Caption Validation rule Validation text

tblStocAprov Valori propriet i 8 00000000 Nr.nota receptie 5 00000 Cod produs codprod.tblProduse Yes single Pret unitar >0 Valoarea trebuie s fie pozitiv integer Cantitate >0 Valoarea trebuie s fie pozitiv

cantitate

Number

Configurarea tipului de dat Lookup List n tabelele tblStocAprov i tblNoterec exist dou cmpuri, codprod i, respectiv, codfur, a cror tip de dat este indicat Text (Lookup List). Acest tip de dat List de valori disponibile se configureaz cu ajutorul asisten ei interactive Lookup Wizard. Valorile care se pot introduce ntr-un cmp de tip Lookup List sunt disponibile dintre cele existente la un moment dat ntr-un alt cmp al unui tabel al bazei de date sau dintr-o list de valori definite de ctre utilizator. Configurarea se face prin parcurgerea urmtorilor pai (exemplu pentru cmpul codprod): Selectarea din lista tipurilor de date a tipului Lookup i lansarea asisten ei interactive (Wizard); n prima fereastr se las implicit op iunea I want the lookup column to look up in (fig.4.5); n a doua fereastr se indic tabelul tblProduse din care se va forma lista de valori disponibile n cmpului codprod al acestuia (fig.4.6); n a treia fereastr se selecteaz cmpul codprod prin mutarea acestuia n zona Selected Fields; n a patra fereastr se poate modifica l imea coloanei n care sunt afiate valorile disponibile, prin selec ie dinamic cu ajutorul mouse-ului; n ultima fereastr se las valoarea implicit (codprod) i se apas butonul Finish.

Fig.4.5. Prima fereastr Lookup Wizard

Fig.4.6. A doua fereastr Lookup Wizard

Configurarea tipului de dat Lookup cu cutarea valorilor disponibile ntre cele ale altui tabel creaz de fapt o legtur (rela ie) ntre cele dou tabele prin cmpurile respective (n exemplul dat cele dou cmpuri au chiar acelai nume, codprod). Rela ia este afiat n fereastra rela iilor (Relationships vezi pct.D.). Fereastra propriet ilor zona Lookup poate arta ca n Fig.4.7. Zona propriet ilor Lookup pentru un cmp de tip Lookup figura 4.7. Dac se configureaz proprietatea Limit To List pe valoarea Yes, atunci valorile care se pot introduce n cmpul respectiv pot fi numai dintre cele cuprinse n lista Lookup. B. Configurarea formatului de afiare a valorilor cmpurilor (Format)

Exemple
n baza de date CANDIDA I se configureaz formatul de afiare a valorilor cmpurilor mbac, notap i medf astfel nct acestea s fie afiate cu dou zecimale. Se alege op iunea Standard sau Fixed din list sau se indic formatul 0.00 Se observ c formatul .00. 0.00 este chiar cel predefinit Fixed. n baza de date CANDIDA I se configureaz formatul de afiare a valorilor cmpului admis astfel nct acestea s fie afiate cu litere mici. Se ataeaz semnul < la proprietatea Format a cmpului respectiv. n baza de date STOCURI se configureaz formatul de afiare a valorilor cmpului pret al tabelului tblStocAprov astfel nct acestea s respecte modelul 12.300 lei Se ataeaz 12. lei. formatul #.###" lei" lei". n baza de date STOCURI se configureaz formatul de afiare a valorilor cmpului datafact al tabelului tblNoterec astfel nct acestea s respecte modelul 12/Jan/2004 Se ataeaz 12/Jan/2004. Jan/2004 formatul dd/mmm/yyyy dd/mmm/yyyy. C. Configurarea ablonului de introducere date (Input Mask)

Exemple
n baza de date CANDIDA I se configureaz un ablon pentru introducerea datelor n cmpul admis, inndu-se seama de faptul c valorile cmpului trebuie s con in un cod format din patru sau cinci litere. ablonul necesar este LLLL?. LLLL? Controlul valorilor care se introduc n cmpul Admis poate fi asigurat i prin ataarea unei liste de valori Lookup List definit de ctre utilizator care s con in cele 16 valori posibile (CTAS, CTAS$, DESP, DESP$, IPDE, IPDE$, IMSP, IMSP$, MAUN, MAUN$, ROIN, ROIN$, PROD, PROD$, TECM, TECM$). n baza de date CANDIDA I se configureaz un ablon pentru introducerea datelor n cmpul legit, inndu-se seama de faptul c valorile cmpului trebuie s con in un cod format din dou litere (IT) urmate de patru cifre. ablonul necesar este \I\T0000 T0000. Se testeaz utilitatea abloanelor create prin introducerea unei nregistrri n tabelul tblCandidati, cu datele urmtoare:
Legit Nume Admis Punctaj Nota Proba Mbac Notap Medf Abs Stud Judet

OLTEANU GH. IT1003 RADU ANDREI

PROD

47

MEC

8,64

8,83

8,77

AG

D. Gestionarea rela iilor ntre tabele (Relationships) Rela iile ntre tabele se creaz n fereastra rela iilor (Relationships).

Exemple
Se vor crea rela iile necesare n baza de date STOCURI, rela ii de tip 1 N 1. rela ia codprod.tblProduse codprod.tblStocAprov 2. rela ia codfur.tblFurnizori codfur.tblNoterec 3. rela ia nrnr.tblNoterec nrnr.tblStocAprov a. Se deschide fereastra rela iilor b. Se aduc tabelele n fereastr, cu ajutorul op iunii de meniu RelationshipsShow Table sau apsnd butonul asociat de pe bara superioar c. Pentru crearea primei rela ii, de exemplu, se selecteaz cu mouse-ul cmpul codprod din tabelul tblProduse i, innd butonul mouse-ului apsat, se aduce, prin drag-and-drop, peste cmpul codprod din tabelul tblStocAprov, apoi se elibereaz butonul mouse-ului d. n fereastra Relationships, se valideaz op iunile Enforce Referential Integrity i, apoi Cascade Update Related Records i se apas butonul Create. (se observ identificarea automat a tipului rela iei, One-To-Many, pe baza nregistrrilor existente n tabele) e. Se procedeaz similar pentru toate celelalte rela ii. Se verific func ionarea rela iei prin modificarea, de exemplu, a codului unui produs, 21003 n 21010, n tabelul tblProduse, observnd c modificarea se transmite i n tabelul legat prin rela ie, tblStocAprov.

Aplica ia nr.3

Afiarea selectiv i ordonarea nregistrrilor


A. Cutarea informa iilor n tabele i modificarea acestora (Edit Find/Replace) Se testeaz cteva dintre op iunile de cutare ale ferestrei Find n baza de date CANDIDATI, n tabelul tblCandidati.

Exemple
iruri de cutare : Mihaela, Miha*, 8010 Obs. n irul de cutare se poate utiliza caracterul de nlocuire * (wildcard, joker). Se nlocuiete valoarea IMSP a cmpului Admis cu valoarea IESP pentru toate nregistrrile, utiliznd op iunea Find/Replace/Replace All. B. Afiarea selectiv a nregistrrilor (Records Filter) Filtrare prin selectia unei singure valori Filter By Selection Filtrare prin selec ie multipl de valori Filter By Form Obs. Cnd se utilizeaz op iunea Filter By Form, aplicarea filtrului se face cu op iunea Apply Filter, iar nlturarea acestuia cu Remove Filter.

Exemple (n baza de date CANDIDATI)


n tabelul tblCandidati, se afieaz numai nregistrrile corespunztoare candida ilor admii la o anumit specializare (ex.TECM). Se deschide tabelul tblCandidati (Open) Se depune prompterul n cmpul Admis pe o nregistrare care are valoarea TECM; Se apas butonul Filter By Selection sau se selecteaz op iunea de meniu Records Filter Filter By Selection Obs. n partea inferioar a ferestrei de afiare a nregistrrilor, n zona butoanelor de navigare Record, este afiat numrul de nregistrri afiate la un moment dat. Dac s-a aplicat un filtru, numrul respectiv este urmat de men iunea (Filtered). n tabelul tblCandidati, se afieaz numai nregistrrile corespunztoare candida ilor admii la o anumit specializare (ex.TECM) care au avut o anumit op iune la proba de concurs (ex. MFZ). Se deschide tabelul tblCandidati (Open) Se apas butonul Filter By Form sau se selecteaz op iunea de meniu Records Filter Filter By Form n cmpul Admis, se alege din list valoarea TECM, iar n cmpul Proba, valoarea MFZ Se aplic filtrul, apsnd butonul Apply Filter. Obs. Filtrul By Form aplicat la un moment dat poate fi memorat, astfel nct la o deschidere ulterioar a tabelului respectiv, filtrarea s poat fi aplicat direct, cu Apply Filter, fr s mai fie necesar indicarea valorilor n formular. Memorarea se face cu File Save sau prin apsarea butonului specific de pe bara cu butoane superioar.

10

C. Ordonarea nregistrrilor (Sort Ascending/Descending) Ordonarea se face n fereastra de afiare a nregistrrilor din tabel (Datasheet View) prin selectarea cmpurilor dup a cror valoare se face ordonarea i alegerea uneia dintre cele dou op iuni de ordonare (din meniul Records Sort-Ascending/Descending sau prin apsarea butoanelor asociate de pe bara superioar). Obs. Dac se aleg mai multe cmpuri drept criterii de ordonare, atunci acestea trebuie aezate unul lng altul, n ordinea clasei de ordonare, de la stnga la dreapta. Ordonarea aplicat la un moment dat poate fi memorat, astfel nct la o deschidere ulterioar a tabelului respectiv, nregistrrile s fie afiate n ordinea respectiv. Dac nu se memoreaz nici un criteriu de ordonare, atunci nregistrrile sunt afiate n ordine cresctoare dup valorile cheii primare a tabelului (ordonare implicit).

Exemple (n baza de date CANDIDATI)


Se vor ordona nregistrrile din tabelul tblCandidati dup urmtoarele criterii: dup nume n ordine alfabetic dup specializare i media final (cmpurile Admis i Medf) n ordine descresctoare. n acest caz, cmpul Medf trebuie adus n dreapta cmpului Admis. dup specializare i nume n ordine cresctoare (alfabetic dup nume) fig.4.8 (dup ordonare, cmpul Admis se readuce la dreapta cmpului Nume)

Fig.4.8 Ordonare cresctoare dup Admis i Nume i modificare ordine cmpuri

11

Aplica ia nr.4

Proiectarea i execu ia interogrilor de selec ie simple


Interogrile sunt obiecte ale bazei de date destinate prelucrrii informa iilor memorate. Interogrile se creaz i se gestioneaz n sec iunea Queries. n aceast aplica ie sunt prezentate exemple de interogri de selec ie simple: de nregistrri, cu cmp calculat i cu parametru. A. Interogri de selec ie de nregistrri Sunt destinate afirii selective a nregistrrilor din tabele, dup anumite criterii de selec ie, precizate pe grila de interogare, n rndul Criteria. Sunt similare cu utilizarea filtrelor pentru tabele (vezi apl.3), dar ofer mai multe posibilit i de selec ie. Op ional, se poate face ordonarea dup unul sau mai multe cmpuri (rndul Sort). Prin execu ia interogrii, n fereastra de afiare a rezultatelor vor apare nregistrrile ale cror valori de cmp respect criteriile de selec ie. Execu ia unei interogri se face cu op iunea de meniu Query Run sau prin apsarea butonului specific de pe bara superioar cu butoane.

Exemple
1. Afiarea n baza de date CANDIDA I a candida ilor admii la specializarea TECM, n ordine alfabetic, cu urmtoarele informa ii: nr.legitima ie, nume, admis la, medie bacalaureat, medie prob, medie final. Se deschide o nou interogare (New Design View); Se aduce n fereastra interogrii tabelul tblCandidati i se aduc pe gril prin selec ie&dubluclick cmpurile legit, nume, admis, mbac, notap, medf; Codul specializrii respective (TECM) se indic n rndul Criteria al cmpului [admis]; Se aplic ordonare cresctoare (Sort Ascending) dup valorile cmpului [nume]; Se salveaz interogarea cu numele QryAdmisiSpec. Fereastra de proiectare a interogrii este prezentat n figura 4.9, iar rezultatul execu iei acesteia n figura 4.10. Se observ afiarea numai a nregistrrilor corespunztoare candida ilor admii la specializarea TECM (63 nregistrri), ordonate alfabetic dup numele candida ilor.

Fig.4.9 Fereastra de proiectare a interogrii QryAdmisiSpec

12

Fig.4.10 Rezultatul execu iei interogrii QryAdmisiSpec Obs. Dac selec ia trebuie efectuat dup mai multe valori ale aceluiai cmp, atunci acestea pot fi indicate fie succesiv, una sub alta, la Criteria, fie prin compunerea unei selec ii logice cu operatorul Or (fig.4.11). n acelai scop se poate utiliza i func ia In(val_1, val_2, , val_n) In(val_ val_ val_n). Ex. afiarea simultan a candida ilor admii la specializrile TECM i CTAS. n figura 4.11 sunt prezentate cele dou posibilit i de selec ie men ionate.

Fig.4.11 Posibilit i de selec ie dup dou valori ale aceluiai cmp 2. Afiarea n baza de date CANDIDATI a candida ilor respini, n ordinea descresctoare a mediilor finale de admitere, cu urmtoarele informa ii: nr.legitima ie, nume, prima op iune, medie bacalaureat, medie prob, medie final. Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblCandidati i tblOptiuni i se aduc pe gril prin selec ie&dublu-click cmpurile legit, nume, admis, op1, mbac, notap, medf; Se aplic o selec ie pe cmpul [admis], utiliznd func ia Is Null i se dezactiveaz afiarea cmpului prin setarea pe zero a casetei Show corespunztoare;

13

Se aplic ordonare descresctoare (Sort Descending) dup valorile cmpului [medf]; Se salveaz interogarea cu numele QryRespinsi. Fereastra de proiectare a interogrii este prezentat n figura 4.12, iar rezultatul execu iei acesteia n figura 4.13. Sunt afiate 37 nregistrri. Deoarece valorile cmpului [admis] al acestor nregistrri sunt nule, afiarea nu este necesar, pentru c, de fapt, nu se afieaz nimic.

Fig.4.12 Fereastra de proiectare a interogrii QryRespinsi

Fig.4.13 Rezultatul execu iei interogrii QryRespinsi

3. Afiarea n baza de date CANDIDA I a candida ilor admii, al cror nume ncepe cu o anumit liter, cu urmtoarele informa ii: nr.legitima ie, nume, admis la, medie bacalaureat, medie prob, medie final. Se deschide o nou interogare (New Design View); Se aduce n fereastra interogrii tabelul tblCandidati i se aduc pe gril prin selec ie&dubluclick cmpurile legit, nume, admis, mbac, notap, medf; Se aplic o selec ie pe cmpul [nume], utiliznd func ia Like cu caracterul de nlocuire * i o selec ie pe cmpul [admis], utiliznd func ia Is Not Null; De exemplu, pentru selec ia candida ilor ai cror nume ncepe cu litera B, sintaxa func iei va fi Like B* B*.

14

4. Afiarea n baza de date CANDIDATI a candida ilor care au fost admii la prima op iune din fia de nscriere, ordona i alfabetic dup nume, cu urmtoarele informa ii: nr.legitima ie, nume, admis la, prima op iune, medie final. Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblCandidati i tblOptiuni i se aduc pe gril prin selec ie&dublu-click cmpurile legit, nume, admis, op1, medf; Se aplic o selec ie pe cmpul [admis], indicnd egalitatea valorilor acestui cmp cu cele ale cmpului [tblOptiuni]![op1], n figura 4.14 este prezentat fereastra de proiectare corespunztoare; Se aplic ordonare cresctoare (Sort Ascending) dup valorile cmpului [nume];

Fig.4.14 Fereastra de proiectare a interogrii de la exemplul nr.4

5. Afiarea n baza de date CANDIDA I a candida ilor admii care au ob inut media final ntr-un anumit interval de valori, ordona i descresctor dup valoarea mediei finale, cu urmtoarele informa ii: nr.legitima ie, nume, admis la, medie final. Se deschide o nou interogare (New Design View); Se aduce n fereastra interogrii tabelul tblCandidati i se aduc pe gril prin selec ie&dubluclick cmpurile legit, nume, admis, medf; Se aplic ordonare descresctoare (Sort Descending) dup valorile cmpului [medf]; Se aplic pe cmpul [admis] o selec ie a candida ilor admii cu func ia Is Not Null; Se aplic pe cmpul [medf] o selec ie cu func ia Between val1 and val2, n care val1 i val2 reprezint limitele intervalului sau cu o rela ie de comparare de tipul >val1 and <val2 Ex. Between 8,5 and 10 sau >8,5 and <10, pentru selec ia nregistrrilor pentru care valoarea cmpului [medf] este ntre 8,5 i 10, exclusiv aceste limite. Pentru a include i limitele intervalului n selec ie, se poate utiliza numai rela ia de comparare, >=8,5 <=10 >=8,5 and <=10

15

Fereastra de proiectare a interogrii i rezultatul execu iei acesteia sunt prezentate n figura 4.15. Se va salva interogarea cu numele QryBetween.

Fig.4.15 Fereastra de proiectare i rezultatul execu iei interogrii de la exemplul nr.5

6. Afiarea n baza de date STOCURI a unor date despre facturile de aprovizionare dintr-o anumit perioad de timp, ordonate cronologic, cu urmtoarele informa ii: nr.not recep ie, nr.factur, data facturii, nume furnizor, achitat D/N. Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblNoterec i tblFurnizori i se aduc pe gril prin selec ie&dublu-click cmpurile nrnr, nrfact, datafact, denfur, achitat; Se aplic ordonare cresctoare (Sort Ascending) dup valorile cmpului [datafact]; Se aplic pe cmpul [datafact] o selec ie, utiliznd func ia Between, de exemplu pentru facturile avnd data cuprins n luna septembrie 2003, #01/09/03# #30 09/0 30/ /03 Between #01/09/03# and #30/09/03# Obs. Valoarea de tip dat calendaristic se introduce n formatul implicit al sistemului Windows (n exemplul dat ZZ/LL/AN). Caracterul special # (diez) nu trebuie introdus, el este adugat automat atunci cnd se identific o valoare de tip dat calendaristic. 7. Afiarea n baza de date STOCURI a facturilor neachitate, n ordine cronologic, cu urmtoarele informa ii: nr.not recep ie, nr.factur, data facturii, nume furnizor. Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblNoterec i tblFurnizori i se aduc pe gril prin selec ie&dublu-click cmpurile nrnr, nrfact, datafact, denfur, achitat; Se aplic ordonare cresctoare (Sort Ascending) dup valorile cmpului [datafact]; Se aplic pe cmpul [achitat] o selec ie, utiliznd valoarea predefinit False i se dezactiveaz afiarea cmpului prin deselectarea casetei Show; Se salveaz interogarea cu numele QryFactNeach. B. Interogri de selec ie cu cmp calculat Sunt interogri n care se creaz noi cmpuri ale cror valori sunt calculate cu rela ii matematice. Cmpurile calculate sunt create la execu ia interogrii. Pot fi aplicate selec ii de nregistrri sau criterii de ordonare dup oricare cmp (calculat sau al unui tabel al bazei de date).

16

Exemple
1. Afiarea n baza de date CANDIDATI a mediei finale de admitere ca un cmp calculat ca medie ponderat a valorilor din cmpurile [notap] 70% (nota la prob) i [mbac] 30% (medie bacalaureat). Trebuie afiate urmtoarele informa ii: nr.legitima ie, nume, admis la, medie final i valorile noului cmp calculat media. Se deschide o nou interogare (New Design View); Se aduce n fereastra interogrii tabelul tblCandidati i se aduc pe gril prin selec ie&dubluclick cmpurile legit, nume, medf; Pe prima coloan disponibil dup ultimul cmp adugat se depune prompterul n rndul Field (fig.4.16), se scrie numele noului cmp media urmat de semnul : i se apas butonul Expression Builder pentru editarea rela iei matematice;

Fig.4.16 Crearea unui cmp calculat n fereastra de editare Expression Builder Se editeaz rela ia matematic de mai jos, n fereastra de editare Expression Builder (fig.4.16), dup care se apas butonul OK: media: [notap]*0.7 + [mbac]*0.3 Se salveaz interogarea cu numele QryMedia ; La execu ia interogrii, se observ egalitatea valorilor cmpurilor [medf] i [media]; Valorile cmpului [media] pot fi afiate cu dou zecimale prin configurarea propriet ii Format a cmpului la valoarea Standard. 2. Crearea n baza de date CANDIDATI a unui cmp ale crui valori s fie Da sau Nu n func ie de valoarea mediei finale [medf]; dac media este mai mare sau egal cu 8,50, valoarea s fie Da, iar n celelalte cazuri s fie Nu. Valorile ar putea fi utilizate pentru decizia privind acordarea bursei ctre studen i. Se deschide o nou interogare (New Design View); Se aduce n fereastra interogrii tabelul tblCandidati i se aduc pe gril prin selec ie&dubluclick cmpurile legit, nume, medf; Se creaz un nou cmp, denumit bursa, ale crui valori sunt calculate cu ajutorul func iei condi ionale IIf, avnd urmtoarea sintax: bursa: IIf ([medf] >=8,50; Da; Nu) Se salveaz interogarea cu numele QryBursa.

17

3. Afiarea n baza de date STOCURI a valorii aprovizionate pe fiecare produs sau factur pentru nregistrrile din tabelul tblStocAprov. Valoarea se ob ine prin nmul irea valorilor cmpurilor [pret] i [cantitate]. Se vor afia urmtoarele informa ii: cod i denumire produs, pret, cantitate i noul cmp valaprov. Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblProduse i tblStocAprov i se aduc pe gril prin selec ie&dublu-click cmpurile codprod, denprod, pret, cantitate; Se creaz un nou cmp, denumit ValAprov, ale crui valori sunt calculate cu rela ia ValAprov: [pret]*[cantitate] Se salveaz interogarea cu numele QryValAprov. 4. Afiarea n baza de date STOCURI a unor date din facturile de aprovizionare, n ordine cronologic, n func ie de luna achizi iei. Luna achizi iei este inclus n data facturii i poate fi extras cu ajutorul unor func ii predefinite Month sau Datepart. Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblNoterec i tblStocAprov i se aduc pe gril prin selec ie&dublu-click cmpurile nrnr, nrfact, datafact; Se creaz un nou cmp, denumit ValFact, ale crui valori sunt calculate cu rela ia ValFact: ValFact: [pret]*[cantitate] Se creaz un nou cmp, denumit Luna ale crui valori sunt calculate cu una dintre rela iile Month([datafact]) datafact]); Datepart(m;[datafact]); luna: Month([datafact]); luna: Datepart(m;[datafact]); Se salveaz interogarea cu numele QryValLunar. 5. Afiarea n baza de date STOCURI a pre ului de achizi ie al produselor n euro, pe baza pre ului n lei. Pre ul n euro se calculeaz prin mpr irea pre ului de aprovizionare n lei, [pret] din tabelul tblStocAprov, la cursul valutar lei/euro. Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblProduse i tblStocAprov i se aduc pe gril prin selec ie&dublu-click cmpurile codprod, denprod, pret; Se creaz un nou cmp, denumit pret_euro, ale crui valori sunt calculate cu rela ia pret_euro: pret_euro: [pret] / 37800 _euro Se salveaz interogarea cu numele QryPretEuro.

C. Interogri de selec ie cu parametru Parametrul reprezint o valoare variabil, care este dat de ctre utilizator, ntr-o fereastr de dialog specific, n momentul execu iei interogrii. Identificarea unui parametru se face printr-un mesaj specific ntre paranteze drepte [mesaj].

Exemple
1. Afiarea n baza de date CANDIDA I a candida ilor admii la o anumit specializare, fr a o preciza explicit, ci sub form de parametru. Se utilizeaz interogarea QryAdmisiSpec, creat la exemplul nr.1, par.A; Se deschide interogarea n fereastra de proiectare, apsnd butonul Design;

18

n locul unei valori explicite de selec ie pe cmpul [admis], se editeaz un mesaj specific n rndul Criteria, cum ar fi [Introduceti codul specializarii] (fig.4.17);

Fig.4.17 Fig.4.33 Fereastra de proiectare i fereastra parametrului la o interogare cu parametru La execu ia interogrii se va solicita valoarea parametrului, ntr-o fereastr de dialog n care se afieaz mesajul specific indicat, fig.4.17; Se salveaz interogarea, cu op iunea Save As, cu numele QryParametru; La fiecare execu ie a interogrii, se va solicita valoarea parametrului respectiv. 2. Afiarea n baza de date CANDIDA I a candida ilor admii avnd media final ntr-un interval precizat de ctre utilizator Se utilizeaz interogarea QryBetween, creat la exemplul nr.5, par.A; Se deschide interogarea n fereastra de proiectare, apsnd butonul Design; Se aplic pe cmpul [medf] o selec ie cu func ia Between val1 and val2, n care val1 i val2 vor fi nite mesaje specifice de forma Between [Media minima] And [Media maxima] La execu ia interogrii se vor solicita valorile celor doi parametri, n dou ferestre de dialog n care se afieaz mesajele specifice indicate. 3. Afiarea n baza de date STOCURI a pre ului de achizi ie al produselor n euro, pe baza pre ului n lei. Pre ul n euro se calculeaz prin mpr irea pre ului de aprovizionare n lei, [pret] din tabelul tblStocAprov, la cursul valutar lei/euro, care va fi definit ca un parametru. Se utilizeaz interogarea QryPretEuro, creat la exemplul nr.5, par.B; Se deschide interogarea n fereastra de proiectare, apsnd butonul Design; Se modific rela ia de calcul a cmpului pret_euro, exprimnd cursul valutar sub forma unui parametru: pret_euro _euro: Lei/Euro ei/Euro] pret_euro: [pret] / [Introduceti cursul Lei/Euro] La execu ia interogrii se va solicita valoarea cursului valutar, ntr-o fereastr de dialog n care se afieaz mesajul specific indicat.

Exemple propuse spre rezolvare


1. Crearea n baza de date CANDIDA I a unui cmp care poate avea una dintre dou valori, Admis sau Respins n func ie de situa ia candidatului. Cmpul va fi ataat listei candida ilor nscrii.

19

2. Afiarea n baza de date CANDIDA I a unei liste cu candida ii respini, avnd media final cel pu in 5,00, ordona i descresctor dup valoarea mediei finale. 3. Afiarea n baza de date CANDIDA I a unei liste a candida ilor admii, n ordine alfabetic, grupa i pe specializri, care au dat proba de concurs MFZ (matematic i fizic). 4. Afiarea n baza de date CANDIDA I a unei liste cu candida ii admii la specializrile cu plat, n ordine descresctoare a mediei de admitere, care au domiciliul n jude ul Braov. 5. Afiarea n baza de date CANDIDA I a unei liste cu candida ii admii la specializrile CTAS, PROD i TECM, care au domiciliul n afara jude ului Braov. 6. Afiarea n baza de date STOCURI a unei liste cu cantit ile aprovizionate dintr-un anumit produs, definit ca parametru. 7. Afiarea n baza de date STOCURI a unei liste cu cantit ile consumate pe produse, de ctre departamentul AUTO.

Fig.4.18 Rezolvarea exemplului nr.1

Fig.4.19 Rezolvarea exemplului nr.2

Fig.4.20 Rezolvarea exemplului nr.3

20

Fig.4.21 Rezolvarea exemplului nr.4

Fig.4.22 Rezolvarea exemplului nr.5

Fig.4.23 Rezolvarea exemplului nr.6 pentru produsul cu codul 23002

Fig.4.24 Rezolvarea exemplului nr.7

21

Aplica ia nr.5

Proiectarea i execu ia interogrilor de selec ie globale


Interogrile de tip global prelucreaz informa iile din tabelele bazei de date cu ajutorul unor op iuni de tip global, similare func iilor de tip global. nregistrrile sunt grupate prin selec ie, pe seturi, dup valoarea comun a unor cmpuri (Group By) i apoi se efectueaz prelucrarea seturilor astfel create, dup valorile din alte cmpuri, cu op iunile de tip global (Count, Sum, Min, Max, Avg, Expression). Interogarea de tip global se creaz dintr-o interogare de selec ie, apsnd butonul de pe bara superioar; pe gril apare rndul Total n care se aleg op iunile de prelucrare pentru fiecare cmp. Interogrile de tip global pot fi obinuite sau de tip tabel sintetic.

Exemple de interogri de tip global obinuite


1. Afiarea n baza de date CANDIDATI a numrului de candida i admii pe specializri i a mediei minime i maxime de admitere pe specializri Se deschide o nou interogare (New Design View); Se aduce n fereastra interogrii tabelul tblCandidati i se aduc pe gril prin selec ie&dubluclick cmpurile [admis] i [medf] de cte dou ori; Se apas butonul i se aleg op iunile de prelucrare: pe primul cmp [admis] se alege Group By valoare de grupare pe seturi i se aplic selec ia cu func ia Is Not Null, iar pe al doilea se alege Count numrare nregistrri din fiecare set; pe cmpurile [medf] se aleg op iunile Min i, respectiv Max; Fereastra de proiectare a interogrii i rezultatul execu iei acesteia sunt prezentate n figurile 4.25a, respectiv 4.25b.

a. Fereastra de proiectare b. Rezultatul execu iei interogrii Fig.4.25 Interogarea de tip global de la exemplul nr.1

2. Afiarea n baza de date CANDIDATI a numrului de candida i nscrii dup prima liter a numelui acestora Se deschide o nou interogare (New Design View); Se aduce n fereastra interogrii tabelul tblCandidati;

22

Se creaz un cmp calculat, denumit Litera, utiliznd func ia predefinit Left() pentru extragerea primei litere a numelui, Litera: left([nume];1) Se aduce pe gril prin selec ie&dublu-click cmpul [legit] (sau oricare alt cmp al tabelului tblCandidati); Se apas butonul i se aleg op iunile de prelucrare: pe cmpul [litera] se alege Group By valoare de grupare pe seturi, iar pe cmpul [legit] se alege Count numrare nregistrri din fiecare set. 3. Afiarea n baza de date STOCURI a cantit ii totale aprovizionate / consumate pe produse Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblProduse i tblStocAprov i se aduc pe gril cmpurile [codprod], [denprod] i [cantitate]; Se apas butonul i se aleg op iunile de prelucrare: pe cmpurile [codprod] i [denprod] se alege Group By valoare de grupare pe seturi, iar pe cmpul [cantitate] se alege Sum nsumare valori. Pentru cantit ile consumate se utilizeaz cmpul [cantitate] din tabelul tblStoConsum. 4. Afiarea n baza de date STOCURI a valorii totale de aprovizionare pe produse (facturi / furnizori) Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblProduse i tblStocAprov i se aduc pe gril cmpurile [codprod], [denprod]; Se creaz un cmp calculat, denumit ValAprov, cu rela ia matematic ValAprov:[cantitate]*[pret] ValAprov:[cantitate]*[pret] Se apas butonul i se aleg op iunile de prelucrare: pe cmpurile [codprod] i [denprod] se alege Group By valoare de grupare pe seturi, iar pe cmpul [ValAprov] se alege Sum nsumare valori. Obs. Se poate utiliza un cmp calculat cu rela ia ValAprov:Sum([cantitate]*[pret]) i, pe rndul Total, se alege op iunea Expression; Pentru calculul valorii totale de aprovizionare pe facturi, respectiv pe furnizori, se alege gruparea nregistrrilor (Group By) dup valorile cmpurilor [nrnr] i, respectiv [denfur].

Exemple de interogri de tip tabel sintetic


1. Afiarea n baza de date CANDIDATI a numrului de candida i, repartiza i pe probele de concurs, pentru fiecare specializare. Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblCandidati i tblOptiuni i se aduc pe gril prin selec ie&dublu-click cmpurile [op1] o dat i [proba] de dou ori; Se apas butonul i se aleg op iunile de prelucrare: pe cmpul [op1] i primul cmp [proba] se alege Group By, iar pe al doilea cmp [proba] se alege Count numrare nregistrri din fiecare set; Se alege op iunea de meniu Query Crosstab Query i se aleg urmtoarele op iuni ale rndului Crosstab: pe cmpul [op1] se alege Row Heading, pe primul cmp [proba] se alege Column Heading, iar pe al doilea Value. Fereastra de proiectare a interogrii i rezultatul execu iei acesteia sunt prezentate n figura 4.26,a i, respectiv, 4.26,b.

23

a. Fereastra de proiectare

b. Rezultatul execu iei interogrii

Fig.4.26 Interogarea de tip tabel sintetic de la exemplul nr.1


2. Afiarea n baza de date STOCURI a cantit ilor totale din fiecare produs, achizi ionate de la fiecare furnizor Se deschide o nou interogare (New Design View); Se aduc n fereastra interogrii tabelele tblProduse, tblStocAprov, tblNoterec i tblFurnizori i se aduc pe gril prin selec ie&dublu-click cmpurile [codprod], [denprod], [cantitate] i [denfur]; Se apas butonul i se aleg op iunile de prelucrare: pe cmpurile [codprod], [denprod] i [denfur] se alege Group By, iar pe cmpul [cantitate] se alege Sum; Se alege op iunea de meniu Query Crosstab Query i se aleg urmtoarele op iuni ale rndului Crosstab: pe cmpurile [codprod] i [denprod] se alege Row Heading, pe cmpul [denfur], Column Heading, iar pe cmpul [cantitate], Value; Rezultatul execu iei interogrii este prezentat n figura 2.26.

Exemple propuse spre rezolvare


1. Afiarea n baza de date STOCURI a valorii totale de aprovizionare pe facturi / note de recep ie dintr-o perioad de timp, precizat de ctre utilizator ca parametru Perioada de timp se poate indica cu ajutorul func iei Between, aplicat drept criteriu de selec ie pe cmpul [datafact]. 2. Afiarea n baza de date STOCURI a valorii totale lunare de aprovizionare, repartizat pe fiecare an Se utilizeaz func iile Year() i Month() pentru extragerea anului i a lunii pe dou cmpuri calculate, din cmpul [datafact]. 3. Afiarea n baza de date STOCURI a pre ului minim, maxim i mediu de aprovizionare pe produse, la un moment dat Pre urile minim i maxim de aprovizionare se afl utiliznd op iunile de prelucrare global Min i Max, aplicate pe cmpul [tblStocAprov]![pret], iar pre ul mediu se calculeaz cu rela ia matematic

Pretmed =

Valoare _ totala SUM (Cantitate Pret ) = . Cantitate _ totala SUM (Cantitate)

24

4. Afiarea n baza de date STOCURI a valorii totale aprovizionate din fiecare produs, pe furnizori, sub form de tabel sintetic Este similar exemplului nr.2 tabel sintetic cu deosebirea c n loc de cantitatea total aprovizionat trebuie calculat valoarea total aprovizionat. 5. Afiarea n baza de date CANDIDATI a numrul de candida i admii cu domiciliul n Braov, repartiza i pe specializri 6. Afiarea n baza de date CANDIDA I a ponderii procentuale a numrului de candida i admii, pe specializri, fa de numrul total de admii pe facultate Ponderea procentual se calculeaz cu rela ia matematic

Pondere =

numar _ admisi _ specializare 100 (%) numar _ total _ admisi

Obs. Suma ponderilor tuturor specializrilor trebuie s fie egal cu 100. Numrul total al admiilor pe facultate se afl aplicnd func ia Is Not Null pe cmpul [admis] i observnd cte nregistrri sunt afiate n acest caz.

Fig.4.27 Rezolvarea exemplului nr.1 pentru ultimele 3 luni ale anului 2003 1oct.200331 dec.2003

Fig.4.28 Rezolvarea exemplului nr.2

Fig.4.29 Rezolvarea exemplului nr.3

25

Fig.4.30 Rezolvarea exemplului nr.4

Fig.4.31 Rezolvarea exemplului nr.5

Fig.4.32 Rezolvarea exemplului nr.6

26

Aplica ia nr.6

Proiectarea i utilizarea formularelor i subformularelor


Formularele sunt obiecte ale bazei de date cu ajutorul crora se afieaz sau se adaug date din/n tabele. Formularele se creaz i se gestioneaz n sec iunea Forms. A. Crearea de formulare pentru afiare / consultare date

Exemplu (n baza de date STOCURI)


Crearea unui formular de consultare a datelor din tabelul tblProduse. a. Noul formular se creaz apsnd butonul New i alegnd op iunile dorite n ferestrele de dialog succesive care apar: - n fereastra New Form (fig.4.33), op iunea Form Wizard i tabelul tblProduse. - n ferestrele Form Wizard urmtoare: se apas butonul pentru selec ia tuturor cmpurilor, apoi se apas butonul Next succesiv, selectnd op iunile Columnar Standard i dnd numele noului formular frmProduse. b. Cu ajutorul butoanelor cu sge i ale rndului Record din formularul afiat, se poate testa func ionarea formularului creat c. Se nchide fereastra de afiare a formularului i se deschide fereastra de proiectare a acestuia, apsnd butonul Design d. Se verific activarea op iunilor View Field List, Form Header/Footer, Ruler, Grid i Fig.4.33. Prima fereastr Form Wizard Toolbox. e. Se modific aspectul formularului, astfel nct, n fereastra de proiectare, formularul s arate ca n figura 4.34, aspectul final al acestuia fiind prezentat n figura 4.35. Ac iunile care trebuie efectuate sunt prezentate n continuare. Obs.Trecerea din fereastra de proiectare n cea de utilizare a formularului (afiare nregistrri) i invers se ob ine rapid prin apsarea butonului asociat de pe bara superioar, care i modific aspectul, n func ie de fereastra care este activ la un moment dat dintre cele dou.

Fig.4.35 Formularul frmProduse Fig.4.34 Fereastra de proiectare Form Design

27

f.

Adugarea titlului formularului n zona Form Header: se deschide zona prin tragerea de marginea inferioar a barei de marcare gri (fig.4.36), pe distan a de aprox.1cm; se apas butonul Label de pe bara Toolbox i se depune n zona Header, editnd textul necesar n caseta de editare Consultare tabel produse, se formateaz apoi textul la Arial 14 Bold, redimensionnd caseta imaginar astfel nct textul s fie afiat complet. Dac este necesar se repozi ioneaz titlul astfel nct acesta s fie centrat.

Bara de marcare Header

Fig.4.36 Bara de marcare Header

Fig.4.37 Fereastr Command Button

g. Modificarea aspectului entit ilor din zona Detail: se formateaz etichetele i casetele de cmp la Arial 12 Normal, redimensionndu-le i repozi ionndu-le. Selectarea multipl a entit ilor se face innd apsat tasta Shift n timpul selectrii acestora. h. Se creaz butoanele de comand n zona Footer. Exemplu Crearea butonului de comand pentru nchiderea formularului (butonul Iesire) Se apas butonul Command de pe bara ToolBox i se depune n subsolul formularului, Form Footer n fereastra Command Button Wizard, se selecteaz op iunile Form Operations i Close Form (fig.4.37), se apas butonul Next i, n fereastra urmtoare, n caseta Text se scrie textul Iesire, apoi se apas butonul Finish Se formateaz textul la Arial 14 Bold, culoarea roie i se redimensioneaz butonul, dac este cazul, astfel nct textul s fie afiat complet pe buton Se creaz, n mod similar, i celelalte butoane de comand, asociind ac iunile corespunztoare i pictograme pe butoane: nregistrarea precedent nregistrarea urmtoare Cutare informa ii - Record Navigation / Previous record - Record Navigation / Next record - Record Operations / Find record

Obs. Dac asistentul interactiv nu este instalat, atunci se poate asocia o ac iune unui buton de comand cu ajutorul limbajului Macro integrat n Access; se deschide fereastra Properties a butonului i se ataeaz o comand Macro (Macro Builder) propriet ii On Click, prin apsarea butonului ; pentru butonul de nchidere a formularului (Ieire), fereastra Macro este prezentat n fig.4.38; dup selectarea op iunilor, se nchide fereastra Macro cu salvare; pentru ca pe buton s apar textul Ieire, se ataeaz acest text propriet ii Caption i se formateaz corespunztor.

Fig.4.38 Fereastr de editare Macro

28

i.

Se modific unele propriet i ale entit ilor pentru ca formularul s fie utilizat numai pentru consultarea datelor con inute n tabelul tblProduse, fr a permite modificarea acestora. Propriet ile entit ilor formularului care trebuie modificate sunt urmtoarele: Casetele de cmp din zona Detail: Locked: Yes; Tab Stop: No Formularul: Data Entry: No; Navigation Buttons: No; Min/Max Buttons: None Record Selectors: No; Close Button: No Butonul de cutare informa ii: ControlTip Text: Cutare informa ii
Data curent

j.

Fig.4.39 Cmp calculat Data curent

Adugarea unei casete de cmp cu valoare calculat. n fig.4.39 este prezentat formularul frmProduse, avnd n antet o caset de cmp care afieaz data curent. Crearea casetei respective se face prin apsarea butonului Text Box de pe bara Toolbox, redenumirea etichetei cu valoarea Data i mutarea acesteia conform figurii, atribuirea propriet ii Control Source a casetei de cmp cu valoarea =Date() i a celei Format la Medium Date.

Obs. Editarea func iilor integrate Access cum este Date() se poate face i cu ajutorul unui editor specific Expression Builder, ob inut prin apsarea butonului ataat propriet ii Control Source a casetei de cmp (vezi cap.2.7). B. Modificarea formularului frmProduse ntr-un formular pentru introducere de date Pentru a transforma formularul frmProduse ntr-un formular utilizabil numai pentru introducere de noi date n tabelul tblProduse, sunt necesare urmtoarele ac iuni: n sec iunea Forms, se creaz un nou obiect-formular prin copierea formularului frmProduse i redenumirea acestuia; se selecteaz formularul frmProduse, din meniul contextual (click-dreapta mouse) se alege op iunea Copy, apoi cu pointerul de mouse n zona liber a sec iunii se alege op iunea Paste din meniul contextual i se d numele noului formular InputProduse; Se deschide fereastra de proiectare a noului formular i se modific cteva propriet i ale entit ilor componente: Eticheta din antet se modific la valoarea Adugare produs Casetele de cmp din zona Detail: propriet ile Locked i Tab Stop se stabilesc Yes; Proprietatea formularului Data Entry se stabilete Yes i se terg butoanele de navigare i cel de cutare informa ii. Aspectul final al formularului este prezentat n fig.4.40.

Fig.4.40 Formularul InputProduse

Se utilizeaz formularul InputProduse pentru a aduga nregistrarea de mai jos n tabelul tblProduse:
Cod produs Denumire produs UM

22004

Rulment 30208 A

buc

29

C. Crearea de formulare cu subformulare pentru introducere de date

Exemplu (n baza de date STOCURI)


Crearea unui formular cu subformular, pentru adugarea datelor dintr-o factur (not de recep ie) n tabelele tblNoterec i tblStocAprov. a. Se creaz un formular principal pentru adugare de date n tabelul tblNoterec cu ajutorul op iunii Form Wizard conform exemplelor de la pct.A i B. Noul formular se va denumi Adaugare facturi i este prezentat n figura 4.41. Pentru ca formularul s permit numai adugarea de date n tabelul tblNoterec, propriet ile entit ilor se configureaz astfel: Casetele de cmp: Locked: No; Tab Stop: Yes Formular: Data Entry: Yes. Celelalte propriet i se pot configura ca i n exemplul de la pct.A. Fig.4.41 Formularul Adaugare facturi Introducerea n zona Header a datei calendaristice curente se poate face fie ca n exemplul de la pct.A, fie cu ajutorul op iunii de meniu Insert Date and Time. b. Se mrete l imea disponibil a formularului pentru a putea insera un subformular prin tragerea de marginea din dreapta. c. Se creaz un subformular, apsnd butonul SubForm de pe bara ToolBox i depunndu-l n partea liber din dreapta a zonei Detail. d. n fereastra SubForm/SubReport Wizard deschis se aleg succesiv urmtoarele op iuni: Table/Query tblStocAprov & - Choose From a List Obs. Dac asisten a interactiv nu este instalat, atunci subformularul se creaz ca orice formular, cu op iunea New AutoformTabular pentru tabelul tblStocAprov, configurnd proprietatea Data Entry la valoarea Yes i denumindu-l tblStocAprov subform. Se asociaz apoi acest formular entit ii Subform creat n formularul principal prin configurarea propriet ilor: Source Object: tblStocAprov subform Link Child Fields: nrnr Link Master Fields: nrnr (cmpul de legtur dintre cele dou tabele este nrnr cmpul prin care este stabilit o rela ie ntre tabele vezi apl.nr.2). e. Se nchide i se salveaz fereastra formularului principal, se deschide fereastra de proiectare a subformularului (denumit implicit tblStocAprov Subform, fig.4.42), se modific Fig.4.42 Subformularul tblStocAprov subform proprietatea Default View n Continuous i, eventual, aspectul de afiare. f. Aspectul final al formularului principal, Adaugare facturi este prezentat n figura 4.43. Au mai fost create dou butoane de comand necesare pentru afiarea informa iilor din tabelele tblProduse i tblFurnizori (vezi explica iile n continuare). g. Se testeaz utilitatea formularului Adaugare facturi, prin introducerea datelor dintr-o factur de aprovizionare, conform celor prezentate n tabelul urmtor:

30

SC BADR SA Braov Nr.not rec.20050001 Nr. Denumire 1. Rulment 35307 2RSR 2. Rulment 35605 2RSR 3. Rulment 30204 A 4. Rulment 30205 A

Nr.factura: BVAFA9739610 Cantitate 20 20 50 50

Data facturii: __________ Pret unitar (lei) 285500 263700 64100 70600

Fig.4.43 Formularul Adaugare facturi completat cu butoane de comand Observa ii Numrul notei de recep ie se introduce respectnd modelul: aaaacccc, aaaa reprezint anul calendaristic, iar cccc un grup de patru cifre (ex.20050001). Se observ o dificultate n utilizarea formularului, care se refer la faptul c acesta solicit codul produsului i al furnizorului, n timp ce n factur exist denumirea produsului i a furnizorului. Acest neajuns se poate nltura prin deschiderea simultan a unor formulare care s afieze codurile respective, cu ajutorul unor butoane de comand ataate pe formular (vezi fig.4.43). Cele dou butoane de comand (fig.4.43) Furnizori i Produse sunt destinate deschiderii unor formulare de afiare a nregistrrilor din tabelele tblFurnizori i tblProduse.

Teme propuse spre rezolvare 1. Crearea unui formular de afiare a informa iilor despre furnizori tabelul tblFurnizori care s poat fi apelat din formularul Adugare facturi, creat la pct.C. 2. Crearea unui formular de afiare a informa iilor din facturi tabelele tblNoterec si tblStocAprov care s calculeze i valoarea total a facturii, cu func ia Sum( ).

31

Aplica ia nr.7

Proiectarea i utilizarea rapoartelor


Rapoartele sunt obiecte ale bazei de date cu ajutorul crora se tipresc informa iile pe hrtie. Rapoartele se creaz i se gestioneaz n sec iunea Reports. A. Crearea unui raport simplu Un raport simplu este un raport care tiprete informa ii dintr-un singur tabel/interogare a bazei de date, fr aplicarea unui criteriu de grupare a nregistrrilor.

Exemplu (n baza de date CANDIDATI)


Crearea unui raport cu rezultatele candida ilor la admitere. Raportul trebuie ntocmit sub aspectul unui tabel, conform celui prezentat n fig.4.44. nregistrrile trebuie afiate n ordine alfabetic dup numele candida ilor. Raportul se proiecteaz pe baza nregistrrilor din tabelul tblCandidati.

Fig.4.44 Aspectul pe hrtie al raportului care trebuie creat Raport Candidati a. Se utilizeaz op iunea Create Report by using wizard sau se apas butonul New, selectnd op iunea Report Wizard i tabelul tblCandidati. b. n ferestrele urmtoare se aleg op iunile de configurare a raportului, dup cum urmeaz: n prima fereastr (fig.4.45) Which fields do you want on your report? se aleg, n ordine, cmpurile legit, nume, admis, notap, mbac, medf, prin dublu-click sau selec ie i apsarea butonului ; n fereastra urmtoare Do you want to add any grouping levels?, nu se aplic nici un criteriu de grupare; n fereastra a treia What sort order do you want se indic, n caseta nr.1, cmpul nume drept criteriu de ordonare; n fereastra urmtoare Layout / Orientation se las op iunile implicite, Fig.4.45 Prima fereastr Report Wizard

32

adic formatul Tabular, aezarea pe hrtie tip Portrait i ajustarea l imii cmpurilor astfel nct toate cmpurile s apar pe l imea foii de hrtie Adjust the field width ; n penultima fereastr Style se las op iunea implicit Formal; n ultima fereastr se d numele noului raport, Raport candidati. c. n fereastra Preview a raportului se observ c acesta nu arat ca cel din fig.4.44. n consecin este necesar deschiderea ferestrei de proiectare a raportului i modificarea acestuia; Fereastra de proiectare a raportului este prezentat n figura 4.46.

Fig.4.46 Fereastra de proiectare a raportului prezentat n figura 4.20 d. Se modific eticheta de text din antetul formularului (Form Header), adugnd dou etichete Tabel nominal i cu candidatii la admitere, folosind entitatea de tip Label, prima etichet este Tahoma, Bold, 18, iar a doua Tahoma, Bold, 14; e. Se adaug cmpul pentru afiarea datei calendaristice, n antetul formularului, cu op iunea Insert Date and Time; f. Se modific fontul, mrimea i pozi ia casetelor din zona Page Header, la Arial, 11, deplasndu-le spre dreapta pentru a face loc cmpului pentru numrul curent; g. Se adaug cmpul de numerotare curent automat a rndurilor, insernd o entitate de tip Text Box n zona Detail; se terge eticheta i se configureaz cmpul (Unbound) cu propriet ile Control Source: =1 i Running Sum: Over All; h. Elementele grafice de tip dreptunghi care nconjoar entit ile, att n zona Form Header, ct i n zona Detail, se creaz cu butonul Rectangle. L imea dreptunghiului trebuie s fie identic cu nl imea zonei n care acesta este introdus. i. Dup verificarea aspectului raportului, n fereastra Preview, se salveaz modificrile. B. Crearea unui raport complex Un raport complex este un raport care tiprete informa ii din mai multe tabele/interogri ale bazei de date, cu aplicarea unor criterii de grupare a nregistrrilor i, eventual, cu existen a unor cmpuri care efectueaz prelucrarea statistic a informa iilor (calcule matematice). Un raport complex se creaz prin parcurgerea acelorai etape de baz ca i n cazul rapoartelor simple, dar cu alegerea altor op iuni pentru anumite propriet i ale entit ilor.

33

Exemplu (n baza de date STOCURI)


Crearea unui raport global privind aprovizionrile cu produse. Raportul trebuie ntocmit sub aspectul unui tabel, conform celui prezentat n fig.4.41. nregistrrile trebuie grupate n ordine cresctoare dup codul produsului, iar n cadrul fiecrui grup trebuie afiate n ordine cresctoare dup numrul notei de recep ie. La fiecare grup se afieaz i cantitatea total aprovizionat.

Fig.4.47 Raport de aprovizionare pe produse exemplu de raport complex a. Se utilizeaz op iunea Create Report by using wizard sau se apas butonul New, selectnd op iunea Report Wizard i tabelul tblProduse. b. n ferestrele urmtoare se aleg op iunile de configurare a raportului, dup cum urmeaz: n prima fereastr Which fields do you want on your report? se aleg, n ordine, din tabelul tblProduse cmpurile codprod, denprod i um, iar din tabelul tblStocAprov, cmpurile nrnr, pret, cantitate, prin dublu-click sau selec ie i apsarea butonului ; n fereastra urmtoare How do you want to view your data?, se aplic criteriul de grupare implicit, by tblProduse; n fereastra urmtoare Do you want to add any grouping levels?, nu se aplic nici un alt criteriu de grupare, se observ aici c este afiat deja criteriul de grupare precizat anterior; n fereastra a patra What sort order do you want se indic, n caseta nr.1, cmpul nrnr drept criteriu de ordonare; n fereastra urmtoare Layout / Orientation se alege op iunea Outline1, la Layout i se las op iunile implicite Portrait i ajustarea l imii cmpurilor astfel nct toate cmpurile s apar pe l imea foii de hrtie Adjust the field width ; n penultima fereastr Style se las op iunea implicit Formal; n ultima fereastr se d numele noului raport, Raport aprovizionare.

34

c. n fereastra Preview a raportului se observ c acesta nu arat ca cel din fig.4.47. n consecin este necesar deschiderea ferestrei de proiectare a raportului i modificarea acestuia; Fereastra de proiectare a raportului este prezentat n figura 4.48.

Fig.4.48 Fereastra de proiectare a raportului prezentat n figura 4.47 d. Se modific titlul raportului, la Times New Roman, Bold, 20 i se insereaz cmpul de afiare a datei curente; e. Se terg entit ile din zona Page Footer i se mut casetele de cmp mpreun cu etichetele lor din zona codprod Header, astfel nct s fie pozi ionate ca n figura 4.42; se modific aspectul acestora la Times New Roman 10 ; f. Se activeaz zona codprod Footer cu op iunea View Sorting and Grouping codprod Group Footer-Yes i Keep Together-Whole Group; se insereaz n zon o caset de cmp Text Box avnd eticheta Cantitate Total: i proprietatea Control Source Control Source: =Sum([cantitate]) (func ia Sum( ) calculeaz suma valorilor cmpului indicat ca argument [cantitate] pentru grupul selectat de nregistrri grupul aferent unui produs) j. Se ataeaz o caset de cmp Text Box la dreapta cmpului =Sum(, avnd proprietatea Control Source: =[um], adic afiarea unit ii de msur a produsului;

k. Dup verificarea aspectului raportului, n fereastra Preview, se salveaz modificrile.

35

Aplica ia nr.8

Proiectarea i utilizarea panourilor de comand


Aa dup s-a prezentat n cadrul subcap.2.11, panourile de comand sunt obiecte ale bazei de date destinate lansrii n execu ie a diferitelor ac iuni de gestionare a acesteia prin simpla apsare a unor butoane de comand. Ele constituie o interfa ntre utilizatorul neexperimentat i obiectele bazei de date. Panourile de comand sunt obiecte de tip formular care, de obicei, con in numai butoane de comand, asociate cu texte explicative.

Exemplu
Crearea unui panou de comand n baza de date STOCURI, care s con in cteva butoane de comand, conform aspectului din figura 4.49. Cele cinci butoane de comand trebuie s realizeze, la ac ionare, urmtoarele ac iuni: buton nr.1 Nomenclator produse deschiderea unui formular de afiare a produselor afiarea nregistrrilor din tabelul tblProduse; buton nr.2 Nomenclator furnizori deschiderea unui formular de afiare a furnizorilor afiarea nregistrrilor din tabelul tblFurnizori; buton nr.3 Adaugare factur in stoc deschiderea formularului prin care se adaug informa ii dintr-o factur de achizi ie not de recep ie formularul Adaugare facturi, aplica ia nr.6; buton nr.4 Facturi neachitate execu ia unei interogri prin care se afieaz informa ii despre facturile neachitate interogarea QryFactNeach, aplica ia nr.4; buton nchidere nchiderea panoului de comand.

1 2 3 4

Fig.4.49 Panou de comand

36

Etapele care trebuie parcurse pentru crearea panoului de comand sunt urmtoarele: a. Se selecteaz Tools Database Utilities Switchboard Manager i se apas butonul Edit; b. Se modific numele panoului de comand n caseta Switchboard Name n Panou de comanda principal; c. Se apas butonul New pentru adugarea primului buton de comand i se aleg urmtoarele elemente n casetele ferestrei Edit Switchboard Item care se deschide: Text Nomenclator Produse Command - Open Form in Edit Mode Form frmProduse d. Se execut punctul c. pentru butoanele nr.2 i nr.3, alegnd urmtoarele elemente n casetele ferestrei Edit Switchboard Item corespunztoare: buton nr.2 Text Nomenclator Furnizori Command Open Form in Edit Mode Form frmFurnizori buton nr.3 Text Nomenclator Furnizori Command Open Form in Add Mode Form Adaugare facturi Obs. Obiectele frmProduse, frmFurnizori i Adaugare facturi sunt formulare de afiare sau adugare a nregistrrilor i au fost create n cadrul aplica iei nr.6. e. n sec iunea Forms a fost creat formularul Switchboard care este de fapt panoul de comand, iar n sec iunea Tables, tabelul Switchboard Items fig.4.50;

Fig.4.50 Tabelul asociat panoului de comand i butoanelor acestuia


f. Pentru crearea butonului nr.4 este necesar proiectarea unei macrocomenzi care s lanseze execu ia interogrii QryFactNeach pentru afiarea unor informa ii despre facturile neachitate. n acest scop se nchid ferestrele Switchboard Manager, se selecteaz sec iunea Macros, apoi New, apoi OpenQuery la Action, iar la Action Arguments, QryFactNeach, Datasheet i Read Only. Se salveaz cu numele Facturi neachitate; g. Se execut punctele a. i c. pentru butonul nr.4, alegnd elementele: Text Facturi neachitate Command Run Macro Macro Facturi neachitate h. Pentru crearea butonului nchidere se selecteaz sec iunea Forms i se deschide panoul de comand Switchboard n fereastra de proiectare; se creaz un buton de comand prin

37

selec ia entit ii de pe bara cu instrumente ToolBox i se configureaz propriet ile acestuia astfel nct, la ac ionare, s nchid panoul de comand (vezi apl.nr.6); i. Se modific titlul panoului de comand prin selec ia etichetei Stocuri i redenumirea ei Evidenta stocuri produse vezi fig.4.49. De asemenea, se modific aspectul etichetei (font de text, mrime, culoare etc.); Lansarea n execu ie a formularului se face prin dublu-click pe numele acestuia n sec iunea Forms sau selec ie i apsarea butonului Open.

j.

Binen eles, panoul de comand prezentat n figura 4.49 poate fi completat i cu alte butoane de comand care s realizeze ac iuni specifice n baza de date, pe msur ce sunt create obiectele necesare (interogri, formulare, rapoarte) pentru o administrare eficient a datelor.

38