Sunteți pe pagina 1din 391

Conf. dr. ing.

ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Prefata -7

Copyright 2000. Toate drepturile sunt rezervate autorului. Dr. SZKELY Imre okl. gpszmrnk, egyetemi tanr, a mszki tudomnyok doktora, tanrom s bartom emlknek s szleimnek, ajnlom. Multiplicarea acestui document n scop comercial este interzis|. Many thanks to Tony WILLOWS without whose friendship and financial support this book Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest wouldn't be. document pentru uzul personal. Mulumesc artistului plastic clujean Marin LESCHIAN pentru realizarea copertei, o oper| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare de multiplica de trinitate numai contra cost i cu acordul scris via|, care se n acest potart| inspirat|documentulsub forma diversit|ii labirintului numit al autorului. zbate pentru a reveni, prin lumina contiinei, n eternitate. scop m| putei contact| la: Mulumesc domului ing. Horea ANTAL Tiberiu Alexandru C|lin HOREA, directorul tehnic al firmei clujene de calculatoare METASOFT pentru promptitudinea n depanarea PC-ului folosit la scrierea tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro c|rii i de asemenea, soiei acestuia, Mihaela, cercet|toare n cadrul Atelierului Pilot al Sistemului Informatic Universitar din UTC-N, pentru recenzarea c|rii. Mulumesc studentei Alina Ramona MACAVEI pentru corectur|. Cartea este oarecum asemenea copertei, coninnd frnturi de Access suficiente pentru ca prin tenacitate s| se ajung| la cunoaterea profund| a produselor Microsoft Access 97 i 2000. Conf. dr. ing.noiuni eseniale pentru bazele de date relaionale se ajunge pn| la metodele i Plecnd de la ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Microsoft Access 97 i 2000. Dei Access 2000 tehnicile de programare specifice produselor Facultatea Construcii de Maini aduce schimb|ri i n interfaa cu utilizatorul, cartea trateaz| numai partea de programare Catedra de Mecanic| i Programare (manipularea i descrierea datelor) ntruct aceasta difer| esenial prin concepte i Curs de baze de Access 97. implementare de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

5 Conf.

dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

CUPRINS

Cuprins

Copyright 2000. Toate drepturile sunt rezervate autorului. Obiectivele cursului 1 document.n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . . 19 Multiplicarea acestui . . . . . . . . . . . . . comercial . . . . . . . . . . Ce sunt datele? . . . . . .la .orice form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Sudenii participani . . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . . 20 Introducere . . . . . . . . . . document pentru uzul .personal.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Concepteparticipani .la .orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare20 Sudenii de baz| . . . . . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . . Definiii: . . . . numai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul . . . . . . contra cost. i. cu .acordul .scris. al. autorului.. .n. acest 20 scop m| putei contact| la: Ce este o baz| de date? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Tipuri de Alexandru ANTAL Tiberiurelaii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Regulile relaionale ale lui Codd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Scopul unei baze de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 De ce Microsoft Access? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ct "poate duce" Access-ul? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evoluia Access-ului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compatibilitatea ntre versiuni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O ing. ANTAL Access . . . . . . . . . Conf. dr. introducere n Tiberiu .Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introducere n instrumentele Accessului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Universitatea Tenhic| din Cluj-Napoca 27 27 28 28 28 29

Facultatea Construcii de Maini Lansarea de execuie a Microsoft Access-ului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Catedra n Mecanic| i Programare Fereastra date Microsoft Access Curs de baze de principal| a Access-ului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Obiectivele2000. Toate. drepturile. sunt . . . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . . 33 Copyright cursului 2 . . . . . . . . . . . . rezervate . . . . . . . . Deschiderea unei baze de date . . .n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . . 34 Multiplicarea acestui document . . . . . comercial . . . . . . . . . . Fereastra participani la orice form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Sudenii bazei de date Access . . . . . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . . 35 document pentru uzul personal. nchiderea unei baze de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Deschiderea unui tabel (Table) . . . contra cost. i. cu .acordul .scris. al. autorului.. .n. acest 35 pot multiplica documentul numai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . scop m| putei contact| la: Explorarea tabelelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ANTAL Tiberiu Alexandru Vizualizarea tabelelor n mod proiectare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Introducere n interog|ri (Queries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Introducere n formulare (Forms) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Tipuri de formulare . . . . . Facultatea Construcii de Maini. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Deschiderea unui Programare Catedra de Mecanic| i formular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Vizualizarea n modul proiectare Curs de baze de date Microsoft Access (Design View) . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 nchiderea unui formular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Copyright 2000. Toate drepturile sunt rezervate autorului. Introducerea n rapoarte (Reports) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Multiplicarea acestui document n scop comercial este interzis|. Obiectivele cursului 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Proiectareapentru uzul personal.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 document bazei de date . . . . . . Ce ntreb|ri ne punem? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Clarificarea a la orice form| . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . . Sudenii participaniceea ce dorim . .de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare46 Reguli documentul numai contra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplicagenerale de proiectare . . . . . cost. i. cu .acordul .scris. al. autorului.. .n. acest 46 Determinarea relaiilor scop m| putei contact| la: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Teoria proiect|rii Alexandrudate relaionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ANTAL Tiberiu bazelor de Tabele, unicitate, tel.: 0040-264-530918 chei i domenii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e-mail:Relaii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . antaltiberiu@pcnet.ro Relaii unu la unu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relaii unu la muli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relaii muli la muli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normalizarea datelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prima Form| Normal| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Doua Form| Normal| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Treia Tiberiu Alexandru Conf. dr. ing. ANTALForm| Normal| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subfoi Tenhic| din Cluj-Napoca Universitatea de date (subdatasheets) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reguli de integritate . . . . . Facultatea Construcii de Maini. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reguli i Programare Catedra de Mecanic|de integritate generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reguli Microsoft Access Curs de baze de datede integritate specifice bazei de date . . . . . . . . . . . . . . . . . . . . . . . . . 48 48 49 50 50 50 50 50 51 51 52 53 54 54

Crearea unei bazeToate drepturile. sunt . . . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . . 55 Copyright 2000. de date . . . . . . . . . . . rezervate . . . . . . . . Ad|ugarea de cmpuri folosind Generatorul de Tabele (Table Wizard) . . . . . . . . . . 56 Multiplicarea acestui document n scop comercial este interzis|. Crearea unui tabel f|r| Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Definirea tipurilor de cmpuri ale unui tabel . . . . . . . . . . . . . . pot . . . . . . . . . . 61 Sudenii participani la orice form| de nv||mnt .superior. bugetar . . . .multiplica.acest Propriet|ile cmpurilor . document pentru uzul personal.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Proprietatea Masc| de Intrare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 . . . . . . . . . . . . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . . Sudenii. participani .la .orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare64 Stabilirea cheii primare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul numai contra cost. i. cu .acordul .scris. al. autorului.. .n. acest 64 scop m| putei contact| la: Salvarea unui Tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 ANTAL Tiberiu Alexandru Ad|ugarea de nregistr|ri unui Tabel vizualizat n modul foaie de date . . . . . . . . . . . . . . . . tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Utilizarea formatelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatarea pentru tipurile Text i Memo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatarea pentru tipurile Number i Currency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 66 66 66

7 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Formatarea pentru Maini Facultatea Construcii detipurile Date/Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Formatarea n cazul tipului Yes/No . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Utilizarea m|tilor de intrare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Copyright 2000. Toate drepturile sunt rezervate autorului. Validarea datelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Multiplicarea acestui document n scop comercial este interzis|. Obiectivele cursului 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Editarea nregistr|rilor .personal.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 document pentru uzul . . . . . . . Selectarea nregistr|rilor cu mouse-ul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Selectarea nregistr|rilor folosind tastatura . . . . . . . . . . . . . . . . . . . . . . . . . . Sudenii participani la orice form| de nv||mnt .cu. plat| .sau. alte .persoane. doritoare73 Selectarea cmpurilor cu mouse-ul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul numai contra cost. i. cu .acordul .scris. al. autorului.. .n. acest 73 Selectarea coloanelor scop m| putei contact| la: cu mouse-ul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Selectarea cmpurilor i coloanelor de la tastatur| . . . . . . . . . . . . . . . . . . . . . . . . . . 73 tergerea Alexandru ANTAL Tiberiu nregistr|rilor i a cmpurilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 tel.: 0040-264-530918 Vizualizarea i setarea valorilor implicite pentru foile de date . . . . . . . . . . . . . . . . . . . . . . . 74 e-mail: antaltiberiu@pcnet.ro Redefinirea ordinii de afiare a coloanelor unui tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Reordonarea cmpurilor unui tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Modificarea l|imii (width) unei coloane i n|limii (height) unui rnd . . . . . . . . . . . . . . . 76 Conf. dr. ing. ANTAL Tiberiu Alexandru Ascunderea (hiding) i vizualizarea (un-hiding) coloanelor . . . . . . . . . . . . . . . . . . . . . . . . . 77 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini nghearea (freeze) coloanelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Formatarea celulelor din foaia de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Copyright 2000. Toate drepturile sunt rezervate autorului. Copierea (copy), mutarea (move) cmpurilor i nregistr|rilor . . . . . . . . . . . . . . . . . . . . . . . 79 Multiplicarea acestui document n scop comercial este interzis|. Manipularea obiectelor tabel din fereastra bazei de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Tip|rirea (Printing)uzul .personal.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 document pentru . . . . . . . . . Obiectivele cursului 5 la .orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare83 Sudenii participani . . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest C|utarea putei contact| la: scop m| i nlocuirea informaiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 C|utarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 ANTAL Tiberiu Alexandru Caractere generice (Wildcards) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro G|sirea unei valori specifice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 nlocuirea unor valori din cmpuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

8 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Sortarea nregistr|rilor i.Programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Catedra de Mecanic| . . . . . . . . . . . Curs de baze de date Microsoft Access Ce este un filtru? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Filtrarea nregistr|rilor prin sunt rezervate . . . . . . . . Copyright 2000. Toate drepturile selecie . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . . 88

Filtrarea nregistr|rilor document n scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . . 88 Multiplicarea acestui prin formulare . . . comercial . . . . . . . . . . Scurt istoric al bazelor la orice relaionalenv||mnt .superior. bugetar . . . .multiplica.acest Sudenii participani de date form| de . . . . . . . . . . . . . . . . . . . . . . pot . . . . . . . . . . 90 document pentru uzul personal. Definirea relaiilor n Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Deschiderea ferestrei cu relaii . . . . contra cost. i. cu .acordul .scris. al. autorului.. .n. acest 90 pot multiplica documentul numai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ad|ugarea tabelelor scop m| putei contact| la:n fereastra relaiilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Definirea relaiilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 ANTAL Tiberiu Alexandru Integritate Referenial| (Referential Integrity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Editarea relaiilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Obiectivele cursului 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Ce sunt interog|rile (Queries)? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Tipuri dr. interog|ri . . .Tiberiu .Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Conf. de ing. ANTAL . . . . . . . . . . . . . . . Universitatea Tenhic| din Cluj-Napoca Posibilit|ile interog|rilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Ce sunt mulimiledate Microsoft Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Curs de baze de dinamice (dynaset)? . Deschiderea unei interog|ri (Query) sunt . . . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . . 99 Copyright 2000. Toate drepturile . . . rezervate . . . . . . . . Crearea unei interog|ri document n scop comercial este interzis|. Multiplicarea acestui folosind Generatorul de Interog|ri Simple (Simple Query Wizard) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Crearea unei interog|ri f|r| Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 document pentru uzul personal. Grila interog|rii (Query Grid) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Operatori logici pentru form| de nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 104 Sudenii participani la orice criterii de selecie . . . .cu. plat| .sau. alte .persoane. doritoare Folosirea textului n numai de selecie caractere generice al autorului. . . . . pot multiplica documentul criteriulcontra cost -i cu acordul scris (Wildcards) . .n. acest105 Criterii contact| alternative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 scop m| puteimultiple ila: Cmpuri calculate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Interog|ri Alexandru ANTAL Tiberiu cu totale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Categoria tel.: 0040-264-530918 Group By . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Categoria Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 e-mail: antaltiberiu@pcnet.ro Categoria Total Field Record Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Categoria Aggregate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

9 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Interog|ri de actualizare de Maini Facultatea Construcii (Update Queries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Catedra de Mecanic| i Programare Interog|ri de ad|ugare Microsoft Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Curs de baze de date (Append Queries)

Interogarea 2000. Toate drepturile sunt rezervate autorului.. . . . . . . . . . . . . . . . . . . . . . 117 Copyright de creare a unui tabel (Make-Table Query) . . . . . Interog|ri cu mai multedocument.n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 117 Multiplicarea acestui tabele . . . . . . . comercial . . . . . . . . . . Tipuri de asocieri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Asocieri interne (inner joins) . . . . . . . . . . . . . . . . . . . . pot . . . . . . . . . 119 Sudenii participani la orice form| de nv||mnt .superior. bugetar . . . .multiplica.acest Asocierea extern| la document pentru uzul personal. dreapta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Asocierea extern| la stnga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Autoasocieri (self-joins) . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 120 Sudenii participani la orice form| de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare pot multiplica Asocierea de tip produs cartezian i. cu .acordul .scris. al. autorului.. .n. acest121 documentul numai contra cost . . . . . . . . . . . . . . . . . . . . . . . . scop m| putei contact| la: Interog|ri cu parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 ...... ......... ANTAL.Tiberiu.Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 tel.: 0040-264-530918 Interog|ri ncruciate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 e-mail: antaltiberiu@pcnet.ro Propriet|ile interog|rilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Interogri pentru ntreinerea bazelor de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Find Duplicate Query Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Find Unmatched Query Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Conf. dr. ing. ANTAL Tiberiu Alexandru Opiuni pentru Tenhic| din Cluj-Napoca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Universitatea proiectarea interog|rilor . Facultatea Construcii de Maini . . . . . . . .de . . . . . . . . . i.Programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Catedra . . Mecanic| . . . . . . . . . . . Curs de baze de date Microsoft Access Obiectivele cursului 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Copyright 2000. Toate drepturile sunt rezervate autorului. Formulare (Forms) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Multiplicarea acestui document n scop comercial este interzis|. Aspectul vizual (Form Layout) al formularului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Crearea unui formular cu AutoForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 document pentru uzul personal. Crearea unui formular la orice form| de Formulare (From Wizard)alte .persoane. doritoare Sudenii participani cu Generatorul de nv||mnt cu plat| sau . . . . . . . . . . . . . . . 133 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Moduri de vizualizare a formularelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 scop m| putei contact| la: Crearea unui formular f|r| Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Vizualizarea ferestrei n mod proiectare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e-mail: antaltiberiu@pcnet.ro Fereastra modului proiectare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Afiarea sau ascunderea liniarului (Rulers) . . . . . . . . . . . . . . . . . . . . . . . . . Afiarea listei de propriet|i (Properties) a unui obiect de pe suprafaa 137 138 139 140

10 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca formularului Facultatea Construcii de Maini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Afiarea listei cmpurilor Catedra de Mecanic| i Programare (Field List) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Afiarea cutiei cu Access Curs de baze de date Microsoft instrumente (Toolbox) . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Afiarea codului din spatele formularului . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Copyright 2000. Toate drepturile sunt rezervate autorului. Manipularea proiectului de formular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Rolul controalelor . . . . . . . . . . comercial . . . . . . . . . . Multiplicarea acestui document.n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 142 Editarea controalelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Pentru a fixa poziia controalelor nv||mnt superior . . . . . . . pot . . . . . . . . . 142 Sudenii participani la orice form| de la punctele grilei . . . . bugetar . . . .multiplica.acest Pentru mutarea personal. document pentru uzulcontroalelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Pentru mutarea independent| a cutiei text sau etichet| . . . . . . . . . . . . . . . . . . . . . . 142 Pentru a redimensiona form| de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Sudenii participani la oriceun control nv||mnt .cu. plat| .sau. alte .persoane.doritoare Pentru terge un control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplicaadocumentul numai contra cost. i. cu .acordul .scris. al. autorului.. .n. acest143 Pentru a multiplica un scop m| putei contact| la: grup de controale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Pentru a muta sau copia controale folosind meniul Edit . . . . . . . . . . . . . . . . . . . . . 143 Pentru selectarea a dou| ANTAL Tiberiu Alexandru controale adiacente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Pentru a selecta tel.: 0040-264-530918 un grup de controale neadiacente . . . . . . . . . . . . . . . . . . . . . . . . . . 143 e-mail:Pentru alinierea unui grup de controale ntre ele . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 antaltiberiu@pcnet.ro Pentru a modifica spaierea dintre controale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Pentru a salva un formular cu toate modific|rile f|cute asupra controalelor lui . . . 144 Pentru a modifica dimensiunea unei seciuni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Pentru a modifica l|imea unui formular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Pentru a modifica l|imea formularului i dimensiunea unei seciuni simultan . . . 144 Tipuri dr. controale . . . .Tiberiu .Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Conf. de ing. ANTAL . . . . . . . . . . . . . . . Universitatea Tenhic| din Cluj-Napoca Cutia cu instrumente (Toolbox) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Propriet|ile de legate de afiarea Access Curs de baze de date Microsoft controalelor Etichet| i Cutie Text . . . . . . . . . . . . . . . . 148 Navigarea ntre cmpurile formularului . . . . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . 151 Copyright 2000. Toate drepturile sunt rezervate . . . . . . . . Tehnici de editare a datelor . . . . .n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 151 Multiplicarea acestui document . . . . . comercial . . . . . . . . . . Lista proprietilor unui la orice form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Sudenii participani formular . . . . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 152 document pentru uzul personal. Obiectivele cursului 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Crearea unei cutii combinatenumai contra cost i cu acordul scris al autorului. n. acest162 pot multiplica documentul (Combo Box) folosind cutia cu instrumente (Toolbox) . . . Crearea contact| la: scop m| putei unui formular cu o cutie combinat| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Modificarea propriet|ilor unui formular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Crearea antaltiberiu@pcnet.ro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 e-mail: unui cmp calculat . . . Crearea unui formular cu subformular (Subform) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

11 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Implementarea regulilor de Maini specifice bazei de date sau controlul datelor stocate n Facultatea Construcii de integritate baz| . . . . . . . . . . . . . . . . . . Catedra de Mecanic|. i.Programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Curs de baze de date Microsoft Access Modificarea ordinii Tab-urilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Copyright 2000. Toate drepturile sunt rezervate autorului. Butoane de comand| (Command Buttons) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Ad|ugarea unui buton de n scop la un formular . . . . . . . Multiplicarea acestui documentcomand| comercial este interzis|.. . . . . . . . . . . . . . . . . . 179 ntreruperi de pagin| (Page Break) . .de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Sudenii participani la orice form| . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 181 document pentru uzul personal. Aplicaie cu formulare i controale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Tabele i relaii . . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 182 Sudenii participani la .orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare Formulare . . . . . . . . numai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul . . . . . . contra cost. i. cu .acordul .scris. al. autorului.. .n. acest183 scop m| putei contact| la: Obiectivele cursului 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 ANTAL Tiberiu Alexandru Generalit|i despre Rapoarte (Reports) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Deschiderea i vizualizarea unui raport existent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Tip|rirea (Printing) rapoartelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Crearea unui raport folosind AutoReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Crearea unui Raport folosind Generatorul de Rapoarte (Report Wizard) . . . . . . . . . . . . . . 194 Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca GeneratorulConstrucii (Label Wizard) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Facultatea de etichete de Maini Catedra de Mecanic| i Programare Generatorul dede date Microsoft Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Curs de baze Grafice (Chart Wizard) . Nivele de grupareToate drepturile sunt rezervate.autorului.. . . . . . . . . . . . . . . . . . . . . . 205 Copyright 2000. (Grouping Levels) n rapoarte . . . . . . . . . Rapoarte f|r| Generator . . . . . . . .n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 208 Multiplicarea acestui document . . . . . comercial . . . . . . . . . . Crearea de controale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Setarea propriet|ilor raportului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 document pentru uzul personal. Aplicaia participani la .orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare Sudenii 1 cu rapoarte . . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 211 Interog|ri . . . . . . . . numai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul . . . . . . contra cost. i. cu .acordul .scris. al. autorului.. .n. acest211 Rapoarte . . . . . . . . scop m| putei contact| .la: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Aplicaia Tiberiu Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 ANTAL 2 cu rapoarte . . . . . tel.: 0040-264-530918 Obiectivele cursului 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 e-mail: antaltiberiu@pcnet.ro Limbajul de programare Visual Basic for Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

12 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Programarea orientat| pe evenimente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Facultatea Construcii de Maini Proceduri de evenimente (Event Catedra de Mecanic| i Programare Procedures) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Proceduri definite de utilizator (General Procedures) . . . . . . . . . . . . . . . . . . . . . . . 231 Curs de baze de date Microsoft Access

Proceduri de tip Sub i Function . . sunt . . . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . Copyright 2000. Toate drepturile . . . . rezervate . . . . . . . . Procedura de tip Sub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedura de tip Function . . . . . comercial . . . . . . . . . . Multiplicarea acestui document n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . Proceduri private (Private) i publice (Public) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

232 232 233 234

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Variabile . pentru .uzul .personal.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 document . . . . . . . . . . . . . . . . Declararea variabilelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Scop i durat| la existen| . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 235 Sudenii participani de orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Tipuri deputei. contact| .la: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 scop m| date . . . . . . . . . Tipul Variant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Tipuri numerice . . . . ANTAL Tiberiu Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Tipul ir . . . . tel.: 0040-264-530918. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 e-mail:Tipul dat|/or| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 antaltiberiu@pcnet.ro Tipul Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Tipul parametru de procedur| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Tabloul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Declararea tablourilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tablouri cu mai multe dimensiuni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alocarea dinamic| a spaiului pentru Conf. dr. ing. ANTAL Tiberiu Alexandru stocarea tablourilor . . . . . . . . . . . . . . . . . . . . 238 239 239 239

Universitatea Tenhic| din Cluj-Napoca Constante simbolice . . .de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Facultatea Construcii . . Maini Catedra de Mecanic| i Programare Constante intrinseci . .Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Curs de baze de date . . . . . . . . Access Operatori .2000. .Toate. drepturile. sunt . . . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . 240 Copyright . . . . . . . . . . . . . . . . . . . . rezervate . . . . . . . . Operatori aritmetici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Operatori de comparaie . . . . . . comercial . . . . . . . . . . Multiplicarea acestui document.n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 241 Operatori de concatenare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Operatori logici . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 242 Sudenii participani la .orice form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest document pentru uzul personal. Controlul execuiei programului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Instruciunea Let . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 243 Sudenii participani la orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare Instruciuni pentru decizie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul numai contra cost. i. cu .acordul .scris. al. autorului.. .n. acest243 scop m| puteiIf...Then .la: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 contact| . . If...Then...Else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Select...Case . ANTAL Tiberiu Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Instruciuni de tel.: 0040-264-530918ciclare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Ciclul Do...Loop e-mail: antaltiberiu@pcnet.ro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Ciclul For...Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Ciclul For Each...Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Ciclul While...Wend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

13 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Tipuri de de Mecanic| de Programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Catedra date definite i utilizator . . Crearea unei modul clas| Access Curs de baze de date Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Definirea membrilor dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Implementarea propriet|ilor clasei . . . . . . . . . . . . . . Copyright 2000. Toate drepturile sunt rezervate.autorului.. . . . . . . . . . . . . . . . . . . . . . 249 Modul de lucru cu Property Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Multiplicarea Modul de lucru cu Propertycomercial. este.interzis|.. . . . . . . . . . . . . . . . . . 251 acestui document n scop Let . . . . . . . . . . . . . . Crearea metodelor clasei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Definirea orice form| de nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 252 Sudenii participani la evenimentelor clasei . . . . . . .superior. bugetar . . . .multiplica.acest Evenimentul document pentru uzul personal. Initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Evenimentul Terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Utilizarea clasei .orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare Sudenii participani la . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 254

pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Colecii VBA . contact| .la: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 scop m| putei . . . . . . . . . Crearea unei colecii VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Propriet|ile i metodele ANTAL Tiberiu Alexandru obiectului colecie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Ad|ugarea unui tel.: 0040-264-530918 articol la colecie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 e-mail:Referirea unui obiect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 antaltiberiu@pcnet.ro Parcurgerea articolelor coleciei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 tergerea obiectelor individuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 tergerea tuturor obiectelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Eliberarea spaului folosit pentru stocarea variabilei obiect . . . . . . . . . . . . . . . . . . 256 Crearea unei clase pentru manipularea coleciilor . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Modul de lucru cu Property Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Conf. dr. ing. ANTAL Tiberiu Alexandru Aplicaii VBA Tenhic| din clase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Universitatea cu funcii i Cluj-Napoca Aplicaii cu instruciunea If Facultatea Construcii de Maini. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aplicaii cu instruciunea For . Catedra de Mecanic| i Programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Realizarea unei clase pentru lucrul Curs de baze de date Microsoft Access cu numere complexe . . . . . . . . . . . . . . . . . . . . 261 262 264 265

Obiectivele2000. Toate drepturile. sunt . . . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . 268 Copyright cursului 11 . . . . . . . . . . . . rezervate . . . . . . . . Ce este programarea orientat| pe obiecte? . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 269 Multiplicarea acestui document n scop comercial . . . . . . . . . . Obiecte i Colecii n VBA . . form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Sudenii participani la orice . . . . . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 269 document pentru uzul personal. Variabilele de tipul obiect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Obiecte Microsoft Access . . . . . . . contra cost. i. cu .acordul .scris. al. autorului.. .n. acest271 pot multiplica documentul numai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . scop m| putei contact| la: Obiecte pentru accesul la date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 ANTAL Tiberiu Alexandru Determinarea tipului unui obiect de tipul Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Unele propriet|i ale obiectelor folosite mai des . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Propriet|ile obiectului Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Propriet|i ale formularelor i rapoartelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 275 275 275

14 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Colecii implicite . . . . i.Programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Catedra de Mecanic| . . . . . . . . . . . Curs de baze de date Microsoft Access Propriet|i ale obiectelor i coleciilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

Copyright 2000. Toate drepturile sunt rezervate autorului. Obiectele Container i Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Multiplicarea acestui document n scop comercial este interzis|. Evenimente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Tipuri de evenimente . .personal.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 document pentru uzul . . . . . . . Evenimente specifice formularelor i controalelor . . .cu. plat| .sau. alte .persoane. doritoare Sudenii participani la orice form| de nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 284 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Evenimente de date . . . .la: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 scop m| putei contact| . . Evenimente implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Erori i proceduri de tratare a erorilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e-mail: antaltiberiu@pcnet.ro Instrumente pentru depanare (Debugging tools) . . . . . . . . . . . . . . . . . . . . . . . . . . . Execuia pas cu pas a procedurilor (Stepping) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fereastra pentru Depanare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Depanarea procedurilor de evenimente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 288 288 290 290 291

Aplicaie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 12 din.Cluj-Napoca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Universitatea Tenhic| . . . . . . . . . . . . . Facultatea Construcii de Maini Tratarea erorilor n VBA Programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Catedra de Mecanic| i . . . . . . . . . . Folosirea date Microsoft Access Curs de baze de evenimentului Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Instruciunea On Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Instruciunea On Error GoTo etichet . . . . . . . . Copyright 2000. Toate drepturile sunt rezervate autorului.. . . . . . . . . . . . . . . . . . . . . . 296 Instruciunea On Error Resume Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Multiplicarea Instruciunea On Errorscop comercial. este.interzis|.. . . . . . . . . . . . . . . . . . 298 acestui document n GoTo 0 . . . . . . . . . . . . . . Instruciunea Resume Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Obiectul Err . . . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 299 Sudenii participani .la .orice form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Ierarhii ale uzul personal. document pentru codului pentru tratarea erorilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Access SQL . . . . . . . .la .orice form|.de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare Sudenii participani . . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 300 Cum se folosete Access SQL-ul? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul numai contra cost. i. cu .acordul .scris. al. autorului.. .n. acest300 Sintaxa contact| la: scop m| putei comenzilor SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Instruciunea SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Clauza SELECT ANTAL Tiberiu Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Clauza tel.: 0040-264-530918FROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Clauza WHERE e-mail: antaltiberiu@pcnet.ro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Clauza ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Asocierea tabelelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Asociere multipl| (Multiple Joins) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

15 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Asociere non-equi Facultatea Construcii de Maini. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Predicatele ALL, Programare Catedra de Mecanic| i DISTINCTROW i DISTINCT . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Agregarea datelor . . . . . . Access Curs de baze de date Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Interog|ri de agregare f|r| clauza GROUP BY . . . . . . . . . . . . . . . . . . . . . . 308 Interog|ri de agregare cu rezervate autorului. Copyright 2000. Toate drepturile suntclauza GROUP BY . . . . . . . . . . . . . . . . . . . . . . . 308 Interog|ri de reuniune (UNION Queries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Multiplicarea Compatibilitatea interog|rilor . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 311 acestui document n scop comercial . . . . . . . . . . Subinterog|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 SQL cu parametri . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 313 Sudenii participani la orice form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Actualizarea datelor cu SQL document pentru uzul personal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Instruciunea UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Instruciunea DELETE . . nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 315 Sudenii participani la orice form| de . . . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare pot multiplica Instruciunea INSERT INTOcost. i. cu .acordul .scris. al. autorului.. .n. acest315 documentul numai contra . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruciunea SELECT INTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 scop m| putei contact| la:

Definiia Tiberiucu SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ANTAL datelor Alexandru Instruciunea CREATE TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . tel.: 0040-264-530918 Clauza CONSTRAINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e-mail: antaltiberiu@pcnet.ro Instruciunea CREATE INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruciunea ALTER TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruciunea DROP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interog|ri SQL Pass-Through . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

317 317 318 319 319 320 320

Obiectivele cursului 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Conf. dr. ing. ANTAL Tiberiu Alexandru Lucrul cu mulimi de nregistr|ri (sets of records) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Obiectul mulime de nregistr|ri (recordset) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Catedra de Mecanic| i Programare Crearea unei mulimi de nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Curs de baze de date Microsoft Access Consistena i inconsistena actualiz|rilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Moduri de creare a mulimilore de nregistrare . . . . . . Copyright 2000. Toate drepturile sunt rezervate autorului.. . . . . . . . . . . . . . . . . . . . . . 326 Parcurgerea unei mulimi de nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Multiplicarea G|sirea document de scop comercialmulime . . . . . . . . . . . . . . . . . . . . . . 329 acestui num|rului n nregistr|ri din este interzis|. Testarea limitelor mulimii de nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . 329 C|utarea unor nregistr|ri specifice . . . . . . . . .superior. bugetar . . . .multiplica.acest Sudenii participani la orice form| de nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 330 Instruciunea With document pentru uzul personal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 C|utarea n tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Utilizarea marcajelor (bookmark) nv||mnt .cu. plat| .sau. alte .persoane.doritoare Sudenii participani la orice form| de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Sortarea nregistr|rilor dintr-o mulime de cu acordul . . . . . . . . . . . . . . . . pot multiplica documentul numai contra cost inregistr|ri .scris. al. autorului.. .n. acest333 scop m| puteiSortarea prin folosirea propriet|ii Index . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 contact| la: Sortarea prin folosirea clauzei SQL ORDER BY . . . . . . . . . . . . . . . . . . . . 334 Sortare folosind ANTAL Tiberiu Alexandru proprietatea Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Filtrarea mulimilor de nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 tel.: 0040-264-530918 Filtrarea folosind e-mail: antaltiberiu@pcnet.ro clauza SQL WHERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Filtrarea prin proprietatea Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Editarea datelor unei mulimi de nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Modificarea unei nregistr|ri existente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

16 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Ad|ugarea Maini Facultatea Construcii deunei nregistr|ri noi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 tergerea Programare Catedra de Mecanic| i unor nregistr|ri dintr-o mulime de nregistr|ri . . . . . . . . . . . . . 339 Modificarea unui grup de nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Curs de baze de date Microsoft Access Modificarea datelor prin tranzacii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

Copyright 2000. Toate drepturile sunt rezervate autorului. Definiia datelor cu DAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Crearea obiectelor bazelor de date comercial . . . . . . . . . . Multiplicarea acestui document n scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 343 Crearea unui tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Tabelul metodelor Create... . . . . . . . . . . . . . . . . . . . . . pot . . . . . . . . . 344 Sudenii participani la orice form| de nv||mnt .superior. bugetar . . . .multiplica.acest Crearea personal. document pentru uzulunui Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Crearea unei relaii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Ataarea tabelelororicebazele de date externe .cu. plat| .sau. alte .persoane. doritoare Sudenii participani la din form| de nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 351 pot multiplica Ataarea unuinumai contra cost i cu acordul scris. al. autorului.. .n. acest351 documentul tabel extern unei baze de date Access . . . . . . . . . . . . . Reataareala: scop m| putei contact| tabelelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Obiectivele cursului 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Ce aduce nou Access 2000? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e-mail: antaltiberiu@pcnet.ro VBA n Access 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formulare i rapoarte n Access 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accesul la date n Access 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Facilit|ile internet i intranet ale lui Access 2000 . . . . . . . . . . . . . . . . . . . . . . . . . ADO sau DAO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specificarea referinelor . . . . . . . . . Conf. dr. ing. ANTAL Tiberiu .Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noua ierarhie de obiecte . . . . . . . Universitatea Tenhic| din Cluj-Napoca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manipularea datelor Facultatea Construcii de Maini prin ADO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definiia Programare Catedra de Mecanic| idatelor i securitatea cu ADOX . . . . . . . . . . . . . . . . . . . . . . . . . . Replicarea cu JRO . . . . . Curs de baze de date Microsoft Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 357 357 357 357 358 358 359 359 360 361 361

Utilizarea variabilelor obiect . . . . . sunt . . . . . . . . .autorului.. . . . . . . . . . . . . . . . . . . . . . 361 Copyright 2000. Toate drepturile . . . . rezervate . . . . . . . . Obiectul Connection . document.n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 362 Multiplicarea acestui . . . . . . . . . . . . . comercial . . . . . . . . . . Enumerarea obiectelorla orice form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Sudenii participani unei colecii . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 363 document pentru uzul personal. Lucrul cu mulimile de nregistr|ri n Access 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Deschiderea unei mulimi denumai contra cost. i. cu .acordul .scris. al. autorului.. .n. acest366 pot multiplica documentul nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . scop m| puteiCrearea obiectelor mulime de nregistrare . . . . . . . . . . . . . . . . . . . . . . . . . 369 contact| la: Cursorul client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Navigarea printre nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 ANTAL Tiberiu Alexandru C|utarea nregistr|rilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 tel.: 0040-264-530918 e-mail:Editarea datelor unei mulimi de nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 antaltiberiu@pcnet.ro Modificarea unei nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Ad|ugarea unei nregistr|ri noi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 tergerea unei nregistr|ri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

17 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Actualiz|ri Maini Facultatea Construcii den grup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Executarea interog|rilor . . . . . Catedra de Mecanic| i Programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Executarea unei interog|ri Curs de baze de date Microsoft Access f|r| parametri stocate n baza de date . . . . . . . . 378 Executarea unei interog|ri cu parametri stocate n baza de date . . . . . . . . . 379

Copyright 2000. Toate drepturile sunt rezervate autorului. Definirea i nc|rcarea schemei bazelor de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Crearea unei baze de date . . . . . comercial . . . . . . . . . . Multiplicarea acestui document.n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 383 nc|rcarea informaiilor legate de schema bazei de date . . . . . . . . . . . . . . . . . . . . . 383 Crearea tabelelor . . . . . . . . . . . nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 384 Sudenii participani la orice form|.de . . . . . . . . . . .superior. bugetar . . . .multiplica.acest Crearea personal. document pentru uzulunui tabel local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Crearea unui tabel legat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Modific|ri aduse tabelelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Sudenii participani la orice form| de nv||mnt .cu. plat| .sau. alte .persoane.doritoare Crearea i modificarea interog|rilor . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul numai contra cost. i. cu .acordul .scris. al. autorului.. .n. acest390 scop m| puteiCrearea unei interog|ri stocate n baza de date folosind colecia Views . . . 390 contact| la: Crearea unei interog|ri stocate n baza de date folosind colecia Procedures ..... ANTAL Tiberiu Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Modificarea instruciunii SQL a unei interog|ri . . . . . . . . . . . . . . . . . . . . . 391 tel.: 0040-264-530918 Crearea unui index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 e-mail: antaltiberiu@pcnet.ro Crearea unei relaii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Crearea unei aplicaii cu formulare, subformulare i cod n Access 2000 . . . . . . . . . . . . . . Sincronizarea a dou| subformulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sincronizarea a trei formulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ad|ugarea, prin cod, de date n dou| tabele aflate n relaie one-to-many . . . . . . . Crearea interog|rilor aplicaiei . . . . Conf. dr. ing. ANTAL Tiberiu Alexandru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Crearea rapoartelor Cluj-Napoca Universitatea Tenhic| dinaplicaiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 395 400 404 411 412

Facultatea Construcii de Maini Ce este tehnologia ActiveX Automation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Catedra de Mecanic| i Programare Automation Server i Automation Curs de baze de date Microsoft Access Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Modul de lucru cu obiectele Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Crearea i definirea sunt rezervate autorului. Copyright 2000. Toate drepturileunei referine la o alt| aplicaie. . . . . . . . . . . . . . . . . . . 418 Modele de obiecte i navigatorul de obiecte . . . . . . . . . . . . . . . . . . . . . . . . 420 Multiplicarea Creare variabilelor de scop comercial. este.interzis|.. . . . . . . . . . . . . . . . . . 422 acestui document n tipul obiect . . . . . . . . . . . . Legare n avans i legare trzie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Funciile orice form| i nv||mnt . . . . . . . . . . . . . pot . . . . . . . . . 424 Sudenii participani laCreateObject deGetObject . .superior. bugetar . . . .multiplica.acest Argumentele Clasa document pentru uzul personal. pentru aplicaiile din Microsoft Office . . . . . . . . . . . . 428 Automation cu Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Inserarea orice ntr-un document Word . . . . . . . . . . . . . . . . . . . . . . 429 Sudenii participani ladatelorform| de nv||mnt cu plat| .sau. alte .persoane. doritoare pot multiplica Inserarea datelor ntr-un document Word folosind bookmark-uri . . .n. acest433 documentul numai contra cost i cu acordul scris al autorului. . . . . Automation cu Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 scop m| putei contact| la: Pagini pentru accesul la date (Data Access Pages) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ANTAL Tiberiu Alexandru Crearea unei PAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . tel.: 0040-264-530918 Crearea unei PAD e-mail: antaltiberiu@pcnet.ro simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Folosirea generatoarelor pentru crearea de PAD . . . . . . . . . . . . . . . . . . . . . Create data access page in Design view . . . . . . . . . . . . . . . . . . . . . . Create data access page by using wizard . . . . . . . . . . . . . . . . . . . . . 444 445 445 445 445 446

18 Conf.

CUPRINS dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Edit Maini Facultatea Construcii de Web page that already exists . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Catedra de Mecanic| i Programare ANEXA baze de date Microsoft Access VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Curs de 1 - Lista principalelor instruciuni

ANEXA 2 -2000. Toate drepturile sunt rezervate.autorului.. . . . . . . . . . . . . . . . . . . . . . 454 Copyright Lista principalelor funcii VBA . . . . . . . . . . . . . Funcii de conversie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 Funcii acestui document . . . . . comercial . . . . . . . . . . Multiplicarea pentru dat| i timp n. scop . . . . . . . . . este.interzis|.. . . . . . . . . . . . . . . . . . 454 Funcii pentru tratarea erorilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Funcii pentru la orice form| de nv||mnt superior . . . . . . . pot . . . . . . . . . 455 Sudenii participani manipularea fiierelor i directorilor . . . bugetar . . . .multiplica.acest Funcii financiare . . . . . . document pentru uzul personal.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Funcii matematice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Funcii pentru la orice form| de nv||mnt . . . . . . . . . . . . . . . . . . . . . . . 458 Sudenii participani prelucrarea irurilor . . . . . . . . .cu. plat| .sau. alte .persoane.doritoare Alte funcii . . . . . . . numai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pot multiplica documentul . . . . . . contra cost. i. cu .acordul .scris. al. autorului.. .n. acest460 scop m| putei contact| la: Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 ANTAL Tiberiu Alexandru Bibliografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

19

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Obiectivele cursului Facultatea Construcii de Maini Catedra de Mecanic| i Programare Dupa parcurgerea acestui curs Curs 7de baze de date Microsoft Access veti cunoaste:

Copyright 2000. Toatelegate de: baze derezervate autorului. ! concepte drepturile sunt date, tabele i relaii; ! termenul baz| de date relaional| (Relational Database); Multiplicarea acestui document n scop comercial este interzis|. ! care sunt regulile relaionale ale lui Codd; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ! avantajele utiliz|rii bazelor de date; document pentru uzul personal. ! elementele de baz| ale Access-ului: Tabele (Tables), Formulare (Forms), Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Rapoarte (Reports), Macro (Macros) i Module (Modules); pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: n execuie Access-ul i obiectele care exist| pe fereastra ! cum se lanseaz| principal| aplicaiei ANTAL TiberiuaAlexandruAccess. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

20

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Ce Catedra de Mecanic| i Programare sunt datele? Introducere date Microsoft Access Curs de baze de Datele sunt entit|i individuale formate din texte, numere, imagini sau sunete care pot fi stocate i prelucrate pe drepturile sunt rezervate autorului. Copyright 2000. Toateun calculator. Acestea se obin prin observarea i m|surarea lumii reale. Prin ele nsele, datele, nu au o semnificaie, aceasta rezultnd n urma interpret|rii (sau prelucr|rii) lor. Multiplicarea acestui document n scop comercial este interzis|. Informaia este semnificaia pe care ode nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice form| primesc datele ca urmare a modului lor de interpretare. document pentru uzul personal. Pentru a nelege diferena, Antal, 33, 1250000 semnific| prea puin ca dat|. Dar dac| se interpreteaz| ca numele orice form| Antal, care are vrsta de 33 alte persoane doritoare Sudenii participani launui profesor,de nv||mnt cu plat| sau de ani i salariul lunar de 1.250.000 de lei, datele primesc semnificaie i potcu numite informaii. Aceast| interpretare pot multiplica documentul numai contra cost i fi acordul scris al autorului. n acest nu este unic|, putnd exista scop m| putei contact| la:de multe ori alternative. Uneori buc|ica de informaie este parte a unui ablon informaional mai complex. ANTAL Tiberiu Alexandru Este 0040-264-530918 tel.: util ca s| privim datele ca materie prim| pentru o reet| care, realizat| din proporii diferite, conduce la rezultate diferite. e-mail: antaltiberiu@pcnet.ro

Concepte de baz|
Definiii:
Fiier (File): o colecie de nregistr|ri grupate pe baza subiectului comun, de exemplu: lista clienilor (stocata n fiierul sau n baza de date Clienti); 7 lista produselor Tiberiu Alexandru 7 Conf. dr. ing. ANTAL(stocata n fisierul sau n baza de date Produse); lista facturilor emise (stocata n fiierul sau baza de date Facturi). 7 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini nregistrareMecanic| i Programare Catedra de (Record): grup de informaii elementare despre un singur articol sau entitate, de exemplu:baze de date Microsoft Access Curs de Clientul - Horea; Produsul plac| de baz|; Copyright 2000.-Toate drepturile sunt rezervate autorului. Factura - NR 0011. Multiplicarea acestui document n scop comercial este interzis|. Cmp (Field): dat| individual| elementar| stocat| ntr-o nregistrare, de exemplu: n fiierul Clienti - Nume, Adresa, Telefonsuperior bugetar pot multiplica acest Sudenii participani la orice form| de nv||mnt ; n pentru uzul personal. documentfiierul Produse - Cod produs, Descriere, Pret; n fiierul Facturi - Cod produs, Nume vanzator, Data, Ora. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Cmpurile se definesc, precis, n termenii tipului datelor pe care potal autorului. si aacest pot multiplica documentul numai contra cost i cu acordul scris s| le conin| -n dimensiunii maxime ce la: scop m| putei contact| se poate stoca n acel cmp. O baz| de date despre profesori 7 ANTAL Tiberiu Alexandru (care este stocata pe disc n fisierul Profi) este folosit| pentru a exemplifica noiunile tel.: 0040-264-530918 deja prezentate. nregistr|rile corespund liniilor din tabel, iar cmpurile coloanelor. De exemplu, primele dou| nregistr|ri sunt liniile care ncep cu: e-mail: antaltiberiu@pcnet.ro 1. ACHIMAS 2. ANCAU

21

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru Fiecare nregistrare stocheaz| categorii de Universitatea Tenhic| din Cluj-Napoca informaii elementare n urm|toarele cmpuri: Facultatea Construcii de Maini NUME DIRECTOR; Catedra de Mecanic| i Programare PRENUME DIRECTOR; Curs de baze de date Microsoft Access AN NASTERE; TITLU DIDACTIC. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Ce este o baz| de date? Facultatea Construcii de Maini O definitie simpla pentru o baz| de date este: O colectie structurata de date 7 7 Catedra de Mecanic| i Programare interconectate relational prin unul sau mai multe subiecte. Curs de baze de date Microsoft Access O definitie maiToate drepturile sunt rezervate autorului. sau mai multe multimi de 7 7 Copyright 2000. tehnica ar fi: baza de date reprezinta una date persistente structurate, asociate de obicei cu un software pentru editarea si selectia datelor. Multiplicarea acestui document n scop comercial este interzis|. Un sistem de gestiune aorice form| de nv||mnteste un program care permite Sudenii participani la bazelor de date (SGBD) superior bugetar pot multiplica acest utilizatorului definirea, crearea, ntretinerea si controlul accesului la o baza de date, astfel: 7 document pentru uzul personal. ! utilizatorii definesc baza de date cu ajutorul unui limbaj pentru definirea datelor (Data la orice form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participaniDefinition Language); ! 7 pot multiplica utilizatorii potnumai contra cost terge si extrage date al autorului. n acest documentul insera, actualiza, s i cu acordul scris din baza folosind limbajul contact| la: a datelor (Data Management Language) deseori numit si de manipulare scop m| putei limbaj de interogare (query language); ! asigura servicii 7 ANTAL Tiberiu Alexandru pentru controlul accesului la baza de date prin: < 7 tel.: 0040-264-530918sistemul de securitate n vederea blocarii accesului persoanelor neautorizate la date; e-mail: antaltiberiu@pcnet.ro < sistemul de integritate a datelor pentru pastrarea consistentei datelor 7 stocate; < sistemul de accesul concurent la date, etc.

22

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Pe baza celor spuse, n figura de mai sus se prezinta, departamentele pentru vnzarile de 7 7 produse s de ANTAL Tiberiu Alexandru Conf. dr.i ing.contacte. Fiecare departament are propria ei aplicatie pentru accesarea bazei de date prin intermediul SGBD. La nivelul fieca Universitatea Tenhic| din Cluj-Napoca 7 rui departament, aplicatia de gestionare realizeaza introducerea de Maini 7 Facultatea Construciidatelor, ntretinerea datelor si generarea rapoartelor prin intermediul SGBD. Deseori, utilizatorii nu sunt interesati n a putea accesa ntreaga baza de date n acest 7 Catedra de Mecanic| i Programare sens, de baze de facilitate numita Curs SGBD are odate Microsoft 7 mecanism de vedere (view mechanism), care permite ca Access fiecare utilizator sa aiba o vedere proprie asupra bazei de date (o vedere este, n esenta, o parte 7 7 -7 a bazei de 2000. Copyrightdate). Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Un sistem de gestiune a bazelor de date relationale (Relational Database Sudenii participani la orice form| deo un sistem de gestiunebugetar pot multiplica acest Management System - RDBMS) este nv||mnt superior a bazelor de date care document pentrurelaional dezvoltat de E. F. Codd n 1970. folosete modelul uzul personal. Sudenii participani la un formalismde nv||mnt cu plat| sau alte persoane doritoare Un model de date este orice form| matematic cu o notaii pentru descrierea pot multiplica de date - organizarea datelor - i a multimii scris al autorului. n pentru structurilor documentul numai contra cost i cu acordul de operatii folosite acest scop m| putei contact| la: manipularea datelor. ANTAL Tiberiu Alexandru toate datele sunt organizate n tabele (termenul tehnic este cel n modelul de date relaional, tel.: 0040-264-530918 de relatie), care sunt formate din rnduri (termenul tehnic este de tupla) i coloane (uneori 7 e-mail: i cmpuri sau atribute). Tabelul este o colecie de rnduri, iar fiecare rnd al unui antaltiberiu@pcnet.ro numite tabel conine aceleai cmpuri. Fiecare tabel are un nume, iar n interiorul tabelului, fiecare coloan| are un nume. Nu se menine o ordine prestabilit| ntre rndurile unui tabel, ele pot fi extrase n orice ordine determinat| de valorile din cmpuri. Unele cmpuri pot fi desemnate drept chei, ceea ce nseamn| c| toate c|ut|rile ale unor valori specifice ale acelui cmp vor

23

Introducere n Microsoft Access - cursul 1

folosi dr. ing. ANTAL Tiberiu vitezei. Rndurile unor tabele distincte pot fi legate dac| Conf. indexarea pentru creterea Alexandru au aceeai valoare ntr-un cmp particular Universitatea Tenhic| din Cluj-Napoca din fiecare tabel (se mai zice c| tabelele au o FacultateaO caracteristic| a modelului relaional este c| toat| informaia din baza de date asociere). Construcii de Maini Catedra de Mecanic| i Programare tabele. Datele pot fi manipulate prin algebra este reprezentat| prin valorile stocate n Curs de baze de date Microsoft Access ntr-un capitol urm|tor) este implementarea unei relaional|. Limbajul SQL (care va fi tratat astfel de algebre. SGBD-ul trebuie s| urm|reasc| datele importante pentru gestionarea bazei Copyright 2000. Toate drepturile sunt rezervate i numele fiec|rui cmp dintr-un tabel. de date. De exemplu, va cunoate numele tabelelor autorului. Acest tip de informaie poart| numele de meta-date (date despre date). Asemenea oric|ror Multiplicarea acestui document tabele. Tabelele care descriu structura bazei de date poart| alte date i acestea se vor stoca n n scop comercial este interzis|. denumirea de schema bazei de date. SGBDR-urile mari, au scheme multiple, acestea fiind Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest grupate n cataloage. document pentru uzul personal. n viaa de toate zilele utiliz|m frecvent baze de date, f|r| a fi contieni ns|. Iat| cteva Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare exemple: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest cartea de telefoane; scop m| putei contact| la: orarul colii; agenda. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 se prezint| sub dou| forme: Bazele de date comune e-mail:1. baza de date simpla (flat database) - se folosete pentru stocarea unor liste antaltiberiu@pcnet.ro 7 simple ce pot conine date redundante, asemenea unor pagini dintr-o agend| n care unele informaii se repet|; 2. baza de d ate r elat ionala (relational datab ase) - se folosete pentru stocarea 7 datelor n fiiere cu referine ncruciate pentru eliminarea redundanei. Din acest motiv g|sirea, analiza, gestionarea i protecia datelor este mai simpl| pentru c| acestea apar o singur| dat| n baz|. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare potpresupunem documentul numai contra cost i cu acordul scris al autorului. i a acest S| multiplica c| ntr-o firm| se ine pe calculator evidena angajailor, clienilor n scop m| puteiacontact| la: care acesta le comercializeaz|. Pentru a obine un produs sau produselor sau serviciilor pe un serviciu clientul trebuie s| fac| o comand|. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 subiecte distincte care corespund la cinci fiiere sau tabele: Se contureaz| deja cinci e-mail:Angajat (tabelul Employess); antaltiberiu@pcnet.ro Client (tabelul Customers); Produs (tabelul Products); Comand| (tabelul Orders); Detalii comand| (tabelul Order Details).

24

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru Este probabil Tenhic| din cu mai multe Universitateas| fie comenziCluj-Napoca produse motiv pentru care avem nevoie de un tabel legat pentru Detalii comand|. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Tabelele de mai date numesc legate ntre Curs de baze desus se Microsoft Access ele prin relaii (relationship): un angajat vinde mai multor clieni unei nregistr|ri din Angajai i corespund mai multe nregistr|ri din Clieni, conexiunea ntre acestea facndu-se prin Comand|; Copyright 2000. Toate drepturile sunt rezervate autorului. un client comand| unul sau mai multe produse unei nregistr|ri din Clieni i corespund mai multe nregistr|ri din scop comercial este ntre acestea f|cndu-se prin Multiplicarea acestui document n Produse, conexiuneainterzis|. Comenzi i Detalii comand|; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ordinul de comand| conine un num|r de detalii specifice comenzii n cmpurile CustomerID, EmployeeID etc. document pentru uzul personal. i un cmp de conexiune, OrderID, cu Detalii comand| unde sunt detaliile fiec|rui produs vndut. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Tipuri de relaii scop m| client emite o comand|, ea poate fi pentru unul sau mai multe produse, adic| pot fi Cnd un putei contact| la: mai multe produse pe o singur| comand|. O astfel de relaie se numete unu-la-muli (oneANTAL Tiberiu Alexandrueste cea unu-la-unu (one-to-one). Un alt tip de relaie este to-many). O relaie mai rar| tel.: 0040-264-530918 muli-la-muli (many-to-many) care n Access nu este permis|. Ea se poate transforma n e-mail: antaltiberiu@pcnet.ro unui tabel intermediar de leg|tur|. n figura anterioar| 1 relaii unu-la-muli prin folosirea indic| partea de unu din relaie iar simbolul infinit 4 reprezint| partea de muli. n relaia unu-la-muli dintre tabelele Clieni-Comenzi (Customers-Orders) cmpul de leg|tur| ntre tabele este CustomerID. n tabelul Clieni este i cheie primar|. Cheia primar| identific| unic fiecare nregistrare din tabel. n unele cazuri aceasta se poate realiza prin folosirea unui singur cmp (de exemplu CustomerID) alteori se folosete o combinaie de Conf.num|r deANTAL Tiberiu Alexandru orice dr. ing. cmpuri (de exemplu OrderID + NrLinie poate identifica unic o Universitatea tabelul Order Details). Pe baza datelor din tabele trebuie s| se g|seasc| o nregistrare n Tenhic| din Cluj-Napoca Facultatea de cmpuri careMaini combinaie Construcii de s| asigure identificarea unic| a nregistr|rilor din tabel. Catedra de Mecanic| i Programare Curs de baze decmpul CustomerID se numete cheie str|in| i asigur| leg|tura cu tabelul n tabelul Orders date Microsoft Access Customer n care este cheie primar|. Copyright 2000. Toate drepturile sunt rezervate autorului.

Regulile relaionale ale lui Codd comercial este interzis|. Multiplicarea acestui document n scop

Codd a pus la punct un set de reguli care aveau ca scop asigurarea independenei ntre aplicaia de interfa| cu utilizatorul i modific|rile aduse modelului de date. Modelul acest Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica relaional folosete uzul personal. document pentru un element comun, ca de exemplu CustomerID, pentru a lega rnduri ntre care exist| o relaie dar se afl| n tabele diferite. Exist| 13 reguli pe care un produs program trebuie s| le respecte pentru ca s| fie numit Sistem de sau alte persoane doritoare Sudenii participani la orice form| de nv||mnt cu plat| Gestiune al Bazelor de Date Relaionale (SGBDR). Microsoft Access-ulcost i cu acordul scris al autorului. enumerate pot multiplica documentul numai contra se conformeaz| la toate cele 13 reguli n acest de Codd. putei contact| la: prezint| succint aceste reguli: scop m| Tabelul care urmeaz| ANTAL Nume regula Tiberiu Alexandru Nr. 7 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Descriere Implementare Access

25

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru 0 Principul de Orice SGBD Relaional (SGBDR) Universitatea Tenhic| din Cluj-Napoca baz| trebuie s| gestioneze ntreaga baz| de Facultatea Construcii dedate numai prin posibilit|ile Maini Catedra de Mecanic| i Programare modelului relaional. Dac| un SGBD Curs de baze de date Microsoft Access de un instrument de este dependent manipulare al datelor la nivel de Copyright 2000. Toate drepturile sunt rezervate autorului. ntregistrare, nu este total relaional.

Access-ul a fost primul SGBD care rula sub Windows i respecta aceast| regul|. Access-ul nu folosete numere de nregistr|ri.

Multiplicarea acestui document n scop comercial este interzis|. Access-ul i stocheaz| 1 Stocarea Toate datele unui SGBD relaional se informaiei reprezint| explicit ca valori n tabele. datele n tabelele Sudenii participani la orice form|pot fi stocate prin alte Datele nu de nv||mnt superior bugetar pot multiplicadate motorului bazei de acest document pentru uzul personal. metode. Microsoft Jet. 2 Garantarea Fiecare element de dat| trebuie s| fie Access-ul respect| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare accesului accesibil logic printr-o combinaie de pot multiplica documentul numai contra cost i cu acordul scris aceast| regul| prin al autorului. n acest forma: cheie primar|, nume de tabel i folosirea Cheii Primare scop m| putei contact| la: nume de cmp. (Primary Key). ANTAL Tiberiu Alexandru 3 Lipsa Valorile vide (Null) trebuie s| fie tel.: 0040-264-530918 informaiei suportate explicit. Null-urile e-mail: antaltiberiu@pcnet.ro reprezint| informaia lips| sau imposibil de aplicat. Descrierea bazei de date sau catalogul trebuie s| se fac| la nivelul logic sub forma unor valori n tabele. Limbajul relaional (SQL) trebuie s| poat| aciona asupra proiectului bazei de Conf. dr. ing. ANTAL Tiberiu Alexandru date n acelai Universitatea Tenhic| din Cluj-Napocamod n care acioneaz| Facultatea Construcii deasupra datelor stocate n structur|. Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. 4 Catalogul de sistem Access-ul suport| lucrul cu valori Null pentru descrierea informaiilor lips|. Catalogul rezid| n motorul bazei de date Microsoft Jet. Se poate folosi OpenSchema din ADO pentru interogarea catalogului de sistem. Limbajul DDL SQL al motorului bazei de date Microsoft Jet ofer| posibilitatea cre|rii tabelelor, cheilor etc.

5 Limbaj Un SGBD trebuie s| suporte un limbaj Multiplicarea acestui document n scop comercial este interzis|. Access-ul, prin motorul cuprinz|tor clar pentru manipularea datelor (SQL) Jet, asigur| SQL pentru care asigur| modalit|i cuprinz|toare manipularea datelor, Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest pentru crearea vederilor (Select document pentru uzul personal.manipularea datelor, definirea datelor, definirea vederilor, Queries), constrngerile constrngerile de integritate, limit|rile de persoane Sudenii participani la orice form| de nv||mnt cu plat| sau alteintergritatedoritoare de tranzacii i de autorizare. pot multiplica documentul numai contra cost i cu acordul scris (Relationshipsn acest al autorului. i CREATE scop m| putei contact| la: CONSTRAINT). ANTAL Tiberiu Alexandru vederile trebuie s| poat| fi 6 Actualizarea Toate tel.: 0040-264-530918 vederilor actualizate de sistem. ntr-un SGBD e-mail: antaltiberiu@pcnet.rorelaional majoritatea vederilor total ar trebui s| se poat| actualiza. Access a fost primul SGBD pe PC-uri care a permis interog|ri de actualizare (Update Query).

26

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru s| fac| mai mult 7 Actualiz|ri la Un SGBDR trebuie Universitatea Tenhic| din Cluj-Napoca nivel de dect simpla extragere a datelor. Facultatea Construcii deTrebuie s| aib| capacitatea de Maini mulime Catedra de Mecanic| i Programare inserare, actualizare i tergere a Curs de baze de date Microsoft Access ca o mulime datelor, privite

Access-ul suport| interog|ri de aciune (Action Query).

relaional| Copyright 2000. Toate drepturile sunt rezervate autorului. 8 Independena Datele trebuie s| fie fizic Access-ul permite Multiplicareaaacestui document n scop comercial este interzis|. modificarea obiectelor fizic| datelor independente de programul aplicaie. Programul aplicaie SGBDR trebuie bazei de date f|r| Sudenii participani la orice form| des| urm|reasc| s| fie n stare nv||mnt superior bugetar pot multiplica acest alterarea celorlalte document pentru uzul personal. modific|rile fizice la nivelul datelor componete ale Accesspe "sub aplicaie". De exemplu, ului. Jet-ul are motor de Sudenii participani la orice form| SGBDR nu se va modifica alte persoane doritoare programul de nv||mnt cu plat| sau stocare logic. pot multiplica documentul numaiindex se cost i cu acordul scris al autorului. n acest dac| un contra adaug| sau se terge scop m| putei contact| la: dintr-un tabel. 9 Independena Pe ANTAL Tiberiu Alexandru ct este posibil, aplicaiile software logic| a datelor trebuie s| fie independente de tel.: 0040-264-530918 modific|rile f|cute n tabelele de e-mail: antaltiberiu@pcnet.ro baz|. De exemplu, nu trebuie s| se rescrie codul n cazul n care tabelele sunt combinate ntr-o vedere. Independena Integritatea datelor trebuie s| se poat| integrit|ii defini ntr-un limbaj relaional i s| fie datelor stocat| n catalog. Constrngeri de Conf. dr. ing. ANTAL Tiberiu Alexandru trebuie s| poat| fi integritate a datelor Universitatea Tenhic| din Cluj-Napoca de aplicaie. Acest construite la nivel Facultatea Construcii deconcept este oarecum str|in modelului Maini Catedra de Mecanic| i Programare modelul relaional, relaional. n Curs de baze de date Microsoft Access integritatea trebuie s| fie inerent| 10 n Access, o interogare se poate lega la un formular sau la un raport la fel de simplu ca un tabel. Dei Microsoft-ul nu a documentat modul n care Jet-ul stocheaz| integrit|ile, se pot crea reguli de integritate via SQL. Jet-ul va stoca aceste informaii n proiectul bazei de date ca parte a catalogului.

proiectului bazei de date. Copyright 2000. Toate drepturile sunt rezervate autorului. 11 Independena Capacit|ile SGBDR nu au voie s| fie Pentru c| motorul Jet distribuiei limitate datorit| distribuiei unor Multiplicarea acestui document n scop comercial este interzis|. stocheaz| regulile de componente ale acestuia n baze de integritate la nivel de date form| de nv||mnt superior bugetar pot multiplica acest separate. motor, alte componente Sudenii participani la orice ale motorului nu document pentru uzul personal. afecteaz| regulile de integritate. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

27

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu un SGBDR are un limbaj de 12 Inexistena Dac| Alexandru Universitatea Tenhic| din Cluj-Napocaunei singure nregistr|ri submin|rilor manipulare "a Facultatea Construcii dela un moment dat", acest limbaj nu va Maini Catedra de Mecanic| i Programare la ocolirea regulilor de putea fi folosit Curs de baze de date Microsoft Access a constrngerilor integritate sau

Access-ul permite folosirea lui DAO i ADO pentru manipularea a cte unei singure nregistr|ri la un modelului relaional. Astfel nu numai moment dat prin Copyright 2000. Toate drepturile sunt rezervate autorului. c| SGBDR trebuie s| fie guvernat de intermediu mulimilor de reguli relaionale ci aceste reguli ntregistr|ri actualizabile Multiplicarea acestui document s| fie i comercial este interzis|. (updateable n scop primare. trebuie recordsets). Nu se pot Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest viola regulie de document pentru uzul personal. integritate prin aceste tehnologii de manipulare Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare a datelor. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru Scopul unei baze de date tel.: 0040-264-530918 O baz| de date electronic| permite utilizatorului efectuarea acelorai operaii ca n cazul unei e-mail: antaltiberiu@pcnet.ro plus, datorit| suportului electronic ofer| avantajele: baze de date stocat| pe hrtie, n vitez| m|rit|, simplitate n folosire, posibilitatea stoc|rii unor cantit|i mari de date; permite introducerea i editarea comod| a datelor, sortarea uoar| a datelor i c|utarea simpl| a datelor; permite preg|tirea unor rapoarte precise ntr-o form| dorit| de utilizator despre informaiile stocate; asigur| partajarea datelor cu alte pachete software, n reele de calculatoare asigur| i Conf. dr. ing. ANTAL ntre utilizatori, sc|znd mult timpul pentru duplicarea datelor; partajarea informaiilor Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca asigur| securitatea datelor prin protecie mpotriva accidentelor software i hardware. Facultatea Construcii de Maini Catedra de Mecanic| i Programare De ce Microsoft Access? Curs de baze de date Microsoft Access Microsoft Access-ul este un Sistem de Gestiune a Bazelor de Date Relaionale (SGBDR) scris deToate drepturilecare este i produc|toarea sistemului de operare Windows. Copyright 2000. firma Microsoft sunt rezervate autorului. Aceast| aplicaie vine integrat| n pachetul de programe numit Microsoft Office Professional mpreun| cu programele: Word, Excel, PowerPoint ieste interzis|. Multiplicarea acestui document n scop comercial Mail. asigur| facilit|i de stocare, sortare, manipulare i selecie avansate pentru date. este stabil n contextul form| de de operare Windows bugetar este dezvoltat de Sudenii participani la oricesistemului nv||mnt superiorpentru c| pot multiplica acest aceeai firm| care scrie sistemul de operare. document pentru uzul personal. este uor de nv|at, asigurnd dezvoltarea unor baze de date simple cu un efort minim (cel mai mic dintre toate bazeleform| de nv||mnt cupe aici: FoxPro,persoane doritoare Sudenii participani la orice de date folosite mai des plat| sau alte Paradox, Oracle) dar n acelai timp aprofundat are resurse suficiente pentru a susine dezvoltarea unor proiecte pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest serioase. putei contact| la: scop m| este foarte direct n posibilit|ile de manipulare a cmpurilor i a tabelelor cu date. este foarte r|spndit, motiv din care are scrise o mulime de biblioteci de tot felul de ANTAL Tiberiu Alexandru firme tere. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Ct "poate duce" Access-ul?


Pentru a r|spunde la aceast| ntrebare trebuie s| l|murim "clasa" sistemelor de gestionare a bazelor de date din care face parte Access-ul. Access-ul este un SGBD pentru calculatoare desktop, adic| calculatoare care "stau pe biroul cuiva", deci care deservesc un utilizator sau un

28

Introducere n Microsoft Access - cursul 1

num|r mic de ANTAL Tiberiu Alexandru Conf. dr. ing. utilizatori. El nu poate concura cu Oracle, Informix, DB2 sau Microsoft SQL Server care sunt sisteme complexe de gestionare ale bazelor de date cu motoare superioare n Universitatea Tenhic| din Cluj-Napoca termeni de Construcii de Maini Facultateavitez| i num|r de utilizatori care pot accesa simultan bazele de date. Totui, Access-ul poate fi folosit cu succes i n Catedra de Mecanic| i Programare acest context pe post de interfa| (front-end Curs de baze deutilizator i aceste SGBD-uri complexe. package) dintre date Microsoft Access Copyright Access-ului Evoluia 2000. Toate drepturile sunt rezervate autorului. n 1992 Microsoft a lansat Access 1.0 care a fost rapid urmat de versiunea 1.1. Aplicaia Multiplicarea acestui document n scopfiind competitiv| numai datorit| acestui pre, altfel iniial| a fost ieftin| (n jur de 100 USD) comercial este interzis|. avnd o mulime de limit|ri. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul pe pia| Access 2.0 aceast| versiune eliminnd de pe pia| versiunile n aprilie 1994 a ap|rut personal. anterioare. Dup| scurt timp versiunea 2.0 a devenit principala baz| de date pe 16 bii. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contraversiunecu acordul pentru sistemul de operare n septembrie 1995 apare Access 95 (alias cost i 7.0) scris| scris al autorului. n acest scop m| putei contact| la: a fost instabil i cu multe erori, Access 2.0 r|mnd preferatul Windows 95. Din nefericire, programatorilor. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Access 97 (alias Access 8.0) cu multe mbun|t|iri fa| de Access n noiembrie 1996 apare e-mail: antaltiberiu@pcnet.ro sistemului de operare Windows 95/98. 2.0 i mult mai stabil n contextul Ultima versiune este Access 2000 ap|rut| n iunie 1999. Despre acesta n-am s| spun dect c| este un produs program mult superior celorlalte versiuni de Access i altor SGBDR-uri din clasa Access-ului, att n concepie, ct i n implementare.

Compatibilitatea ntre versiuni

Conf. dr. ing.Access de Tiberiu Alexandru produse distincte pentru c| nu asigur| Versiunile de ANTAL pe pia| sunt practic Universitatea Tenhic| din Cluj-Napoca de date scris| ntr-o versiune b|trn| se poate compatibilitatea de la nou la vechi. O baz| Facultateauna mai nou|, dar invers nu se poate. Erau dou| soluii pentru aceast| problem|: se converti la Construcii de Maini Catedracopie veche a bazei de date care va fi convertit| la versiunile noi sau se va deschide p|stra o de Mecanic| i Programare Curs de baze deadate Microsoft Access ns| numai n modul de citire (read only). La versiunea veche bazei cu un Access nou, realizarea conversiei Access-ul ncearc| s| transforme ct mai bine posibil obiectele vechi n Copyright 2000. Toate dar i aici apar des probleme. corespondentul lor nou, drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

O introducere n Access

Access-ulparticipani la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii utilizeaz| aceleai denumiri cu cele prezentate anterior cu o excepie ns| i anume document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

29

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru Fiierul se numete Tabel. Aceasta este o alegere normal| din moment ce majoritatea Universitatea Tenhic| dinpractic| sub form| tabelar|. informaiilor se prezint| n Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Forma de prezentare vizual| care urmeaz| se numete Foaie de date (Datasheet) i este cea Curs de baze de date Microsoft Access Access. Cea mai simpl| baz| de date se prezint| mai comun| pentru prezentarea datelor n sub o astfel de form| i poate include un num|r imens de date. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Introducere n instrumentele Accessului


ANTAL Tiberiude date implic| mai mult dect simpla stocare a datelor. Pentru a manipula, Lucrul cu o baz| Alexandru tel.: 0040-264-530918 prelucra i vizualiza datele sub forma unor informaii este necesar un grup de obiecte. Acestea e-mail: antaltiberiu@pcnet.ro sunt stocate de c|tre Access ntr-un container al bazei de date (Database Container) i sunt: formulare, interog|ri, rapoarte, macro-uri, module i pagini.
Ce sunt fomu larele ? (F or m s)

Formularele se folosesc pentru introducerea, editarea sau vizualizarea datelor la nivel de nregistrare.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. de mai sus dup| cum dorete utilizatorul. Uneori, Datele se pot grupa pentru operaiile formularele pot imita perfect documente aflate pe hrtie pentru a uura introducerea i Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare interpretarea datelor. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: O interogare este o ntrebare Ce sunt despre date, de exemplu: int ero garTiberiu Alexandru ANTAL ile ? cte pl|ci de baz| (Query ) tel.: 0040-264-530918 defecte au fost cump|rate? e-mail: antaltiberiu@pcnet.ro bani mai am n ci cont? La fiecare interogare din baza de date se extrag ultimele date (cele mai proaspete) legate de

30

Introducere n Microsoft Access - cursul 1

informaia cerut| de noi. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Rapoartele Facultatea Construcii de Mainise folosesc la tip|rirea i afiarea imformaiilor din baza de Ce sunt de Mecanic| date. Rapoartele permit producerea rezultatelor cu informaia ntr-o Catedra i Programare rapoartele ? form| dorit| de utilizator i permit: Curs de baze de date Microsoft Access (Reports ) gruparea i sortarea informaiilor; calculul de totale i medii. Copyright 2000. Toatedrepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Un macro este un grup de comenzi Access care rezolv| o sarcin| pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Ce sunt macroconcret|. De exemplu, pentru a crea un buton care deschide un raport scop m| putei contact| la: urile? se poate folosi un macro care se lanseaz| n aciunea "OpenReport". (Macros) Macro-urile se pot folosi pentru a seta valoarea unui cmp pe baza ANTAL Tiberiu Alexandru tel.: 0040-264-530918 valorii altui cmp (aciunea "SetValue"), pentru a verifica ndeplinirea anumitor condiii nainte de salvarea unei nregistr|ri (aciunea "CancelEvent"). Ecranul de e-mail: antaltiberiu@pcnet.ro macro-uri afieaz| detalii despre felul n care se poate aplica fiecare aciune. Acestea stocheaz| funciile sau programele scrise de utilizator. Tot ce se poate realiza cu un macro se poate realiza i cu un modul, dar f|r| interfaa de macro-uri care asigur| un dialog prietenos cu utilizatorul. Modulele sunt mult mai puternice i eseniale pentru scrierea unor Conf. dr. ing. ANTALaplicaii n regim multiuser (baze de date cu utilizatori multipli) pentru Tiberiu Alexandru c| macro-urile Tenhic| dinerorile din regim de lucru. Majoritatea utilizatorilor ncep s| Universitatea nu pot trata Cluj-Napoca lucreze cu Construcii de cnd realizeaz| limit|rile lor, n final, oprindu-se definitiv la Facultateamacro-urile pn|Maini module. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Un tip de obiect nou apare numai din Access 2000. Paginile se folosesc Ce sunt paginile? pentru a introduce sau afia autorului. Copyright 2000. Toate drepturile sunt rezervatedate prin Internet. Paginile sunt stocate sub (Pages) forma unor fiiere HTML avnd datele citite sau scrise din baza de Multiplicarea acestui date. document n scop comercial este interzis|.
Ce sunt mod ulele? (Mod ules)

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Lansarea n execuie a Microsoft Access-ului document pentru uzul personal. Localizai simbolul Microsoft Access din meniul Start al Windows-ului sau Executai clic pe simbolul Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Microsoft Access de pe desktop pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest (dac| acesta exist|). scop m| putei contact| la:
Adau garea unei Alexandru ANTAL Tiberiu n execuie baze de date n tel.: 0040-264-530918 Access-ul i directorul e-mail: antaltiberiu@pcnet.ro afiai cutia de Favorites

Lansai

dialog Open. Localizai i selectai articolul care dorii s| fie

31

Introducere n Microsoft Access - cursul 1

ad|ugat n directorul Favorites. Alexandru Conf. dr. ing. ANTAL Tiberiu n exemplul care urmeaz| baza de date Northwind a fost selectat|; Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru efectuai clic pe tel.: 0040-264-530918 butonul Add to Favorites Open); e-mail: antaltiberiu@pcnet.ro (afiat n interiorul cutiei de dialog

vei vedea o list| de forma care permite ad|ugarea articolului selectat prin Add Selected Item to Favorites n directorul Favorites.
Deschiderea un ei fereastra de dialog Open; baze de date din Conf. dr. ing. ANTAL Tiberiu Alexandru directorul Universitatea Tenhic| Cluj-Napoca clic din dac| efectuai Favorites

pentru a deschide un fiier din Favorites, prima oar| afiai

pe simbolul Look in Favorites (afiat Facultatea Construcii de Maini cutiei de dialog Open) orice articol care l-ai ad|ugat va fi n interiorul Catedra de Mecanic| afiat n fereastra de dialog astfel: i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro efectuai clic pe articolul dorit, la noi Northwind.mdb i apoi efectuai clic pe butonul Open pentru a deschide fiierul.

32

Introducere n Microsoft Access - cursul 1

Conf. dr. ing. ANTAL Tiberiu Alexandru Fereastra principal| a Access-ului Universitatea Tenhic| din Cluj-Napoca Fereastra principal| a aplicaiei Access urmeaz| caracteristicile oric|rei aplicaii Microsoft FacultateaO Bar| cu TitluMainiBar) este afiat| n cea mai de sus poriune a ecranului cu Windows. Construcii de (Title Catedra de Mecanic| (Control Menu) n partea stng|, iar n dreapta Butoanele de un Meniu de Control i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Minimizare (Minimize), Refacere (Restore) i nchidere (Close). Dedesubt este Bara cu Meniu (Menu Bar), iar mai jos sunt barele cu instrumente. La pornirea Access-ului n Copyright 2000. Toate drepturile sunt rezervate autorului. Meniu se v|d numai dou| submeniuri File (fiiere) i Help (ajutor), iar majoritatea butoanelor de pe bara de instrumente sunt de culoare gri, adic| invalidate (la ap|sarea lor nu Multiplicarea acestui document n scopc| nu este dechis| o baz| de date. se petrece nimic). Acestea apar din cauz| comercial este interzis|.
Bara cu document pentru instru m ent ele Access

Sudenii participani la orice form| de nv||mnt superior bugetar selectarea direct| Bara cu instrumente conine butoane care permit pot multiplica acest uzul(pun la dispoziia utilizatorului scurt|turi) a unor comenzi din bara cu personal. meniu aflate n submeniuri. Exist| mai multe bare cu instrumente care Sudenii participani la orice form| efectul activ|rii cu plat| sau altepe ecran - prin se pot activa - de nv||mnt fiind afiarea lor persoane doritoare pot multiplica documentul numai contradin Toolbars. Dac| scris nu autorului. semnificaia selectarea lui View cost i cu acordul nc| al cunoatei n acest scop m| putei contact| la:ap|sai, inei mouse-ul pe buton un timp i un scurt mesaj de butonului pe care dorii s|-l ajutor, n limba englez|, va fi afiat. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

33

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 2 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! cum se deschide o baz| de date la pornirea (lansarea n execuie) Copyright 2000. Toate drepturile sunt rezervate autorului. Acces-ului; ! Multiplicareacum se deschide o baz| de date dup| ceeste interzis|. pornit; acestui document n scop comercial Access-ul a fost ! cum se deschide o baz| de date scris| ntr-o versiune anterioar| de Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Access; document pentru uzul personal. ! cum se nchide o baz| de date; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ! cum se deschide un tabel i modul de navigare n acesta; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ! cum se vizualizeaz| un tabel n mod de proiectare (Design View); ! care sunt principiile de utilizare ale interog|rilor (Queries); ANTAL Tiberiu Alexandru tel.: 0040-264-530918 ! cum se deschid formularele (Forms) i pentru ce se utilizeaz|; e-mail: antaltiberiu@pcnet.ro ! cum se vizualizeaz| un formular n mod de proiectare; ! care sunt principiile de utilizare ale rapoartelor (Reports).

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

34

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic|Deschiderea unei baze de date din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| Din cutia de dialog Open selectai o baz| de date deja existent| i apoi i Programare Deschiderea un ei efectuai clic pe butonul Open. Curs de baze de date Microsoft Access baze de date
mpreuna cu 7 Copyright 2000. pornirea Access-ului

Toate drepturile sunt rezervate autorului.

Multiplicarea acestui document n scop comercial este interzis|. Din meniul File selectai Open Deschiderea un ei Database. Observai c| n Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest baze de date dupa 7 dreapta textului Open pornirea pentru uzul personal. document database este scris Ctrl+O. Access-ului Aceasta este scurt|tura c|tre Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare comanda din meniu. Ea i pot multiplica documentul numai contra costse cu acordul scris al autorului. n acest execut| putei contact| la: scop m|prin inerea ap|sat| a tastei Ctrl i ap|sarea scurt| a tastei O, dup| care ambele taste se elibereaz| i are ca Tiberiu Alexandru ANTALefect selectarea lui Open Database din meniul File mai scurt, numai prin ap|sarea unui grup tel.: 0040-264-530918 de taste (trecerea prin meniu este e-mail: antaltiberiu@pcnet.ro ocolit|). Nota : Bazele de date recente vor fi afiate ntr-o list|, 7 n figura al|turat| este numai una singur| Northwind, de unde pot fi deschise efectund clic pe numele lor. O alt| variant| este selectarea Conf. dr. ing. ANTAL Tiberiu Alexandru simbolului grafic Universitatea Tenhic| Open din Cluj-Napoca database din bara de instrumente Facultatea Construcii de Maini Standard. Cnd se deschide Catedra de Mecanic| i Programare fereastra de dialog Open, Curs de baze de date Microsoft Access selectai numele bazei de date din lista - n figura al|turat| s-a Copyright 2000. Toate drepturile sunt rezervate autorului. selectat Order Entry1 - i efectuai clic pe butonul Open. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Deschiderea un ei descrise mai sus, fereastra cu acordul scris al partea dumneavoastr| pot de date baze multiplica documentul numai contra cost ide dialog va cere din autorului. n acest confirmarea conversiei bazei de date vechi n cea nou| - opiunea creatam| putei contact| la: scop7 cu o versiune Convert Database - sau p|strarea formatului original i deschiderea anterioara de 7 bazei ANTAL Tiberiu Alexandrude date - opiunea Open database. Dac| baza de date este Access tel.: 0040-264-530918 deschis| f|r| a fi convertit| n formatul lui Access 97 datele din ea se pot edita e-mail: antaltiberiu@pcnet.ro dar nu se pot modifica proiectele formularelor, tabelelor i rapoartelor. Toate datele salvate vor putea fi utilizate n versiunea anterioar| de Access sub care s-a proiectat baza de date. n cazul n care se realizeaz| conversia, obiectele din baza de date vor putea fi manipulate din Access97 dar nu vor mai fi recunoscute de versiunile anterioare de Access. Deschidei baza de date n mod obinuit, cu oricare din procedurile

35

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Fereastra bazei de date Access Facultatea Construcii de Maini Fereastra de Mecanic| i Programare fereastra aplicaiei Access la deschiderea bazei de Catedra bazei de date Access apare n date. Ea asigur| odate Microsoft Access Curs de baze de modalitate de acces elegant| i rapid| la obiectele bazei de date. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro ase ferestre permit accesul la tabele (Tables), interog|ri (Queries), formulare (Forms), rapoarte (Reports), macro-uri (Macros) i module (Modules). Fiecare dintre acestea va fi examinat| n detaliu n cursurile urm|toare. Selecia uneia se realizeaz| efectund clic pe butonul (numit tab n englez|) cu numele corepunz|tor. Aceleai obiecte se pot selecta i din meniul View. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| nchiderea unei baze de date din Cluj-Napoca Facultatea Construcii de date Access: Pentru a nchide o baz| de Maini Catedra de Mecanic| dinProgramare sau selectai Close i meniul File Curs de baze declic nMicrosoft Access al aplicaiei Access i selectai Close sau efectuai date Meniul de Control efectuai clic dublu pe butonul Meniului de Control sau Copyright 2000. Toate drepturile sunt rezervate autorului. ap|sai Ctrl+F4. Multiplicarea acestui document n scop comercial este interzis|.

Deschiderea unui tabel (Table)

n fereastra bazei orice form| de nv||mnt pe butonul Tables; Sudenii participani la de date Access efectuai clic superior bugetar pot multiplica acest n pentru uzul efectuai clic documentlista tabelelor personal. dublu pe numele tabelului care dorii s| fie deschis sau efectuai clic pe numele tabelului i apoi clic pe butonul Open; tabelul este vizualizat sub forma nv||mnt cu (Datasheet view) care este modul Sudenii participani la orice form| deunei foi de date plat| sau alte persoane doritoarede vizualizare implicit pentru tabele n contra cost i cu acordul scris al autorului. n acest pot multiplica documentul numai Access. scop m| putei contact| la: La deschiderea tabelului Meniul i Bara cu Instrumente se schimb| automat pentru a include opiunile Alexandru ANTAL Tiberiu care sunt relevante pentru tabele. tel.: 0040-264-530918 Numele de coloane (column headings) devin vizibile n foaia de date acestea specificnd e-mail: antaltiberiu@pcnet.ro cmpurile tabelului. Fiecare rnd conine o nregistrare (record) separat|.

36

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul s| aib| mai multe coloane dect cele care se pot afia n fereastr|, caz Este probabil ca tabelul personal. n care numai cele din stnga vor fi vizibile. Dreptunghiurile gri din dreapta nregistr|rilor se Sudenii participani la orice form| deselectors). Un simbol s|geat| n selector indic| numesc selectori de nregistr|ri (record nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra asterisccu acordul *) ocup|autorului. urm|toarei nregistrarea curent| (current record). Un cost i (caracterul scris al selectorul n acest scop m| putei contact| la: nregistr|ri vide - nc| necompletate- disponibile. ANTAL Tiberiu ferestrei (unde scrie Record:), imediat deasupra liniei de stare, o bar| pentru n partea de jos a Alexandru tel.: 0040-264-530918 la dispoziia utilizatorului butoane de navigare i dreptunghiuri cu defilare (scroll bar) pune e-mail: antaltiberiu@pcnet.ro num|rul nregistr|rii curente, respectiv cu num|rul total de nregistr|ri. La deschiderea unui tabel, n mod normal, va fi indicat| prima nregistrare.

Explorarea tabelelor
Pentru a ne dep lasa p e u n c m p

Se poziioneaz| cursorul mouse-ului (de obicei n form| de s|geat|) pe cmpul dorit i efectu|m clic pe butonul stng al mouse-ului. Cursorul i schimb| Conf. dr. ing. ANTAL Tiberiu Alexandru forma funcie de tipul cmpului. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Pentru a ne deplasa de la o nregistrare la alta, se poate folosi una Pentru a ne Mecanic| i Programare Catedra de dep lasa din metodele: prin tabel folosind Curs de baze de date Microsoft Access
tastatura

Copyright 2000. Toate drepturile sunt rezervate autorului. Apas| tasta (ele): Pentru a te deplasa pe: Multiplicarea acestui document n scop comercial este interzis|. Cmpul urm|tor. Tab Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Cmpul anterior. Shift+Tab document pentru uzul personal. Primul cmp al nregistr|rii curente. Home Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare End pot multiplica documentul numai contra cost Ultimul cmp scris al autorului. n acest i cu acordul al nregistr|rii curente. scop m| putei contact| la: nregistrarea urm|toare. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Ctrl+Home e-mail: antaltiberiu@pcnet.ro Ctrl+End Page Up / Page Down nregistrarea anterioar|. Primul cmp al primei ntregistr|ri. Ultimul cmp al ultimei nregistr|ri. Pagina anterioar|/Pagina urm|toare.

37

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru


Pentru a ne Universitatea Tenhic| din Cluj-Napoca deplasa folosind Facultatea Construcii de Maini bara pentru Catedra defilare de Mecanic| i Programare

Curs de baze de date Microsoft Access


Pentru a ne meniul Edit, apoi deplasa pe o Multiplicarea acestui selectai First, Last, document n scop comercial este interzis|. nregistrare folosind meniul Next Previous sau Sudenii participani la orice form| de nv||mnt superior bugetar Edit New Record (vezi

Copyright 2000. Toate drepturile sunt rezervate autorului. Selectai Go To din

pot multiplica acest

document pentru uzulfigura al|turat|). personal.

Pentru a ne pot multiplica documentul numainregistr|rii iar num|rul contra cost deplasa scop m| putei contact| la: selecta din bara se va pe o nregistrare de defilare; specifica ANTAL folosind Tiberiu Alexandru Introducei tel.: 0040-264-530918 num|rul nregistr|rii pe tastatura

Sudenii participani la orice Ap|saide nv||mnt cu plat| sau alte persoane doritoare form| tasta F5 i cu acordul scris al autorului. n acest

e-mail: antaltiberiu@pcnet.ro s| v| plasai. care dorii ; Ap|sai tasta Enter.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Vizualizarea tabelelor n mod proiectare Catedra de Mecanic| i Programare La deschiderea unui tabel acesta este vizualizat, implicit, ca o foaie de date (Datasheet Curs de baze de date Microsoft Access View). La crearea unui tabel, implicit, acesta este vizualizat n mod proiectare (Design Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

38

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. a modifica un tabel trebuie mai nti s| comutai pe vizualizarea n mod View). Pentru ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca proiectare. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Pentru a com uta date Microsoft Access Curs de baze de n modul de selectai Design View din meniul View
proiectare

Copyright 2000. Toate drepturile sunt rezervate autorului. sau efectuai clic pe simbolul n scop comercial de pe bara de Multiplicarea acestui documentgrafic Design View este interzis|.instrumente . Sudenii participani la orice selectai Datasheet View din meniul View sau form| de nv||mnt superior bugetar pot multiplica acest uzul personal. efectuai clic pe simbolul grafic Datasheet View din bara de instrumente. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Pentru a com uta document pentru n m od ul foaie de date

Introducere n interog|ri (Queries)

O interogare este o modalitate de a extrage informaii din baza de date. Se pot extrage date din ANTAL Tiberiu Alexandru tabele distincte i se pot combina mpreun|. Se pot specifica criterii pentru limitarea tel.: 0040-264-530918 num|rului de nregistr|ri i se pot efectua calcule pentru a genera informaii care nu sunt e-mail: antaltiberiu@pcnet.ro stocate direct n tabele. Interog|rile pot fi vizualizate, la fel ca i tabelele, n mod foaie de date sau n cel de proiectare.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. interogare vizualizata n mod foaie de date 7 interogare vizualizat| n mod proiectare Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: O interogare cu parametru (Parameter Query) este cea care cere introducerea unui criteriu din partea utilizatorului n mod interactiv. Cnd utilizatorul lanseaz| interogarea aceasta va ANTAL Tiberiu Alexandru afia o fereastra de dialog sau mai multe pentru introducerea criteriilor necesare. Un exemplu 7 tel.: 0040-264-530918 simplu ar fi domeniul datelor pentru care se dorete aflarea vnz|rilor. e-mail: antaltiberiu@pcnet.ro
Deschiderea un ei Ce este o interogari n mod interogare proiectare cu parametru?

deschidei fereastra bazei de date (Database Window); efectuai clic pe butonul Queries; efectuai clic pe butonul Design din fereastra bazei de date.

39

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| Cluj-Napoca de vizualizare foaie de date (Datasheet View) din din modul Schim bareaConstrucii de Maini pe simbolul grafic mod de proiectare (Design View) din Facultatea efectuai clic modului de Mecanic| i Programare Catedra de bara de instrumente sau vizualizare Curs de baze de date Microsoft Access de proiectare (Design View) efectuai clic pe din modul simbolul foaie de date (Datasheet View) din bara de instrumente. Copyright 2000. Toate drepturile sunt rezervate autorului.

Introducere n formulare (Forms) Multiplicarea acestui document n scop comercial este interzis|. Formularele (Forms) asigur| o prezentare prietenoas| a datelor din Ce sunt baz|. Modurile de utilizare ale formularelor sunt pot multiplica acest Sudenii participani la orice form| de nv||mnt superior bugetar multiple: ad|ugare, formularele? document pentru uzultergere sau modificare de date; afiarea datelor; controlul modului i a personal. ordinii n care utilizatorul are acces la date; afiarea de mesaje; tip|rirea de informaii.la orice form| formularele se pot folosi pentru alc|tuirea unui sistem Sudenii participani De asemenea, de nv||mnt cu plat| sau alte persoane doritoare de meniuri pentru ghidarea utilizatorului prin oricecu acordul scris al autorului. nse pot multiplica documentul numai contra cost i operaii dorite. Toate formularele acest bazeaz| putei contact| la: scop m|pe datele unuia sau mai multor tabele a c|ror structur| r|mne neafectat| de modalitatea de prezentarea vizual| a formularului. ANTAL Tiberiu Alexandru Tipuri de formulare tel.: 0040-264-530918 Un formular poate fi copia exact| e-mail: antaltiberiu@pcnet.ro a unui formular de pe hrtie, ca de exemplu o factur| sau un orar. O multitudine de tehnici de proiectare permit folosirea de stiluri i m|rimi diferite de caractere, imagini scanate, desene, butoane de comand| sau grafice, toate ntr-o palet| de culori variat|.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Microsoft Access pune la dispoziia utilizatorului Generatoare de Formulare (Form Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai de Wizard), cteva exemple, din baza contra cost i cu acordul scris al autorului. n acest scop NorthWind, rezultate prin date m| putei contact| la: folosirea acestor generatoare se ANTALn continuare: prezint| Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

40

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

41

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui formularn scop comercial este interzis|. Deschiderea unui document
Pentru a deschide Sudenii participani la orice selectai din Database Window butonul Forms; form| de nv||mnt superior bugetar pot multiplica un form ular document pentru uzul personal.

deschidei o baz| de date;

acest

selectai formularul care va fi deschis - mai jos Customer; efectuai clic dublu pe numele formularului sau Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare efectuai clic pe pe butonul Open din fereastra bazei de date (Database Window), iar pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest formularul se va deschide - aceasta este reacia implicit| n Access - fiind afiat pe ecran n scop m| putei contact| la: modul vizualizare (Form View). ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Vizualizarea nuzul personal. document pentru modul proiectare (Design View) Un formular poate s| fie format pe baza cmpurilor unui singur tabel sau pe baza cmpurilor din mai multe tabele. n ambeleform| de nv||mnt cu plat| sau cmpuri pot s| doritoare Sudenii participani la orice cazuri, toate sau numai o parte din alte persoane ocupe loc n spaiul formularului. Vizualizareacontra cost i cu acordul scris al autorului. n acest pot multiplica documentul numai n modul foaie de date (Datasheet View) permite afiarea datelor stocate nla: scop m| putei contact| tabel. Vizualizarea n modul proiectare (Design View) permite modificarea sau crearea obiectelor de pe suprafaa formularului. ANTAL Tiberiu Alexandru efectuai clic pe butonul Datasheet View din bara de tel.: 0040-264-530918 Pentru a com uta instrumente standard (standard toolbar) sau e-mail: antaltiberiu@pcnet.ro pe vizu alizarea n selectai din meniul aplicaiei Access pe View, apoi mod foaie de date DatasheetView.

42

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului.de acest efectuai clic pe pictograma Design View din bara n Pentru a com uta scop m| putei contact| la: instrumente standard sau pe vizu alizarea n selectai View din meniul aplicaiei Access, apoi Design View. mod proiectare ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.
Pentru a com uta pot multiplica documentul numai standardcost i cu acordul scris al autorului. n acest instrumente contra sau pe vizu alizarea n scop m| putei contact| la: selectai View din meniul aplicaiei Access, apoi Form View. mod formular

Sudenii participani la orice efectuai clic pe pictograma Form View din bara de form| de nv||mnt cu plat| sau alte persoane doritoare

ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

43

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

nchiderea unui formular


Pentru a nchide un form ular

efectuai clic pe butonul Close (vezi figura anterioar|) al formularului sau selectai din meniul aplicaiei Access, File, apoi Close sau selectai Close (vezi figura anterioar|) din meniul de Control al formularului (n stnga sus) sau Conf. dr. ing. ANTAL Tiberiu Alexandru ap|sai Ctrl+F4. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Introducerea Catedra de Mecanic| i Programare n rapoarte (Reports) Rapoartele sunt modul tradiional de vizualizare a rezultatelor din bazele de date. Dei se pot Curs de baze de date Microsoft Access vizualiza i pe ecran, de regul| sunt create pentru a fi listate la imprimant|. Vizualizarea unui raport pe ecran, nainte drepturile sunt rezervate autorului. Copyright 2000. Toatede tip|rire este binevenit|, fiind posibil| ajustarea marginilor raportului pentru ca acesta s| intre n pagina hrtiei ct mai bine. Odat| cu evoluia tehnicilor de programare, rapoartele au trecut de faza n care plictisesc, acum fiind posibil ca un raport Multiplicarea acestui document n scop comercial este interzis|. s| conin| sigla firmei sau alte desene, grafice sau imagini. Avantajul major al rapoartelor const| n participani grup|rii, form| de nv||mnt superior bugetar pot multiplica acest Sudenii posibilitatea la orice sort|rii i realiz|rii de totale pentru oricare dintre cmpurile bazei rezultnd posibilitatea gestion|rii de cantit|i mari de date sub o form| de prezentare document pentru uzul personal. accesibil|. Dac| raportul are mai multe pagini exist| posibilitatea navig|rii printre pagini i m|ririi unor zone ale la orice form| de numai n faza plat| sau alte lui. Atunci cnd nu Sudenii participaniraportului, asta ns| nv||mnt cude vizualizare apersoane doritoare avem prea multa experinta n Access, dar suntem cu acordul scris cu editorul de texte 7 -7 - pot multiplica documentul numai contra cost ict de ct obisnuitial autorului. n acest Word, exista posibilitatea exportului unui raport n editorul de texte al formei Microsoft sau n 7 scop m| putei contact| la: Excel. Aici, posibilita-ile de aranjare n pagina si de mbunata-ire a imaginii documentului 7t 77 7t (raportul Tiberiu Alexandru ANTAL Access) sunt mult mai avansate si mai simplu de folosit dect n cazul rapoartelor Access. n general, rapoartele pot fi exportate si n alte tipuri de formate, cteva dintre acestea tel.: 0040-264-530918 sunt: Ricth Text Format (RTF), e-mail: antaltiberiu@pcnet.ro HTML sau text obisnuit. n figurile care urmeaza prezint cteva tipuri de rapoarte extrase din baza de date Nortwind. 7

44

Introducere n Microsoft Access: moduri de vizualizare - cursul 2

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

45

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 3 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! de ce este necesar| pornirea fazei de proiectare pe hrtie cu creionul; Copyright 2000. Toate drepturile sunt rezervate autorului. ! cum se creeaz| o baz| de date nou| folosind Generatorul de Tabele (Table acestui document n scop comercial este interzis|. MultiplicareaWizard); ! cum se adaug| cmpuri folosind Generatorul de Tabele; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ! cum se redenumesc document pentru uzul personal. cmpuri folosind Generatorul de Tabele; ! cum se creeaz| un tabel f|r| Generator; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ! cum se adaug| cmpuri f|r| cost i cu pot multiplica documentul numai contraGenerator; acordul scris al autorului. n acest scop m| putei contact| la: tipul de date al cmpurilor; ! cum se definete ! cum se descrie ANTAL Tiberiu Alexandru semnificaia cmpului; tel.: 0040-264-530918 ! cum se salveaz| un tabel nou; e-mail: antaltiberiu@pcnet.ro ! cum se folosete Generatorul M|tilor de Intrare (Input Mask Wizard); ! ! ! cum se editeaz| Masca de Intrare; cum se definete Cheia Primar| (Primary Key); cum se adaug| nregistr|ri tabelului vizualizat n mod foaie de date.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

46

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| dinProiectarea bazei de date Cluj-Napoca Metoda clasic| i sigur| de Maini a unei baze de date pentru persoanele f|r| experien| Facultatea Construcii de proiectare este hrtia iMecanic|Timpul petrecut n aceast| faz| se justific| pe m|sur| ce procesul de Catedra de creionul. i Programare dezvoltare al bazei de date se aprofundeaz|. Trecerea direct| la lucrul pe calculator va duce de Curs de baze de date Microsoft Access multe ori la greeli de concepie care vor fora reproiectarea bazei pornind de la nceput. Cmpurile din baz| trebuie documentate pentru ca n cazul unor dezvolt|ri ce se vor face dup| Copyright 2000. Toate drepturile sunt rezervate autorului. luni de zile s| nu "intuim" ceea ce am f|cut cndva. La nceput tim doar ceea ce dorim s| facem i ceea ce avem la dispoziie, apoi trecem la g|sireainterzis|. care se obine ceea ce Multiplicarea acestui document n scop comercial este c|ilor prin dorim cu ceea ce avem. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Ce ntreb|ri neuzul personal. document pentru punem? n rezolvarea sarcinilor dificile legate de proiectarea bazelor de date exist| un grup de ntreb|ri participani la orice form| pune sau le pune plat| sau alte persoane doritoare Sudenii care pe care proiectantul i lede nv||mnt cuutilizatorului bazei de date. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Trebuie scop m| putei contact| la: stabilit de ce se dorete baza de date i ce se ateapt| de la ea. Ce se dores te? Aici cel mai important este definirea rezultatelor, adic| a ieirilor pe care aceasta le produce. Problemele serioase apar pentru c| muli ANTAL Tiberiu Alexandru proiectani decid asupra coninutului bazei de date f|r| s| tie exact ceea ce trebuie s| fac| tel.: 0040-264-530918 aceasta. e-mail: antaltiberiu@pcnet.ro Cunoscnd ceea ce se dorete se pot analiza datele disponibile pentru a Ce avem la decide asupra modului de structurare n termeni de tabele i dispozit ie? cmpuri.
Ce este de fa cut? 7

Aceast| ntrebare cere proiectantului s| g|seasc| toate prelucr|rile necesare pentru obinerea ieirilor dorite: c|ut|ri, sort|ri i calcule. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea a ceea ce Cluj-Napoca ClarificareaTenhic| din dorim Facultatea Construcii de Mainifiguri geometrice n care scriem denumirile obiectelor ce n aceast| faz|, pe hrtie desen|m Catedran naraiunea subiectului de rezolvat, eventual putem ncerca s| schi|m pe hrtie intervin de Mecanic| i Programare Curs de baze dentr-o Microsoft Access fluxurile de date date form| foarte sintetic|. Dac| baza de date este proiectat| pentru altcineva, ar|tai aceste desene persoanelor n cauz| pentru ca s| fii convini c| ai neles Copyright 2000. Toate drepturile sunt rezervate autorului. corect problema de rezolvat. Multiplicarea acestui document n scop De exemplu, Vasile este patronul unei mici comercial este interzis|. firme de calculatoare. El cump|r| produse de Sudenii participani la orice form| de nv||mnt superior bugetarMagazinul esteacest la furnizori. Are angajai. pot multiplica document pentru uzul personal. structurat pe categorii de produse (pl|ci de baz|, microprocesoare, memorii, discuri, Sudenii participani la orice form| de nv||mnt cuetc.). Comenzile pentru clieni imprimante plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul sau maiautorului. n acest pot fi pentru unul scris al multe produse. scop m| putei contact| la: Firma fiind mic| nu ine marf| pe stoc, ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro produsele fiind cump|rate de la furnizori numai pe baz| de comenzi.

Reguli generale de proiectare


Tabelele sunt formate din coloane (cmpuri), fiecare coninnd o informaie specific| (de exemplu: nume_client, pre) i rnduri (n unele c|ri numite i linii sau nregistr|ri) care colecteaz| toat| informaia particular| despre o persoan|, un loc sau despre ceva n general.

47

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandruinformaiile care descriu o problem| ntr-un Tentaia general| este aceea de a pune toate Universitatea Tenhic| din Cluj-Napoca cmpuri din acest motiv. Un astfel de rnd (linie) singur tabel, care ar avea un num|r mare de Facultatea Construcii de Maini este cel prezentat n continuare: Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Acest mod de abordare are cteva deficiene: Sudenii participani la orice date: de cte ori acelai client face o nou|pot multiplica acest 1. conduce la dubluri de form| de nv||mnt superior bugetar comand|, numele i documentse vor repeta n baz|. Stocarea aceluiai nume i a aceleiai adrese n mod repetat adresa lui pentru uzul personal. (redundana datelor) va duce la risip| de spaiu i, n plus, se pot face uor greeli, de Sudenii participaniadresa clientuluide nv||mnt cu eronatsau alte persoane doritoare exemplu, numele sau la orice form| pot fi reintroduse plat| din motive de neatenie; pot multiplica documentul numai contra cost i cu acordul scris al le va comanda acest 2. nu exist| o metod| de predicie a num|rului de articole pe care autorului. n clientul, scop m| putei suntem tentai s| introducem un num|r mare de cmpuri Nume articol x, din acest motiv contact| la: Cantitate x, Pret x i din nou apare risipa de spaiu; ANTAL Tiberiu Alexandru care se pot calcula uor din celelalte date stocate n baz|, un 3. se stocheaz| n baz| date tel.: 0040-264-530918 astfel de cmp este Total. e-mail: antaltiberiu@pcnet.ro Pentru minimizarea num|rului acestor probleme se realizeaz| o etap| numit| normalizare care const| n organizarea cmpurilor n tabele i definirea relaiilor ntre tabele prin intermediul cmpurilor. Teoria matematic| a normaliz|rii este riguroas| i complicat|, dar testele care se pot aplica pentru a verifica dac| proiectarea bazei s-a f|cut corect sunt simple i se prezint| n continuare sub forma unor reguli.
Unicitatea Universitatea Tenhic|un cmp sau o grupare din Cluj-Napoca ntregistra rilor 7 Facultatea Construcii de Maini

Conf. dr. ing. ANTALFiecare tabel ar trebui s| aib| o cheie primar|. O cheie primar| este Tiberiu Alexandru de cmpuri care permite identificarea n mod unic a nregistr|rilor. Cheia primar| se definete de c|tre proiectant i Catedra de Mecanic| i Programare nregistr|rilor. Dac| l|sai Access-ul s| defineasc| asigur| unicitatea Curs primar| el va introduce un cmp num|r|tor (numit Counter Field n Access 95 i de baze de date Microsoft Access cheia AutoNumber de la Access 97 n sus) la nceputul fiec|rei nregistr|ri. Valoarea acestuia se va Copyright 2000. Toate drepturile unei nregistr|riautorului. Dei aceast| metod| incrementa automat la introducerea sunt rezervate noi n tabel. garanteaz| unicitatea nregistr|rii, ea nu asigur| neap|rata distincie a dou| nregistr|ri, cu Multiplicarea acestui document n scop comercial este interzis|. execepia valorii stocate n cmpul num|r|tor. Sudenii participani la orice form| de nv||mnt informaiebugetar tabel, ea trebuie acest Dac| s-a repetat acelai tip de superior ntr-un pot multiplica pus| uzulntr-un alt tabel. Este posibil ca ntr-un tabel s| avem, pe lng| alte personal. cmpuri, cmpurile: Adresa1, Adresa2, Telefon1, Telefon2, Sudenii participani la orice. form| de nv||mnt cu plat| sau alte persoane doritoareiar Mobil Se observ| c| tipul de informaie Adresa se repet| de 2 ori pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest tipul de informaie Telefon de 3 ori. Aceste cmpuri vor fi separate din tabelul n cauz| i scop m| putei contact| la: Pentru exemplul prezentat n figura anterioar| astfel de vor fi stocate n tabele diferite.

Unicitatea pentru document cmpurilor

cmpuri sunt Nume articol x, Cantitate x, Pret x. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Fiecare cmp dintr-o nregistrare trebuie s| fac| parte din subiectul C m pu rile e-mail: antaltiberiu@pcnet.ro nregistr|rii. Dac| nu este aa atunci, fie este redundant, fie face parte
trebuie sa fie 7 dependen te funct ional -

dintr-un alt tabel.

48 C m pu rile Universitatea Tenhic|f|r| afectarea altor din Cluj-Napoca trebuie sa fie 7 Facultatea Construcii de Maini independen te

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTALTrebuie s| fie posibil| modificarea oric|rui cmp al unei nregistrari Tiberiu Alexandru 7 cmpuri.

Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Pentru exemplul anterior, cmpul Total nu trebuie calculat i stocat Cmpurile nu pot Copyright 2000. Toate drepturile sunt rezervate autorului. cnd se tip|rete un raport sau n baz|, el se poate calcula numai atunci cont ine date se deschide un formular. derivate Multiplicarea acestui document n scop comercial este interzis|. Ar fi util ca, de exemplu, oraul, adresa i telefonul unui client s| fie Datele sa fie 7 document pentru uzulstocate n cmpuri separate pentru ca s| se poat| realiza analize bazate personal. s to ca te su b fo rm a logica elementara 7 7 pe coninutul lor. De exemplu, v| putei ntreba ci clieni din oraul Sudenii participani la orice form| de pl|ci de baz|. Pentru acetia cmpul oradoritoare Cluj au cump|rat nv||mnt cu plat| sau alte persoane va conine pot multiplica documentul numai contra oraul, cu acordul scris al autorului. "gr|mad|" valoarea Cluj. Dac| cost i adresa i telefonul sunt puse la n acest scop m| putei contact| la: pe baza unei poriuni din valorile stocate ntr-un cmp devine ntr-un singur cmp, analiza dificil|. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Determinarea relaiilor e-mail: antaltiberiu@pcnet.ro de date trebuie s| decidem asupra modului de alc|tuire a Dup| ce se cunosc tabelele bazei relaiilor dintre acestea. Desenul realizat anterior va ajuta n parcurgerea acestei etape. Exist| trei tipuri de relaii: unu-la-unu (one-to-one), unu-la-muli (one-to-many) i mulila-muli (many-to-many). n proiectul final ns|, relaiile muli-la-muli trebuie s| dispar| i s| fie nlocuite prin crearea unui tabel adiional rezultnd dou| tabele unu-la-muli. Analitii de sistem folosesc notaii diferite pentru descrierea relaiilor. n Microsoft Access se folosesc Conf. dr. ing. ANTAL Tiberiu Alexandru urm|toarele notaii: Universitatea Tenhic| din Cluj-Napoca o linie indic| o relaie ntre dou| tabele; Facultatea Construcii de Maini un 1 la cap|tul unei linii marcheaz| partea de unu din relaie; Catedra de Mecanic| i Programare simbolul 4 la cap|tul unei linii marcheaz| partea de muli din relaie. Curs de baze de date Microsoft Access Copyright Teoria proiect|rii bazelor de date relaionale 2000. Toate drepturile sunt rezervate autorului. Modalitatea prezentat| pentru proiectarea unei baze de date relaionale a fost laic| avnd intenia de a nu speria document n scop comercial ce interzis|. Multiplicarea acestuicititorul. Pentru c| n esen| totesteurmeaz| depinde de aceast| etap| voi relua fazele proiect|rii ntr-o form| mai teoretic|. Din teoria relaional| dezvoltat| de Codd, ale c|rei reguli la orice form| de nv||mnt pot identifica urm|toarele categorii de Sudenii participani au fost prezentate n cursul 1, sesuperior bugetar pot multiplica acest probleme: document pentru uzul personal. Tabele, unicitate, chei i domenii; Relaii; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Normalizarea datelor; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Reguli de integritate. scop m| putei contact| la: ANTAL Tiberiu Alexandru domenii Tabele, unicitate, chei i tel.: 0040-264-530918tabelele, sunt o reprezentare a unor entit|i din lumea real|. Fiecare n modelul relaional, e-mail: antaltiberiu@pcnet.ro tabel trebuie s| reprezinte o colecie de un singur tip de entitate. Entit|ile pot fi obiecte, procese sau evenimente din lumea real|. De exemplu, un astfel de obiect poate fi un client, o factur|, un produs etc. Dup| Regula nr. 1 toate datele trebuie stocate n tabele, iar dup| Regula nr. 2 tabelul trebuie s| fie constituit din rnduri i coloane unice. Modalitatea de garantare a unicit|ii fiec|rui rnd este cheia primar| (Primary Key) - o coloan| sau un grup Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest

49

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru de coloane care conin valori unice pentru fiecare rnd din tabel. Access-ul permite setarea Universitateai cheie primar| dac| tabelul este vizualizat n mod proiectare. Toate cmpurile unui cmp ca Tenhic| din Cluj-Napoca Facultatea Construcii de numesc chei candidat (candidate keys), dintre acestea va fi cu valori unice din tabel se Maini Catedra de Mecanic| i Programare aleas| cheia primar|. O cheie simpl| (simple key) este format| dintr-o singur| coloan|, una Curs de baze de date Microsoft Access multe coloane. compus| (composite key) din dou| sau mai Copyright 2000. Toate drepturile sunt rezervate autorului. urm|rim contactele dintr-o S| presupunem c| dorim s| realiz|m o baz| de date prin care s| firm|: Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Privind datele de mai sus chei candidate ar putea fi: Nume Contact, Telefon1 Contact ANTAL Tiberiu Alexandru sau E-mail Contact. O regul| de bun sim este ca cheia s| fie ct mai simpl|, ct mai tel.: 0040-264-530918 modifice n timp. Numele unei persoane se poate modifica n caz de unic| posibil i s| nu se e-mail: antaltiberiu@pcnet.rosunt posibile i pentru numerele de telefoane sau adresele de c|s|torie sau divor, modific|ri e-mail. n acest caz, Access-ul permite folosirea unui cmp de tipul AutoNumber pe post de cheie primar|. Acest tip de cmp genereaz| o valoare numeric| care se incrementeaz| automat la fiecare ad|ugare a unei nregistr|ri (rnd) noi. Cheia primar| devine important| atunci cnd dorim s| o folosim n alte tabele, dup| cum se observ| n figura al|turat|: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Se observ| c| se poate stoca cheia primar|, IDContact, a unui tabel, TContacte, ntr-un alt Multiplicarea TTipContact, pentru nreprezenta nregistrarea n acest tabel nou. Acest cmp tabel, mai sus, acestui document a scop comercial este interzis|. introdus forat n noul tabel, se va numi cheie str|in| fiind baza pe care formeaz| relaiile Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ntre tabele. O cheie str|in| este deci o coloan| care refer|, prin valorile ei, cheia primar| document pentru uzul personal. dintr-un alt tabel. Este important ca cele dou| chei s| aib| aceeai semnificaie i s| derive din acelai domeniu. Domeniile reprezint| o mulime comun| de valori din care coloanele iau Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare valori. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Relaii

Cnd definii cheile primare i cele str|ine, definii n realitate relaii. Dup| Regula nr. 4 ANTAL Tiberiu Alexandru relaiile trebuie s| fie intergrate la nivelul motorului bazei de date. Access-ul poate lucra cu tel.: 0040-264-530918 urm|toarele tipuri de relaii: e-mail: antaltiberiu@pcnet.ro unu la unu (11); unu la muli (1M); muli la muli (MM).

50

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Relaii unu la unu Universitatea Tenhic| din Cluj-Napoca pentru fiecare rnd dintr-un tabel, exist| cel mult Dou| tabele sunt n relaie unu la unu, dac| Facultatea Construcii relaiei. n practic| relaiile unu la unu sunt rare, o astfel de relaie se unul, n cel|lalt tabel al de Maini Catedra de general, pentru a ocoli unele neajunsuri ale software-ului SGBDR i ca o va nate, n Mecanic| i Programare Curs de baze de situaii din lumea real|. n Access, o relaie 11, se poate nate din motive necesitate a unei date Microsoft Access de securitate ale unor cmpuri dintr-un tabel sau din cauz| c| num|rul de coloane este limitat Copyright 255. Toate drepturile sunt rezervate autorului. la cel mult 2000. Multiplicarea muli document n scop comercial este interzis|. Relaii unu la acestui Este cea mai comun| relaie i apare cnd un tabel are zero, una sau mai multe rnduri Sudenii participani la orice form|pentru fiecare nregistrare din cel de al doilea tabel acest corespunz|toare n cel|lalt tabel, dar de nv||mnt superior bugetar pot multiplica exist| document pentru uzulprimul tabel. Aceste relaii mai sunt numite i copil-p|rinte. exact un singur rnd n personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Relaii muli la muli pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dou| tabele au o relaie muli la muli cnd pentru fiecare rnd din primul tabel pot fi mai scop m| putei contact| la:pentru fiecare rnd n cel de al doilea tabel, pot fi mai multe multe rnduri n al doilea i rnduri n primul tabel. Majoritatea SGBDR nu permit modelarea direct| a relaiilor MM, ANTALi Access-ul. Pentru a modela aceast| relaie ntre dou| tabele, este nevoie de un al aa este Tiberiu Alexandru tel.: 0040-264-530918 de leg|tur|. treilea tabel, numit tabel e-mail: antaltiberiu@pcnet.ro

Normalizarea datelor
Regulile enunate de Codd i prezentate anterior (Unicitatea ntregistrarilor , C m pu rile trebuie sa fie dependente functional etc.) ntr-o form| ct mai accesibil| vor fi reluate n continuare sub o form| mai tehnic|. S-a spus c| acest proces de proiectare a bazei de date conform acestor reguli poart| denumirea de normalizare. Codd a enunat ase nivele de normalizare, n continuare se vor prezenta primele trei, acestea fiind cele care afecteaz| Conf. dr. ing. ANTAL Tiberiu bazei de date: esenial deciziile de proiectare a Alexandru Universitatea Tenhic| din Cluj-Napoca Prima Form| Normal| (1NF); Facultatea Construcii de Maini A Doua Form| Normal| (2NF); Catedra de Mecanic| i Programare A Treia Form| Normal| (3NF). Curs de baze de date Microsoft Access Prima Form| Normal| Copyright 2000. Toate drepturile sunt rezervate autorului. 1NF spune c| toate coloanele unui tabel trebuie s| conin| valori atomice. Adic|, fiecare cmp poate conine numai o valoare de un singur tip, respectiv listele de valori i grupurile de Multiplicarea acestui document n scop comercial este interzis|. date repetitive sunt interzise. Bazele de date "flat" stocheaz| datele ignornd aceast| regul| motiv pentru care c|utarea n ele poate deveni greoaie uneori. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Tabelul TContacte nu este n 1NF: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Tabelul TContacte1 este n 1NF, dar nu este n 2NF:

51

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. A Doua Form| Normal| Sudenii care este pus n 1NF se zice c| este n 2NF dac|plat| sau alte persoane doritoare Un tabel participani la orice form| de nv||mnt cu toate cmpurile care nu sunt chei pot multiplica documentul numai contra alte cuvinte tabelul scris al s| stocheze date legate sunt total dependente de cheia primar|. Cu cost i cu acordul trebuie autorului. n acest scop m| putei contact| la:iar acea entitate trebuie s| fie complet descris| de cheia ei numai de o singur| entitate, primar|. Dac| consider|m o cheie primar| compus| din cmpurile: IDContact, ANTAL Tiberiu Alexandru IDInfoContact i Info Contact, se observ| c| Nume Contact nu este dependent| de tel.: 0040-264-530918 cmpurile IDInfoContact i Info Contact ale cheii primare. Pentru c| este dependent| e-mail: antaltiberiu@pcnet.ro cheia primar|, tabelul nu este n 2NF. Pentru a-l pune n numai de cmpul IDContact din 2NF, se pune toat| informaia legat| de contact ntr-un tabel nou, TContacte1, i vom stabili o relaie de tipul 1M ntre cele dou| tabele. Cele dou| tabele puse n 2NF sunt prezentate n continuare.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro A Treia Form| Normal| Cele dou| tabele sunt n 2NF, dar nu i n 3NF. Un tabel este n 3NF dac| este n 2NF i toate cmpurile necheie sunt mutual independente. Un exemplu bun de astfel de dependen| este un cmp calculat. Dependene care nu rezult| n urma calculelor pot, de asemenea, s| existe ntre cmpurile unui tabel. n tabelul TContacte1 se stocheaz| cmpurile IDInfoContact i Tip

52

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr..ing. ANTAL atunci cnd se cunoate valoarea lui IDInfoContact se cunoate Contact Observai c| Tiberiu Alexandru Universitatea Tenhic|Tip Cluj-Napoca acest motiv tabelul nu este n 3NF. Pentru a automat i valoarea lui din Contact, din Facultatea Construcii de Maini ajunge la 3NF tabelul TContacte1 trebuie spart n dou| tabele, TContacte1 i TTipContact, ntre Catedranou Mecanic|oi Programare care din de va exista relaie 1M creat| pe baza cmpului IDInfoContact. Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Subfoi de date (subdatasheets)


Uneori, cnd se realizeaz| vizualizarea datelor dintr-o foaie de date, dorim s| vedem nregistr|rile, din alte tabele, care sunt n relaie cu cele ale tabeului curent. ncepnd cu

53

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing.n modul foaie de date, exist| posibilitatea vizualiz|rii ierahice a datelor. Access 2000, ANTAL Tiberiu Alexandru Universitatea Tenhic| pot fi selectate manual n momentul proiec|rii tabelului sau pot fi Subfoile de date afiate din Cluj-Napoca Facultatea Construciibaza relaiilor create ntre tabele. n cazul n care exist| o relaie, ntre determinate automat n de Maini Catedra de Mecanic| tabel din baza de date, Access va afi| o coloan| n stnga foii de date tabelul curent i un alt i Programare Curs depentrude date rnd. cu un + baze fiecare Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| face clic pe semnul + al unui rnd, nregistr|rile asociate din subfoia de date sunt Cnd se putei contact| la: afiate. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000.care se drepturile sunt rezervate autorului. Subfoaia de date Toate afieaz| se definete n modul proiectare al tabelului, fiind o proprietate a tabelului. Pentru afiarea propriet|ilor n mod proiectare selectai din View pe Multiplicarea acestui document n scop comercial este interzis|. Properties; propietatea care controleaz| afiarea foii de date este Subdatasheet Name. Implicit, aceasta are valoarea Auto caz n care numele subfoii de date afiate se face pe baza Sudenii create n bazala orice form| delui Auto, dac| se face clic pe proprietate n dreapta relaiilor participani de date. n locul nv||mnt superior bugetar pot multiplica acest document pentrujos. Dac| se face clic pe aceasta poate selecta din list| un alt tabel care s| apare o s|geat| n uzul personal. fie afiat la deschiderea subfoii de date. Implicit subfoile de date nu sunt expandate, Sudenii participani la orice form| de nv||mnt No.plat| sau alte este setat| doritoare proprietatea Subdatasheet Expanded avnd valoare cu Dac| aceasta persoane la Yes, pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest odat| cu deschiderea tabelului n modul foaie de date, vor fi deschise i subfoile de date. scop m| putei contact| Fields, Link Master Child se folosesc pentru legarea tabelului Proprietaile Link Child la: principal (Master) cu cel al subfoii de date (Child) n vederea afi|rii ei atunci cnd Access ANTAL deduce care sunt cmpurile celor dou| tabele pe baza c|rora se face leg|tura ntre nu poate Tiberiu Alexandru tel.:Probleme de acest fel apar cnd cmpuri pe baza c|roa Access face automat aceast| ele. 0040-264-530918 e-mail: antaltiberiu@pcnet.ro leg|tura sunt redenumite.

Reguli de integritate
Modelul relaional definete mai multe reguli, care nu sunt parte a formelor normale, dar sunt

54

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr.n orice baz| de date relaionale. Exist| dou| tipuri de reguli de integritate: generale necesare ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca i specifice bazei de date. Facultatea Construcii de Maini Catedra de Mecanic|generale Reguli de integritate i Programare Curs de baze de date Microsoft Access Modelul relaional specific| dou| tipuri integrit|i generale - care se aplic| la toate bazele de date: integritate de entitate i integritate referenial|. Integritatea de entitate spune c| o cheie Copyright poate coninedrepturile sunt rezervateIntegritatea referenial| spune c| o baz| de primar| nu 2000. Toate valori Null (inexistente). autorului. date nu are voie s| conin| chei str|ine care nu au o cheie primar| corespondent|. Aceasta Multiplicarea acestui document n scop comercial este interzis|. implic|: un rnd nu se poate ad|uga unui tabel cu o cheie str|in|, numai dac| valoarea referit| Sudenii tabelul respectiv; exist| n participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. care este referit printr-o cheie str|in| se modific| sau dac| o valoare ntr-un tabel ntreaga nregistrare este tears|, rndurile corespunz|toare din tabelul cu cheia str|in| nu Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare trebuie s| r|mn| orfane. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m|definiiilor din modelul relaional, trei opiuni sunt disponibile cnd o cheie primar| Pe baza putei contact| la: i schimb| valoarea sau rndul care o conine este ters: ANTAL Tiberiu modificarea este strict interzis|; Disallow: Alexandru tel.: 0040-264-530918 actualiz|ri, modificarea este propagat| n cascad| la toate tabelele Cascade: pentru e-mail: antaltiberiu@pcnet.ro din toate tabelele dependente vor fi terse i ele; dependente. La tergere, rndurile Nullify: pentru tergere, cheile str|ine dependente vor primi valoarea Null. Toate aceste opiuni se specific| n Access din fereastra de dialog Relationships, care se selecteaz| din meniul Relationships cu opiune Edit Relationship.... Opiunea devine activ| numai dac| dup| deschiderea ferestrei Relationships se va selecta o relaie prin clic pe linia ce leag| cele dou| chei. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Reguli de integritate specifice bazei de date Toate regulile de integritate care nu sunt de entitate sau refereniale se grupeaz| sub termenul specific bazei de date sau specific unei afaceri. Acest tip de regul| este specific| fiec|rei baze de date n parte i vine din regulile procesului care s-a modelat. Aceste reguli sunt la fel de

55

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing.i cele discutate pn| acum, ele opresc stocarea unor date false n baz|. importante ca ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Crearea Catedra de Mecanic| i Programare unei baze de date Parteade baze de date Microsoft Access Curs dificil| este proiectarea bazei de date, crearea fiind mult mai simpl|. Pentru unele aplicaii standard se poate folosi un Generator pentru a crea toate tabelele dup| care se poate trece la introducerea datelor n noilesunt rezervate autorului. este standard dorim s| Copyright 2000. Toate drepturile tabele. Uneori, dei aplicaia facem anumite modific|ri. Microsoft-ul a presupus c| toate |rile din lume folosesc aceleai compartiment|ri geografice, aceleai scop comercial telefoane, acelai sistem pentru codurile Multiplicarea acestui document n formate pentru este interzis|. potale etc. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Indiferent dac| aplicaia personal. f|r| Generator sau cu ajutorul acestuia, trebuie nelese document pentru uzul se creeaz| noiunile de tipuri de date, tabel i proprietate de cmp. De asemenea, trebuie st|pnite noiunile participani la oriceindex. Acestea sunt probabil cele mai dificile aspecte legate de Sudenii de cheie primar| i form| de nv||mnt cu plat| sau alte persoane doritoare crearea i ntreinerea unei baze de date. cost i cu acordul scris al autorului. n acest pot multiplica documentul numai contra scop m| putei contact| la: din meniul File selectai New Database sau Pentru a crea o baza de date 7 ANTAL Tiberiu Alexandru ap|sai Ctrl+N sau efectuai clic pe simbolul grafic New Database din bara de tel.: 0040-264-530918 instrumente e-mail: antaltiberiu@pcnet.ro standard (Standard toolbar).
Pentru a crea o baza de date 7 folosind Generatorul

efectuai clic pe simbolul grafic New din fereastra aplicaiei Access, aceasta va duce la afiarea cutiei de dialog New de forma:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest selectai simbolul grafic Blank Database din interiorul cutiei General ; document pentru uzul personal. efectuai clic dublu pe simbolul Blank Database i cutia de dialog File New Database va fi afiat| sub forma: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

56

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul de fiiercontra cost i iar dac| e cazul, comutai pe un alt director introducei un nume numai (File name), cu acordul scris al autorului. n acest scop m| putei contact| noii baze de date; (Folder) pentru stocarea la: apoi efectuai clic pe butonul ANTALiar ecranul se va modifica Create, Tiberiu Alexandru tel.: 0040-264-530918 ca n figura al|turat|, afind e-mail: antaltiberiu@pcnet.ro fereastra principal| a noii baze de date Access; numele de curs3, pe care l-am dat bazei de date se observ| n colul strnga sus; n fereastra bazei de date (Database Window) efectuai clic pe butonul Tables; Conf. dr. ing. ANTAL Tiberiu Alexandru apoi efectuai clic pe butonul Universitatea Tenhic| din Cluj-Napoca New. Facultatea Construcii de Maini n cutia de dialog New Catedra de Mecanic| iTable Table selectai opiunea Programare Curs de din list|: date Microsoft Access Wizard baze de Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 OK. clic pe butonul e-mail: antaltiberiu@pcnet.ro

Ad|ugarea de cmpuri folosind Generatorul de Tabele (Table Wizard)


clic pe unul din butoanele de opiuni n colul din stnga-jos al cutiei de dialog, putei selecta Business sau Personal;

57

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru selectai un tabel din lista Sample Tables; Universitatea Tenhic| din Cluj-Napoca ad|ugai prin clic pe numele cmpului n lista selectai un cmp pe care dorii s|-l Facultatea Construcii de Maini Sample Fields; Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access clic pe butonul de forma pentru a ad|uga cmpul n lista Fields in my new table; Copyright 2000. Toate drepturile sunt rezervate autorului. n figura care urmeaz| am selectat bazele de date cu caracter personal, prin butonul de opiune Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Addresses, care, fiind prima, se va selecta Personal, iar din lista afiat|, baza de date Facultatea Construcii de Mainia fost ad|ugat. automat. Apoi cmpul FirstName Catedra de Mecanic| unProgramare selectat din lista Sample Fields dispare automat i cnd se adaug| i cmp, articolul Curs de lista Fields in Microsoft Access Pentru a ad|uga noi articole putei s| efectuai clic apare n baze de date my new database. dublu pe articolul dorit; Copyright 2000. Toate drepturile sunt rezervate autorului.
Redenu mirea acestui document n scop comercial este interzis|. Multiplicarea in my new database; u nu i c m p clic pe butonul Rename Field din cutia de dialog iar pe ecran folosind Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Generatorul de se afieaz| cutia de dialog: document pentru uzul personal. Tabele

selectai cmpul pe care dorii s|-l redenumii din lista Fields

Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 nume n acest cmp apoi ap|sai butonul OK; introducei noul e-mail:dup| ce ai ad|ugat toate cmpurile (AddressID - AdreseID, FirstName antaltiberiu@pcnet.ro Prenume, LastName - Nume, SpouseName - Nume sotie, Address Adresa, City - Oras, Postal Code - Cod postal, Country -Tara) efectuai clic pe butonul Next, atunci se va afia urm|toarea pagin| a Generatorului de

58

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Tabele; Universitatea Tenhic|(text Cluj-Napoca you want to name your table? introducei n cutia de text din box) What do Facultatea Construcii de Maini numele sub care se va salva tabelul; Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru l|sa Generatorul s| selecteze o cheie primar|, dar dac| dorii n condiii normale vei tel.: 0040-264-530918 putei s| o facei dumneavoastr|; e-mail:clic pe butonul Next pentru a trece la urm|toarea pagin| a Generatorului; antaltiberiu@pcnet.ro ultima pagin| a Generatorului este afiat|. aici se poate accepta opiunea implicit| pentru trecerea direct la introducrea datelor n tabelul tocmai creat sau Conf. dr. ing.opiunea modific|rii exist| ANTAL Tiberiu Alexandru Universitatea tabel (table design) sau proiectului de Tenhic| din Cluj-Napoca Facultatea Construcii date n tabel se pot introduce de Maini Catedra de Mecanic|pe care pe baza unui formular i Programare Curs de baze de crea automat; Access Generatorul l va date Microsoft dup| selectarea opiunii dorite Copyright 2000.Finish. drepturile sunt rezervate autorului. se apas| butonul Toate Multiplicarea acestui document n scop comercial este interzis|. n tabel, ecranul va fi de Dac| ai selectat opiunea implicit| pentru introducerea datelor direct forma: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

59

Introducere n Microsoft Access: Tabele - cursul 3

Conf.ai fiing. ANTAL introducerea datelor n tabel prin formularul creat de Generator, Dac| dr. optat pentru Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca ecranul ar fi fost ceva de genul: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Crearea unui tabel f|r| Generator


Pentru a crea un tabel fara Generator

n Database Window clic pe butonul Table; clic pe butonul New; n cutia de dialog New Table, selectai Design View apoi clic pe butonul OK. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. tabelul va fi vizualizat form| de nv||mnt cum urmeaz|; Sudenii participani la oricen mod proiectare dup|cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

introducei numele de cmp dorit n celula nc| vid| aflat| imediat sub Field Name;

60

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL TiberiuNume, apoi ap|sai tasta Tab pentru a trece la urm|toarea de exemplu, ai putea introduce Alexandru Universitatea Tenhic| din Cluj-Napoca celul|; Facultatea Construcii de Maini Aceast| celul| se numete Tipul de Dat| (Data Type). Ea permite controlul tipului de Catedra de Mecanic| i Programare pe s|geata n jos pentru a afia lista tuturor opiunilor dat| care va fi stocat n acest cmp. Clic Curs de baze de date Microsoft Access posibile; Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m|caz tipul selectat la: Text. Dac|, de exemplu, n cmp dorii s| stocai valori n acest putei contact| este numerice, tipul selectat ar fi fost Number; ANTAL Tiberiu Alexandru a trece la celula urm|toare; ap|sai tasta Tab pentru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro acesta este un cmp opional al c|rui coninut explic| funcia cmpului n baza de date i care va fi folosit mai trziu n tabelele bazei;

Descrierea semnificat iei cmpului

ap|sai tasta Tab i vei putea ad|uga noi cmpuri, tipuri de date i descrieri n tabel; Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construciide Mainipe simbolul grafic Close n colul dreapta sus al ferestrei de clic Salvarea noului Catedra de Mecanic| proiectare al tabelului iar cnd vedei cutia de dialog care ntreb| dac| i Programare tabel Curs de baze de date Microsoft Access dorii s| salvai datele, clic pe butonul Yes;
A da ugarea de noi 7 cmpu ri

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. acum trebuie s| specificai numele tabelului; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro introducei numele dorit (Nume si virsta), apoi clic pe butonul OK; Access-ul i va oferi suportul pentru definirea unei chei primare;

61

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de o cheie primar|;plat| sau alte persoane doritoare clic pe butonul Yes pentru a crea nv||mnt cu n acest caz Access-ul va ad|uga un pot multiplica documentul numaide tipul AutoNumber care scris al autorului.de acest nou cmp n tabel cu numele ID i contra cost i cu acordul va aciona pe post n scop m| putei contact| nregistr|ri din tabel. Acest cmp poate fi folositor, dar este mai identificator unic al unei la: normal ca noi s| decidem care cmp sau combinaie va identifica unic o nregistrare din tabel ANTAL Tiberiu Alexandru i s| l facem cheie primar| nainte de salvarea tabelului; tel.: 0040-264-530918 vei vedea tabelul stocat ca un articol din lista Tables al bazei de date n acest moment e-mail: antaltiberiu@pcnet.ro (vezi figura urm|toare).

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

Definirea tipurilor de cmpuri ale unui tabel

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Exist| multe tipuri de date. La vizualizarea cmpurilor din baza de date n mod proiectare se document pentru uzul personal. pot vedea sub forma unei liste toate tipurile de date disponibile. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Text permite stocarea caracterelor alfanumerice sau a oric|ror alte caractere; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Memo la fel, permite stocarea de caractere alfanumerice, ns| spre deosebire de tipul Text unde lungimea este fixat|, aici lungimea cmpului este variabil| de la o ANTAL Tiberiu Alexandru nregistrare la alta. n practic| acest tip de dat| se folosete pentru comentarii, tel.: 0040-264-530918 note sau explicaii ale c|ror lungime este nedeterminat|; e-mail: antaltiberiu@pcnet.ro Number cmpurile de acest tip pot stoca numai valori numerice care pot fi ntregi sau reale. Diferitele tipuri de numere sunt detaliate n tabelul care urmeaz|:

62

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Denumire tip Domeniu Precizie n Universitatea Tenhic| din Cluj-Napoca de valori zecimale Facultatea Construcii de Maini Catedra de Mecanic| i Programare 255] Byte [0, fara 7 7 Curs de baze de date Microsoft Access Integer [-32768, 32767] fara 7 7 Copyright 2000. Toate drepturile sunt rezervate autorului. Long Integer [-2147483648, 21474836647] fara 7 7 valori ntregi Multiplicarea acestui document n scop, comercial este interzis|. Single [-3.4x1038 3.4x10 38 ] 7 valori reale

Spa iu de stocare 1 octet 2 octei 4 octei 4 octei

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Double [-1787x10308, 1787x10308,] 15 8 octei document pentru uzul personal. Sudenii participani la orice form| de de date sau ore. plat| sau alte persoane doritoare Date/Time tip folosit pentru stocarea nv||mnt cu Exist| o varietate de formate ale pot multiplica datei i timpului n care valorile de acest tip pot scris al autorului. n acest documentul numai contra cost i cu acordul fi specificate; scop m| putei contact| la: Currency tip folosit pentru dolari, lire, lei etc.; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 numeric| ce pleac| de la 1 i este incrementat| automat pentru AutoNumber o valoare e-mail: antaltiberiu@pcnet.ro nou|. Se folosete deseori ca tip pentru cheile primare; fiecare nregistrare Yes/No un tip de dat| logic. Se folosete pentru stocarea de valori Adev|rat/Fals, Da/Nu, Activ/Inactiv etc.;

OLE Object OLE nseamn| Object Linking and Embeeding. Aceste obiecte sunt desene, grafice, sunete etc. create cu alte aplicaii i care sunt stocate n cmpurile unui Conf. dr. ing. ANTAL Tiberiu Alexandrulegat (linked field) este remprosp|tat din tabel Access. Cnd un cmp Universitatea Tenhic| din Cluj-Napocaal aplicaiei originale, modific|rile sunt valabile n interiorul Access-ului sau Facultatea Construcii de Maini obiectul este numai inclus (embeed) remprosp|tarea se ambele aplicaii, dac| Catedra de Mecanic| i Programaren care s-au f|cut modific|rile; face numai n aplicaia Curs de baze de date Microsoft Access HyperLink tip pentru stocarea de hiperleg|turii URL (adrese Internet); Copyright 2000. Toate drepturile sunt rezervate autorului. LookUp Wizard permite crearea unui cmp prin care utilizatorul poate selecta o valoare Multiplicarea acestuidintr-un tabel diferitcomercial este interzis|. document n scop sau dintr-o list| de valori. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Propriet|ile cmpurilor document pentru uzul personal. Dup| ce ai decis asupra tipului de dat| pentru fiecare cmp, trebuie parcurse i propriet|ile asociate tipului. Num|rul i natura lor este dependent| de tip, iar n unele cazuri, efectund Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare clic n partea din dreapta proprietaii va ap|rea o s|geat| n jos sau un Constructor de Expresii pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest (Expression Builder). Clic pe s|geata n jos din dreapta va duce la afiarea unei liste de scop m| putei contact| la: posibilit|i. ANTAL Tiberiu Alexandru Field Size Definete tel.: 0040-264-530918 lungimea cmpului de text. Pentru un cmp numeric exist| 5 posibilit|i. n partea dreapt| se va afia un mesaj de ajutor cu privire la e-mail: antaltiberiu@pcnet.ro proprietatea curent|. Pentru cazul n care cmpul va fi asociat (joined) cu unul de tipul contor (AutoNumber) ntr-o relaie de tipul unu-la-muli este obligatorie selectarea tipului Long Integer;

63

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro de afiare a datelor i numerelor. Exist| un set de formate Format controleaz| forma predefinite care se pot selecta dintr-o list|; Input Mask asigur| un ablon - o masc| - pentru introducerea datelor. Pentru anumite tipuri de date se poate folosi un Generator de M|ti de Intrare (Input Mask Wizard); Conf. dr. ing. ANTAL va fi afiat ca denumire a cmpului n capetele de tabele, etichete de Caption text care Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca de rapoarte; pe formulare sau n antetele Facultatea Construcii de Maini CatedraValue Default de Mecanic|oi Programare valoare ce se insereaz| automat n cmp la crearea nregistr|rii; Curs de baze de date pentru tipurile numerice este setat| automat la 0. Utilizatorul poate Microsoft Access introduce oricnd o alt| valoare n locul acesteia; Copyright 2000. Toate drepturile sunt rezervate autorului. Validation Rule o expresie care controleaz| modul n care noile date sunt introduse n Multiplicarea acestuitabel; document n scop comercial este interzis|. Sudenii participani un orice form|afieaz| dac| regula de validare (Validation Rule)acest la text care se de nv||mnt superior bugetar pot multiplica a Validation Text document pentru uzul personal. nc|lcat|; datelor este Sudenii participani la orice form|o dat| trebuie obligatoriu sau alte persoane cmp; Required dac| are valoarea Yes de nv||mnt cu plat| introdus| n acest doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| aplic| numai pentru cmpurile de tipul Text, Memo i Hyperlink. Allow Zero Length se la: Permite stocarea valorii de ir cu lungimea zero (zero-length string) n ANTAL Tiberiu Alexandru cmp (valoarea se scrie n limbajul de programare al Access-ului ca o tel.: 0040-264-530918secven| de dou| ghilimele""). Aceasta este diferit| de valoarea Null pe e-mail: antaltiberiu@pcnet.ro care un cmp "o are" dac| nu s-a introdus nimic nc| n el; Indexed ajut| la creterea vitezei n c|ut|ri. Dac| credei c| vei efectua c|ut|ri repetate pe baza unui cmp trebuie s|-l indexai. Valorile sunt Nu (No), Da (Yes -

64

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiui Da (Yes - No Duplicates). Cheile primare sunt automat Duplicates OK) Alexandru Universitatea Tenhic| din Cluj-Napoca Indexed setat| pe No Duplicates. Un index este o indexate i cu proprietatea Facultatea Construcii de perechi (cheie, poantor), stocat| ntr-un fiier intern special, n secventa de Maini -7 Catedra de Mecanic| i Programare care fiecare poantor poanteaza o nregistrare din baza de date care contine 7 Curs de baze de date Microsoft Access cmp particular. Indexul este sortat pe baza valoarea cheii stocata ntr-un 7 valorilor din cheie pentru a permite cautarea rapida a unei valori particulare de 7 7 Copyright 2000. Toate drepturile sunt rezervate autorului. cheie (de exemplu, folosind algoritmul de cautarea binara). Index-ul este 7 7 folosit "inversat" n sensul ca valoarea cheii este utilizat| pentru gasirea 7 7 Multiplicarea nregistrarii n loc sa fie invers. Pentrueste interzis|. n care nregistrarile pot acestui document n scop comercial bazele de date 7 7 fi sortate pe baza a mai multor cmpuri se pot crea indexuri multiple care snt Sudenii participani pe oricevalorilor acelor chei. Un index poate contine goluri pentru a sortate la baza form| de nv||mnt superior bugetar pot multiplica acest document pentru uzuladaugarea de noi intrari pentru sortarea corecta fara a realiza personal. permite 7 7 7 7 7 deplasarea intrarilor care nu snt n pozitia corecta. Fereastra de indexuri se 7 7 Sudenii participani la orice form| de nv||mnt cu plat| n modul persoane doritoare poate vizualiza, individual, pentru fiecare tabel sau alte proiectare din View, pot multiplica Indexes. documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Proprietatea Masc| de Intrare

ANTAL Tiberiu Alexandru Dup| cum am mai spus asigur| un ablon pentru introducerea datelor. Este posibil ca tel.: 0040-264-530918 Generatorul M|tilor de Intrare (Input Mask Wizard) s| nu fie instalat ! e-mail: antaltiberiu@pcnet.ro
Lansarea Generatorului M a s tilor de 7Intrare

n modul proiectare al tabelului, selectai cmpul pentru care dorii s| definii o masc| de intrare. Din propriet|i selectai Input Mask apoi clic pe butonul cu cele 3 puncte de la cap|tul liniei m|tii Clic aici de intrare;

aceasta va afia Conf. dr. ing. ANTAL Tiberiu Alexandru Generatorul M|tilor de Intrare (vezi figura alaturata); 7 7 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini selectai formatul dorit apoi clic pe Next, Catedra de Mecanic| i Programare parcurgei intruciunile ecranelor intermediare, iar Curs de baze de date Microsoft Access cnd ajungei la cel final clic pe Finish; Copyright 2000. Toate drepturile sunt rezervate autorului. pentru editarea m|tii Editarea M a s tii 7de Intrare Multiplicarea acestui afiate de Generatorul document n scop comercial este interzis|. M|tilor de Intrare selectai masca form| de clic pe Edit Sudenii participani la oricedorit| apoi nv||mnt superior bugetar pot multiplica acest List. Realizai modific|rile dorite (eventual utiliznd document pentru uzul personal. sistemul de ajutor interactiv "on-line help") apoi activai i salvai modific|rile f|cute; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare clic pe meniul Help al acordul scris pot multiplica documentul numai contra cost i cu Access-ului; al autorului. n acest Pen tru det alii ale codu rilorputei contact| la: selectai Contents and Index; scop m| din selectai butonul Index; masc a 7 ANTAL Tiberiu Alexandru tastai InputMask Property; clic pe butonul Display. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Stabilirea cheii primare


Cheia primar| identific| unic fiecare nregistrare din tabel i asigur| urm|toarele avantaje: un index este creat automat pentru cheia primar|. Aceasta crete viteza n citirea i sortarea datelor. Deseori cheia primar| este folosit| n stabilirea relaiilor;

65

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru de date (Datasheet) sunt afiate n ordinea nregistr|rile ntr-un formular sau foaie Universitatea primare; din Cluj-Napoca valorilor cheii Tenhic| Facultatea Construciidublarea unor nregistr|ri fiind garantat| unicitatea lor. nu este posibil| de Maini Catedraprimar| se formeaz| din unul sau mai multe cmpuri. O cheie de Mecanic| i Programare Curs de baze de date Microsoft Access vizualiznd Tabelul n mod proiectare (Table Design View), Setarea unui Copyright 2000. Toate drepturile sunt rezervate autorului. selectai cmpul care va fi f|cut cheie primar|. Efectuai fie clic cmp ca s i Cheie undeva pe cmp fie pe selectorul din stnga numelui de cmp; Primara Multiplicarea acestui document n scop comercial este meniul Edit sau selectai Primary Key din interzis|. clic pe simbolul grafic Primary Key din bara de instrumente Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest standard. document pentru uzul personal.
Setarea mai Sudenii participani la orice form| de nv||mnt cu plat| sau altelui. inei ap|sat| tasta selectai primul cmp prin selectorul din stnga persoane doritoare mu ltor cmpuri pot multiplica documentul i clic pe fiecare selector al cmpurilor dorite; Ctrl numai contra cost i cu acordul scris al autorului. n acest ca s i Cheie scop m| putei contact| la: selectai Primary Key din meniul Edit sau Primara

vizualiznd Tabelul n mod proiectare (Table Design View),

clic pe pictograma Primary Key din bara de instrumente ANTAL Tiberiu Alexandru standard. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Salvarea unui Tabel

Pentru salvarea unui tabel

selectai Save din meniul File; dac| salvai tabelul pentru prima oar|, tastai un nume n cutia Table Name, apoi ap|sai Enter i clic pe OK. Access-ul d| automat un nume tabelului la prima lui salvare. Deoarece acest nume nu descrie semnificativ tabelul, el trebuie ntotdeauna schimbat ntr-unul mai sugestiv. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Ad|ugarea de nregistr|ri unui Tabel vizualizat n modul Catedra de Mecanic| i Programare foaie de date Microsoft Access Curs de baze de date Dup| ce ai terminat etapa de proiectare a tabelului se pot ad|uga nregistr|ri n acesta prin comutarea 2000. Toate drepturile foaie de date (Datasheet View). Copyrightpe vizualizarea n modul sunt rezervate autorului. Dac| nc| tabelul nu este salvat, Access va ntreba dac| dorii s|-l salvai. Toate foile de date Multiplicarea acestui document n scop comercial este interzis|. i formularele au o ultim| nregistrare vid| indicat| de un asterisc (*) pe coloana selectorului de nregistr|ri (n stnga primului cmp). nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice form| de n cazul unui tabel nou aceasta este singura nregistrare. document pentru uzul personal.

Pentru ad a ugarea 7 introducei o valoare apoi ap|sai Tab pentru trecerea acest pot multiplica de nregistra ri documentul numai contra cost i cu acordul scris al autorului. nla 7 cmpul scop m| putei contact| la: unu i tabel n mod urm|tor, foaie de date

Sudenii participani la orice poziionainv||mnt primul cmp al nregistr|rii vide; form| de cursorul n cu plat| sau alte persoane doritoare

repetai ANTAL Tiberiu Alexandru tel.: 0040-264-530918 procedura pentru antaltiberiu@pcnet.ro e-mail:toate cmpurile; cnd ai ajuns la ultimul cmp, ap|sarea tastei Tab mut| cursorul pe primul cmp al unei noi nregistr|ri vide. Access va

66

Introducere n Microsoft Access: Tabele - cursul 3

Conf.nregistrarea curent| numaiAlexandru pe urm|toarea nregistrare, care acum este din salva dr. ing. ANTAL Tiberiu la deplasarea Universitatea Tenhic| din Cluj-Napoca nou una vid|. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Utilizarea formatelor Copyright 2000. Toate drepturile sunt rezervate autorului. Proprietatea Format, dupa cum am mai spus, permite afisarea datelor sub o forma diferita de 7 7 7 secventa originala de caractere folosita la introducerea datelor. Formatele variaza n functie de 7 7 7 Multiplicarea acestui document n scop comercial este interzis|. tipurile de date folosite. Unele tipuri de date au formate predefinite, altele, nu au si trebuie definite de utilizator, iar n unele cazuri sunt posibile ambele situatii. Formatele nu actioneaza Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest7 asupra modului de stocare a datelor n tabele ci influenteaza numai modul de afisare al lor. - 7 document pentru uzul personal.
Formatarea pentru tipurile Text si Memo Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare
Simbolurile dindocumentul7 numai contra cost Access pentru scris al autorului. n acest n pot multiplica tabelul urmator sunt folosite de i cu acordul la formatarea datelor stocate cpuri de tipurile Text si la: scop m| putei contact| Memo. ANTALSimbol Alexandru Tiberiu Semnificatie tel.: 0040-264-530918 Caracter e-mail: antaltiberiu@pcnet.ro sau spatiu care trebuie specificat. @ & < > Caracter ca nu este obligatoriu de specificat. Forteaza afisarea tuturor caracterelor cu litere mici. - 7 Forteaza afisarea tuturor caracterelor cu litere mari. - 7 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Simbolurile @, & actioneaza la nivel de caracter, n timp ce simbolurile <, > actioneaza 7 7 Universitatea Tenhic| caractere ale cmpului. Daca vreti sa fiti siguri ca un nume va fi din Cluj-Napoca asupra ntregului sir de 7 - 7 7 Facultatea Construcii de Maini ntotdeauna afisat cu majuscule introduceti n proprietatea Format simbolul >. Daca doriti sa 7 - 7 Catedra de Mecanic| i Programare cmp de tipul Text, fara sa introduceti liniute pentru stocati un numar de telefon, folosind un 7 7 7 7 Curs de baze de din numar, n proprietatea Format veti scrie @@-@@-@@. Daca de la date Microsoft Access gruparea cifrelor 7 7 taststura veti introduce 123456, cnd va pozitionati pe o alta nregistrare, valoarea se va 7 7 7 Copyright 2000. Toate drepturile sunt rezervate autorului. afisa sub forma 12-34-56. O problema ar putea fi numerele de telefoane care nu au fost 7 introduse n baza de date. Proprietatea Format poate avea doua sectiuni separate prin ;. Prima 7 Multiplicarea acestui document n scop comercial este interzis|. se foloseste pentru formatarea cmpului cnd acesta contine text, a doua este formatul n cazul n care nuparticipani la valoare n cmp (lipsa valoriisuperior reprezenta printr-un sir de s-a introdus o orice form| de nv||mnt se poate bugetar pot multiplica acest Sudenii lungime zero sau printr-o valoarea speciala null). Daca pentru proprietatea Format folosim pe 7 7 document pentru uzul personal. @@-@@-@@[Blue];"neintrodus"[Red], atunci cnd introducem o valoare un cmp ea va fi afisata cu liniute n culoarea albastranv||mnt cu plat| saute se va scrie n doritoare - 7 7 Sudenii participani la orice form| de 7 , iar daca valoarea lipses alte persoane locul ei neintrodus n rosu. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Formatarea pentru tipurile Number si Currency Pentru tipurile Number si Currency exista mai multe formate predefinite si o multime de 7 ANTAL Tiberiu Alexandru simboluri care pot fi folosite pentru crearea unor formate definite de utilizator. Tabelul care tel.: 0040-264-530918 urmeaza prezinta cteva dintre formatele predefinite: 7 e-mail:7antaltiberiu@pcnet.ro Tip format General Numar introdus 7 123456.789 Numar afisat 7 123456.7 Definitia formatului ######.#

67

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru Currency 123456.789 $123,456.78 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Fixed 123456.789 123456.78 Catedra de Mecanic| i Programare Standard 123,456.78 Curs de baze de date123456.789Access Microsoft

$###,##0.00 ######.## ###,###.##

Percent 123456.789 78.9% ###.##% Copyright 2000. Toate drepturile sunt rezervate autorului. Scientific 123456.789 1.22%+05 ###E+00 Multiplicarea acestui document n scop comercial este interzis|. Toate formatele de mai sus sunt implicite si bazate pe setarea proprieta-ii Decimal place pe 7t Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Auto. document pentru uzul personal. Formatele numerice personalizate pot avea patru sectiuni: (1) pentru valori pozitive; (2) Sudenii participani la orice form| dezero; (4) pentru valori nespecificate. De asemenea, se nv||mnt cu plat| sau alte persoane doritoare pentru valori negative; (3) pentru valori pot multiplica documentul numai contra cost i cu acordul scris al autorului. nun poate specifica o culoare care sa ajute la observarea unori valori critice. Daca scriem acest 7 7 scop m| putei contact| la: formatul #.##0.00[Green]; (-3,330.00)[Red];"zero";"neintrodus", valorile pozitive se vor afisa n verde, cele negative n rosu, cele 0 se vor afisa ca si zero, iar cele ANTAL Tiberiu Alexandru nespecificate ca si neintrodus. Cteva dintre simbolurile care pot fi utilizate ntr-un cmp tel.: 0040-264-530918 personalizat sunt: punctul (.), virgula (,), 0 (cifra care va fi afisata ca si 0 ntotdeauna, daca nu 7 - 7 7 e-mail: antaltiberiu@pcnet.ro cumva are o alta valoare), $ (pentru afisarea semnului $), % (pentru afisarea semnului %). 7 -

Formatarea pentru tipurile Date/Time


Posibilit|ile de formatare ale tipurilor Date/Time sunt cele mai multe existnd apte opiuni predefinite: ! General Date: (Implicit) Valoarea afiat| depinde de cea introdus|; introducerea numai a unei date duce la afiarea numai a datei, la fel i n cazul unei Conf. dr. ing. ANTAL Tiberiu Alexandru ore; formatul standard pentru dat| Universitatea Tenhic| din Cluj-Napoca i timp este: 2/17/01 10:19 PM; ! Long Date: Afiarea Facultatea Construcii de Maini se face conform set|rilor din Windows Regional Settings, Seciunea Long Date; un exemplu Catedra de Mecanic| i Programare ar fi: Wednesday, February 10, 2001; Mediu Microsoft Access Curs de! baze de date Date: 17-Feb-01; ! Short date: Conform set|rilor din Windows Regional Settings, Seciunea Short Date; 2/17/01; Copyright 2000. Toate drepturile sunt rezervate autorului. ! Long Time: Conform set|rilor din Windows Regional Settings, Seciunea Time; acestui PM; Multiplicarea10:19:17 document n scop comercial este interzis|. ! Medium Time: 10:19 PM; ! Short la orice form| Sudenii participaniTime: 22:19. de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. De asemenea, exist| o multitudine de set|ri ale formatelor de dat| i timp care pot fi f|cute de utilizator, cteva dintre acestea fiind: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare : separator de cost i cu acordul scris al autorului. n pot multiplica documentul numai contratimp (luat din Windows Reginal Settings, acest scop m| putei contact| la: Seciunea Separator); / separator de dat|; c ANTAL Tiberiu Alexandru la fel cu formatul General Date; d, dd ziua din lun| - unul sau dou| cifrea (1-31); tel.: 0040-264-530918 primele trei litere ale s|pt|mnii (Sun-Sat); e-mail:ddd antaltiberiu@pcnet.ro dddd numele complet al zilei (Sunday - Saturday); ddddd la fel cu Short Date; dddddd la fel cu Long Date; w ziua din s|pt|mn| (1-7);

68

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. ANTAL Tiberiu Alexandru an (1-53); ww s|pt|mna din Universitatea Tenhic| din Cluj-Napoca- una sau dou| cifre (1-12); m, mm luna anului Facultatea Construcii de Maini trei caractere ale lunii (Jan-dec); mmm primele Catedra de Mecanic| i Programare mmmm numele complet al lunii (January-December); Curs de baze de date Microsoft Access din 4 trimestre (1-4); q data afiat| y num|rul zilei din an (1-365); Copyright 2000. Toate drepturile sunt rezervate autorului. yy ultimele dou| cifre ale anului (01-99); yyyy anul complet (0100-9999); Multiplicarea acestui document -n scop comercial este interzis|. h, hh ora una sau dou| cifre (0-23); n, nn minutul - una sau dou| cifre (0-59); Sudenii participani la orice form| de nv||mnt cifre (0-59); s, ss secunda - una sau dou| superior bugetar pot multiplica acest document pentru uzul personal. cu Long Time; ttttt la fel AM/PM sau A/P ora se afieaz| cu 12 ore urmat| de AM/PM; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare am/pm sau a/p ora se afieaz| cu 12 ore urmat| de am/pa; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest AMPM ora se afieaz| cu 12 ore urmat| de specificaiile din Windows scop m| putei contact| la: Reginal Settings, Seciunea forenoon/afternoon. ANTAL Tiberiu Alexandru Dei utilizatorul poate specifica i alte formate pentru tipurile Date/Time, acestea vor fi tel.: 0040-264-530918 afiate pe baza set|rilor din fereastra de dialog Regional Setting Properties din Windows e-mail: antaltiberiu@pcnet.ro Control Panel. Alte caractere pot fi ad|ugat formatelor, dar acestea trebuie incluse ntre ghilimele, de exemplu, formatul mmm dd","yyyy va afia, February 07, 2001 dac| se introduce data 02/07/01.

Formatarea n cazul tipului Yes/No


Access stocheaz| datele de tipul Yes/No ntr-un fel mai puin ateptat. Valoarea Yes este stocat|dr. ing. ANTALNo ca i 0. n lipsa unor set|ri de formatare acestea sunt valorile care Conf. ca i -1, iar cea Tiberiu Alexandru trebuie introduse i afiate. Cu ajutorul formatelor valorile de tipul Yes/No pot fi aduse la o Universitatea Tenhic| din Cluj-Napoca form| mai Construcii de Maini Facultateauor de recunoscut i de manipulat. Cele trei formate predefinite sunt: ! Yes/No: (Implicit) afieaz| -1 pentru Yes i 0 pentru No; Catedra de Mecanic| i Programare True/False: stocheaz| -1 Curs de! baze de date Microsoft Access pentru True i 0 pentru False; ! On/Off: stocheaz| -1 pentru On i 0 pentru Off. Copyright 2000. Toate drepturile sunt rezervate autorului. Formatele definite de utilizator n cazul tipului Yes/No pot conine pn| la trei seciuni. Prima nu are efect asupra datelor i trebuie scop obligatoriu caracterul ;. Cea Multiplicarea acestui document n s| fie comercial este interzis|. de a doua se folosete pentru afiarea valorii On sau True (stocat| n baz| ca i -1). Seciunea a treia se folsete pentru specificarea afi|rii lui Off sau de nv||mntn baz| ca bugetar pot multiplica dorin Sudenii participani la orice form| False (stocat| superior i 0). De exemplu, dac| acest s| afiam pentru uzul Nu n rou documentDa n verde i personal. vom folosi formatul definit astfel: ;"Da"[Green]; "Nu"[Red]. Exist| cteva probleme n acest caz cu afiarea datelor pe baza formatului definit Sudeniin primul rnd, dac| se definetenv||mntpentru acest tip, depersoane doritoare mai sus. participani la orice form| de un format, cu plat| sau alte c|tre utilizator pot multiplica documentul numai contra cost i cu acordul scris al autorului. la Text Box trebuie modificat| i proprietatea Display Control din Lookup de la Check Box n acest scop m| vedea datele conform noului format. n al doilea rnd, dei datele vor fi afiate pentru a putei contact| la: conform formatului, atunci cnd datele vor fi introduse de la tastatur| trebuie folosite valorile ANTAL Tiberiu Alexandru 1 i 0. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Utilizarea m|tilor de intrare

Masca de intrare permite creterea controlului cu privire la caracterele introduse ntr-un cmp. Ea permite definirea unui ablon care va fi folosit pentru introducerea datelor n cmp. ablonul va fi afiat pe ecran nainte ca utilizatorul s| introduc| datele n cmp. Coninutul

69

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing.se salveaz| n bazaAlexandru ablonului nu ANTAL Tiberiu de date mpreun| cu datele introduse. De exemplu, dac| s-a Universitatea Tenhic| dinde intrare de forma 999-(9)99-000.000 parantezele rotunde i definit o proprietate masc| Cluj-Napoca Facultatea Construcii de Maini linia se afieaz| pe poziiile corespunz|toare la introducerea datelor, iar caracterul Catedra de Mecanic| ifiProgramare fiec|rui 9 sau 0. Access va ad|uga automat cte un underscore, adic| _, va afiat n locul Curs de\baze despecificatorilor de poziie (placeholders ) irul format devenind caracter n faa date Microsoft Access 999"-("9\)99\-000.000. Masca de intrare poate conine cel mult trei seciuni separate prin Copyright 2000. Toate drepturile sunt rezervate a doua spune lui Access dac| s| stocheze caracterul ;. Prima definiete masca n sine. Cea de autorului. (dac| ia valoarea 0) sau nu (dac| ia valoarea 1 sau este vid) i masca mpreun| cu datele n Multiplicarea acestui treia seciune specific| caracterul pe care Access l folosete pentru baza de date. Cea de a document n scop comercial este interzis|. afiarea spaiilor n masca de intrare. Implicit, acesta este caracterul underscore. Dac| dorii s| Sudenii participanitrebuie curpins ntre ghilimele. Cteva dintre caracterele care se pot folosii spaiul acesta la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru intrare sunt descrise n continuare: folosi n masca de uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Caracter pot multiplica documentul numai contra cost i cuEfect acordul scris al autorului. n acest scop m| putei contact|ntre 0 i 9 obligatoriu de introdus; nu se pot folosi semnele - i + la: Cifr| 0 ANTAL Tiberiu Alexandru Cifr| sau spaiu opional|; nu se pot folosi semnele - i + 9 tel.: 0040-264-530918 Cifr| sau spaiu # e-mail: antaltiberiu@pcnet.ro opional|; caracterele neintroduse sunt comverite n spaii; se pot folosi semnele - i + L ? A Liter| ntre A i Z obligatoriu de introdus Liter| ntre A i Z opional| Cifr| sau liter| obligatoriu de introdus

Conf. dr. ing. ANTAL Tiberiu Alexandru Cifr| sau liter| opional| a Universitatea Tenhic| din Cluj-Napoca Orice caracter sau & Facultatea Construcii de Maini spaiu obligatoriu de introdus Catedra de Mecanic| i Programare Orice caracter sau spaiu opional C Curs de baze de date Microsoft Access Convertete toate literele care urmeaz| la majuscule > Copyright 2000. Toate drepturile sunt rezervate autorului. Convertete toate literele care urmeaz| n litere mici < Multiplicarea acestui document n scop comercial este interzis|. la stnga cnd Foreaz| completarea m|tii de intrare de la dreapta ! caracterele din partea stng| sunt opionale; implicit completarea se face Sudenii participanila stnga form| de nv||mnt superior bugetar pot multiplica acest de la orice la dreapta document pentru uzul personal. Afieaz| caracterul care urmeaz| f|r| a-l interpreta, ci doar ca i un \ caracter obinuit Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest specificator . , : m| scop ; - / putei contact| la: de poziie, separator de mii, dat| i timp determinai de set|rile din seciunea Regional Setting a lui Control Panel ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Validarea datelor e-mail: antaltiberiu@pcnet.ro Validarea datelor const| n limitarea valorilor care pot fi introduse de la tastatur| ntr-un cmp. Ea poate fi automat|, de exemplu, se poate verifica dac| ntr-un cmp numeric a fost introdus un text sau dac| data introdus| este valid| sau poate fi definit| de utilizator pe baza unei expresii care se evalueaz| pentru fiecare dat| nou| care se introduce n cmp. Expresia care este testat| pentru acceptarea valorii introduse se scrie n Validation Rule, iar mesajul de

70

Introducere n Microsoft Access: Tabele - cursul 3

Conf. dr. ing. fi afiat dac| regula de validare este nc|lcat| se scrie n Validation Text. De eroare care va ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca exemplu, dac| tipul cmpului este Date/Time i dorim ca data care se introduce s| fie n Facultatea Construcii de Maini domeniul 1/1/1998 i 1/1/2000, regula de validare va fi scris| sub forma between Catedra de Mecanic| i Programare dorete limitarea datei la cea crent| se va scrie #1/1/98# and #1/1/00#. Dac| se Curs de <Date(date Microsoftun cmp numeric, un exemplu de regul| de validare ar fi expresia baze de ). Dac| avem Access <100, caz n care vor fi acceptate numai valori numerice mai mici ca 100. Expresia de Copyright 2000. Toate drepturile sunt rezervate autorului. validare poate conine orice funcii scrise de noi sau dintre cele ale limbajului VBA. De exemplu, dac| avem un cmp cu numele Sex de tipul Text n care dorim s| stoc|m sexul Multiplicarea acestui document n scop comercial este interzis|. folosind iniialele: B - b|rb|tesc, F - femeiesc, N - nespecificat, regula de validare va fi InStr("BFN",[Sex])>0 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. n expresia care se scrie pentru a testa valoarea introdusa poate sa participe si numele 7 7 cmpului care se testeaza, simplu, sau ca si paramtru al unei functii, dar nu pot sa participe 7 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare nume ale altor cmpuri din tabel. De exemplu, n cazul unui cmp de tipul Date/Time, cu pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest numele DataNast, este corect sa scrie o expresie pentru validare de forma 7 scop m| putei contact| la: Year([DataNast]) < 1977. Aceasta va permite introducerea unor date de nastere care au anul mai mic dect 1977. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

71

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 4 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! cum se editeaz| (Edit) nregistr|rile unui tabel; Copyright 2000. Toate drepturile sunt rezervate autorului. ! cum se selecteaz| (Select) nregistr|rile dintr-un tabel; Multiplicareacum se selecteaz| o n scop comercial este interzis|. nregistr|ri (Record acestui document nregistrare folosind selectorul de ! Selector); Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. grup de nregistr|ri adiacente; ! cum se selecteaz| un ! cum se la orice form| nregistr|rile dintr-o foaie de date; Sudenii participaniselecteaz| toate de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ! cum se va selecta o coloan|; scop m| putei contact| la: ! cum se selecteaz| coloane adiacente; ANTAL Tiberiu Alexandru ! cum se terge (Delete) o nregistrare; tel.: 0040-264-530918 cum se terge coninutul unui cmp; e-mail:! antaltiberiu@pcnet.ro ! cum se nlocuiete (Replace) coninutul unui cmp; ! ! ! cum se vizualizeaz| i selecteaz| opiunile unei foi de date (Datashheet); cum se redefinete ordinea coloanelor n tabele; cum se ascunde (Hide) sau se vizualizeaz| (Un-hide) o coloan|;

Conf. dr. ing.cum se nghea| (Freeze) coloanele; ANTAL Tiberiu Alexandru ! Universitatea Tenhic| din Cluj-Napoca ! cum se mut| Maini Facultatea Construcii de (Move) sau copiaz| (Copy) cmpurile sau nregistr|rile; Catedra de Mecanic| i Programare ! cum se previzualizeaz| (Preview) o foaie de date. Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

72

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru Editarea Universitatea Tenhic| din Cluj-Napoca nregistr|rilor Exist| o varietate mare de posibilit|i de editare a nregistr|rilor att pentru formulare (Form) Facultatea Construcii de Maini ct i pentru Mecanic| i Programare Catedra de foi de date (Datasheet). Curs de baze de date Microsoft Access Majoritatea operaiilor de editare necesit| selectarea datelor n prealabil. Pentru a nlocui ntreg coninutul unui cmp, acesta trebuie selectat, autorului. Copyright 2000. Toate drepturile sunt rezervate apoi se introduce de la tastatur| noul coninut. Multiplicarea acestui document n scop comercial este interzis|. Poriunea gri din stnga fiec|rei nregistr|ri, ntr-o foaie de date, se numete selector de nregistrare (record selector). Urm|toarele simboluri superior starea unei nregistr|ri: acest Sudenii participani la orice form| de nv||mnt specific| bugetar pot multiplica document pentru uzul personal. nregistrarea curent|; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest nregistrarea este selectat|; scop m| putei contact| la: nregistrarea se editeaz|; ANTAL Tiberiu Alexandru ultima nregistrare (este vid|). tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Selectarea nregistr|rilor cu mouse-ul

Pentru a selecta o nregistare folosind selectorul de nregistra ri 7

clic pe selectorul de nregistrare; nregistarea selectat| mai jos

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access are culoarea de fond neagr|. Copyright 2000. Toatedrepturilepe selectorul primei nregistr|ri, se ine ap|sat butonul clic sunt rezervate autorului. stng al mouse-ului i se deplaseaz| cursorul pn| pe ultima document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.

Pentru a selecta un grup de Multiplicarea acestui nregistra ri 7 adiacente

Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: nregistrare care dorim s| fac| parte din grup sau ANTAL Tiberiu Alexandru nregistr|ri din grup i n timp ce se ine ap|sat| tasta Shift, clic pe selectorul primei tel.: 0040-264-530918 clic pe ultima nregistrare din grup. e-mail: antaltiberiu@pcnet.ro clic pe selectorul de Pentru a selecta nregistr|ri aflat la intersecia toate nregistra rile 7 dintre selectorii de nregistr|ri i unui tabel coloane;

73

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitateanregistr|rilor folosind tastatura Selectarea Tenhic| din Cluj-Napoca Facultatea Construciide Maini poziionai-v| folosind tastele 6, 7 pe nregistrarea dorit|; Pentru select ia Catedra de Mecanic| i Programare selectai din unei nregistra ridate Microsoft Access meniul Edit (Alt+E); 7 Curs de baze de selectai Select Record (L). Copyright 2000. Toate drepturile sunt rezervate autorului. ap|sai Ctrl+A sau Pentru select ia din meniul Edit (Alt+E) selectai Select All Records (A). tuturor Multiplicarea acestui document n scop comercial este interzis|.
nregistra rilor 7

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.

Selectarea cmpurilor cu mouse-ul

Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Selectarea unui ap|sat se deplaseaz| cursorul acordul scris cap|t; deplasarea cmpmultiplica documentul numai contra cost i cupn| pe cel|lat al autorului. n acest pot prin mouse-ului cu butonul ap|sat va fi numit| n continuare tragere tragere putei contact| la: scop m| (dragging). (dragging) ANTAL Tiberiu Alexandru tel.: 0040-264-530918 se e-mail: antaltiberiu@pcnet.ro plaseaz| mouse-ul la nceputul cmpului. Cursorul i va Selectarea unui modifica forma ntr-un semn plus "+"; cmp prin cursor clic pe butonul stng al mouse-ului.
Selectarea unor cmpu ri adiacente

clic la un cap|t al cmpului i cu butonul stng al mouse-ului

se va selecta un prim cmp cu ajutorul mouse-ului; innd tasta Shift ap|sat| ne folosim de tastele pentru deplasarea cursorului (6, 7, 8, 9) pentru a selecta cmpuri n sensul Conf. dr. ing. ANTALindicat deAlexandru taste. Tiberiu respectivele Universitatea Tenhic| din Cluj-Napoca Selectarea coloanelor Maini Facultatea Construcii de cu mouse-ul deplasai Catedra de Mecanic| i Programare cursorul mouse-ului pe selectorul de coloan|. Forma Pentru a selecta o Curs de baze de date Microsoft Access coloana cu 7
mouse-ul

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare cursorului se vadocumentul numai contra cost i cu acordul scris al autorului. n acest pot multiplica schimba ntr-o s|geat| neagr| care arat| n jos; scop m| putei contact| la: clic pe butonul din stnga. ANTAL Tiberiu Alexandru clic pe selectorul de coloan| apoi cursorul se trage peste tel.: 0040-264-530918 Pentru aantaltiberiu@pcnet.ro coloanelor adiacente sau selectorii e-mail: selecta coloane adiacente clic pe selectorul de coloan| i innd ap|sat| tasta Shift, clic pe ultima coloan| care va fi selectat|.

Selectarea cmpurilor i coloanelor de la tastatur|

74 Selectarea unui Universitatea Tenhic| cmp cu tasta Tab

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu AlexandruTab pentru a selecta cmpul din dreapta sau ap|sai tasta din Cluj-Napoca pentru a selecta cmpul din stnga celui curent. Shift+Tab Facultatea Construcii de Maini Catedra de Mecanic| i Programare clic undeva n cmp apoi ap|sai F2. Pentru a selecta date Microsoft Access Curs de baze de
un cmp cu F2

Copyright 2000. Toate drepturile sunt rezervate autorului.


Pentru a Multiplicarea deselecta un c m p

ap|sai F2. acestui document n scop comercial este interzis|.

Pentru a selecta inei ap|sat| tasta Shift; un cmp folosind Sudenii participani la orice ap|sarea uneia dintre cel 4plat| sau s|gei" va produce form| de nv||mnt cu taste "cu alte persoane doritoare tastele "cu pot multiplica documentul numai contra adiacent aflat n sensul s|geii. selectarea cmpului cost i cu acordul scris al autorului. n acest sageata " 7

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. selecteaz| un cmp cu F2;

scop m| putei contact| la:

ANTAL Tiberiu Alexandru selectai nregistrarea; Pentru a s terge o tel.: 0040-264-530918 nregistrare e-mail: antaltiberiu@pcnet.ro

tergerea nregistr|rilor i a cmpurilor

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini ap|sai tasta Delete; Catedra de Mecanic| i Programare dac| dorii efectuarea tergerii clic pe butonul Yes, pentru anularea tergerii lansate Curs de baze de date Microsoft Access clic pe No. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Pentru a s terge cont inutul unui c m p Sudenii participani la orice form| de nv||mnt superior bugetar document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Pentru a nlocui cont inutul unui pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest c m p m| putei contact| la: scop ANTAL Tiberiu Alexandru Vizualizarea tel.: 0040-264-530918 i setarea e-mail: antaltiberiu@pcnet.ro selectai coninutul cmpului apoi introducei noul coninut. selectai cmpul apoi ap|sai tasta Delete. pot multiplica acest

valorilor implicite pentru foile de

date

La crearea unui tabel dimensiunile coloanelor i liniilor corespund unor set|ri implicite. De exemplu, este o l|ime implicit| pentru coloane i o n|lime standard a rndurilor.

75

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru clic pe meniul Tools, selectai Options apoi Datasheet i Universitatea Tenhic| din Cluj-Napoca Pentru a urm|toarea fereastr| de dialog va fi afiat|: vizualiza seta rile 7 Facultatea Construcii de Mainimodificai oricare dintre aceste opiuni implicite apoi curente Catedra de Mecanic| i Programare validai f|cnd clic pe butonul OK. Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Redefinirea ordinii de afiare a coloanelor unui tabel

Uneori este 2000. Toate drepturile suntn care Access-ul afieaz| coloanele unui tabel. Copyright de dorit modificarea ordinii rezervate autorului. Multiplicarea Mutarea unor coloane selectai coloana i eliberai butonul acestui document n scop comercial este interzis|.stng al mouse-ului; clic pe selectorul de cmp i tragei coloana pe noua poziie. Pe m|sur| form| de nv||mnt bar| mai groas| vertical| indic| poziia Sudenii participani la orice ce deplasai coloana, o superior bugetar pot multiplica acest document pentru uzulcurent| a coloanei care este n curs de mutare; personal. eliberai butonul stng al mouse-ului. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris tabel Reordonarea cmpurilor unui al autorului. n acest scop m| putei contact| la: dorete reordonarea modului n care cmpurile sunt aranjate. Avnd dat un tabel uneori se comutai pe vizualizarea n mod proiectare (Design View) i Pentru a Tiberiu Alexandru ANTAL selectai cmpul care dorii s| fie repoziionat prin clic pe selectorul de reordona tel.: 0040-264-530918 cmp (butonul din stnga numelui de cmp); cmp urile din e-mail: antaltiberiu@pcnet.ro tragei i l|sai cmpul pe noua lui poziie; o bar| orizontal| tabel groas| va ar|ta poziia curent| a cmpului care se mut|; cnd eliberai butonul stng al mouse-ului, cmpul se g|sete n noua lui poziie; salvai tabelul pentru a face modific|rile permanente.

76

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Modificarea Maini Facultatea Construcii del|imii (width) unei coloane i n|limii Catedra de unui rnd (height)Mecanic| i Programare Curs de baze de date Microsoft Access precise, altele sunt f|cute pentru lucrul "dup| ochi" Unele din metodele pe care le prezint sunt dar mai rapide n cazul cnd dorim numai s| vedem pentru cteva momente ceva ce nu ncape Copyright 2000. Toate drepturilemici. rezervate autorului. de tot n cmp datorit| l|imii prea sunt Multiplicarea acestui document n scop comercial este interzis|. dreapta numelui plasai cursorul mouse-ului pe linia din cmpului; cursorul va lua forma unei bare verticale scurte intersectat| la orice form| de nv||mnt superior bugetar pot multiplica acest de o s|geat| cu dou| capete; document pentru uzul personal. marginea coloanei, n stnga sau dreapta, la dimensiunea tragei pe care o dorii. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest selectai coloanele; Mod ificarea scop m| putei contact| la: tragei marginea coloanei celei mai din dreapta n noua poziie la t imii unui grup 7sau de coloane ANTAL adiacenteTiberiu Alexandru clic pe butonul din drepta al mouse-ului, selectai Column tel.: 0040-264-530918 Width din lista ap|rut| i introducei noua l|ime. e-mail: antaltiberiu@pcnet.ro plasai cursorul mouse-ului peste linia din drepta selectorului
Mod ificarea la t imii (width ) 7Sudenii participani unei coloane Mod ificarea la t imii coloanei 7la "ocupa tot" 7 (best fit)

de cmp, cursorul va lua forma

clic dublu pe butonul din stnga mouse-ului i automat l|imea coloanei se va modifica astfel nct toate datele din ea s| fie complet vizibile Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| Cluj-Napoca din selectai coloanele; Mod ificareaConstrucii de Maini Facultatea clic pe butonul din dreapta al mouse-ului avnd cursorul de la t imii unui Mecanic| i Programare 7Catedra de grup mouse poziionat pe oricare din cmpurile selectate i selectai de coloane Curs de baze de date Microsoft Accesspe ecran apare fereastra de dialog: adi acen te la Column Width;
"ocupa tot" 7

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest clic pe Best Fit. scop m| putei contact| la:
Mod ificarea ANTAL Tiberiu Alexandru selectori de rnd; na lt imii (height) 7 tel.: 0040-264-530918 tragei linia rndului

plasai cursorul de mouse peste linia de separaie dintre doi

pe noua poziie, n|limile tuturor rndurilor se vor e-mail: antaltiberiu@pcnet.ro modifica automat la cea specificat| sau clic pe butonul drept al mouse-ului, selectai Row Height din lista ap|rut| i apoi introducei noua n|lime pentru toate rndurile.

77

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru Ascunderea (hiding) i vizualizarea (un-hiding) coloanelor Universitatea Tenhic| din Cluj-Napoca Este posibil| ascundereade Maini Facultatea Construcii unor coloane din tabel n cazul n care acestea nu prezint| interes pentru o anumit| vizualizare particular| de date ale foii de date. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access selectai coloana pe care dorii s| o ascundei; Pentru drepturile sunt rezervate autorului. clic pe Format din meniul Access-ului apoi selectai Hide Copyright unei ascunderea 2000. Toate Columns; coloana va disp|rea din vizualizare f|r| ns| ca datele din coloane Multiplicarea acestui aceasta s| fie afectate. document n scop comercial este interzis|. Sudenii Pentru a participani la orice form| de nv||mnt superior bugetar pot multiplica Columns i document vizualiza o pentru uzul personal. urm|toarea fereastr| de dialog va ap|rea pe ecran: coloana 7 clic pe Format din meniul aplicaiei Access selectai UnHide acest

Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

n fereastra de mai sus cmpul cu numele Category Name este ascuns. Pentru a deveni din nou vizibil activai cutia de selectare (check box) din dreapta numelui cmpului apoi clic pe Close. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic|nghearea (freeze) coloanelor din Cluj-Napoca Facultatea Construcii de Maini mai mare de cmpuri dect cele care se pot afia pe n mod frecvent tabelele au un num|r Catedra de Mecanic| i Programare se pierd din vedere la deplasarea spre dreapta prin ecran. n acest caz cmpurile din stnga Curs de baze de date Microsoft Access cauzeaz| p|strarea pe ecran ale acestora n timp ce cmpurile tabelului. nghearea coloanelor ne deplas|m prin celelalte coloane de tabel. Copyright 2000. Toate drepturile sunt rezervate autorului.
Pentru Multiplicarea acestui document n scop comercial estedin Format sau selectai Freeze Columns interzis|. nghet area clic pe butonul drept al mouse-ului ntr-o coloan| i selectai (freeze) unei Sudenii participani la orice Column. nv||mnt superior bugetar pot multiplica acest coloane Freeze form| de

selectai coloana sau coloanele;

document pentru uzul personal.

Pentru Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare dezghet area pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest (unfreeze) unei scop m| putei contact| la: coloane

selectai Unfreeze All Columns din Format.

ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Formatarea celulelor din foaia de date e-mail: antaltiberiu@pcnet.ro Efectele format|rii cuprind liniile pentru delimitarea celulelor (grid lines) pe vertical| i pe orizontal|, culoarea lor i a fondului pe care se scrie, efecte de prezentare ale celulelor de tipul: plat (Flat), ieit (Raisen) i ngropat (Sunken), stilul de caractere folosit la afiarea datelor.

78

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| Cluj-Napoca selectai Cell. Pe ecran se va afia fereastra de din din Format Pentru setarea Facultatea Construcii de Maini formata rilor unei 7 Catedra de Mecanic| i Programare celu le Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: dialog Cell Effects; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:n seciunea Gridlines Shown a cutiei de dialog selectai opiunile dorite. antaltiberiu@pcnet.ro

Pentrudr. ing. ANTAL Tiberiu Alexandru Conf. din list| culoarea dorit|. mod ificarea Universitatea Tenhic| din Cluj-Napoca culorilor (Color) Facultatea Construcii de Maini liniilor

n seciunea Gridline Color clic pe s|geata n jos i selectai

Pentru a selecta unul din unul dintre Copyright 2000. Toatecuvintele Flat, rezervate autorului. drepturile sunt efectele: Flat, Pentru afis area Raisen sau Raisen sau (display) sau acestui document n scop comercial este interzis|. Multiplicarea Sunk en Sunken. ascunderea (hide) liniilor Sudenii participani la orice form| de nv||mnt superior bugetar (gridlines)

Catedra de Mecanic| i Programare Curs de baze de date Microsoft seciunea Cell Effect a cutie de dialog Cell Effects selectai n Access

pot multiplica acest

document pentru uzul personal.

Pentru a pot multiplica documentul numai contra seciunea mod ifica culoarea scop m| putei contact| la: Background fondului Color clic pe (background)

Sudenii participani la orice n form| de nv||mnt cu plat| sau alte persoane doritoare cost i cu acordul scris al autorului. n acest

Pentru mod ificarea tipului de caractere (Fonts) a foii de date

ANTAL Tiberiu Alexandru n jos s|geata tel.: 0040-264-530918 apoi selectai e-mail: antaltiberiu@pcnet.ro din list|

culoarea dorit|. din Format selectai

79

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru va afia; Fonts, fereastra de dialog cu numele Fonts se Universitatea Tenhic| din Cluj-Napocastyle), m|rimea (Size) caracterelor dorite din listele selectai tipul (Font), stilul (Font Facultatea Construcii de Maini corespunz|toare; Catedra de Mecanic| i Programare ap|sai butonul OK. Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului.

Copierea (copy), mutarea (move) cmpurilor i Multiplicarea acestui document n scop comercial este interzis|. nregistr|rilor
Deja trebuie s| fii familiarizai cu procedura selecteaz| apoi manipuleaz|. Datele care se Sudenii participani la orice(move) de nv||mnt superior bugetar pot multiplica acest doresc copiate (copy), mutate form| sau terse (cut) n fereastra de lucru temporar| document pentru uzul personal. (Clipboard) se vor selecta n prealabil, apoi de aici se pot dirija c|tre noua destinaie. La fel ca n cazurile anterioare, att tastatura ct i mouse-ul pot fi folosite n acest scop. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Denumire Din Din De la Aciune scop m| putei contact| la: n romn| meniu Edit Toolbar tastatur| ANTAL Tiberiu Alexandru T|iere Cut Ctrl+X Mut| datele selectate n Clipboard. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Copiere

Copy

Ctrl+C

Copiaz| datele selectate n Clipboard.

Inserare Ctrl+V Insereaz| datele din Clipboard n Conf. dr. ing. Paste ANTAL Tiberiu Alexandru noua zon| selectat| ncepnd din Universitatea Tenhic| din Cluj-Napoca poziia curent| a cursorului. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access La copierea sau mutarea ntregistr|rilor ntr-o foaie de date, Access-ul insereaz| datele n noile cmpuri n Toate de apariie a coloanelor n autorului. Copyright 2000.ordinea drepturile sunt rezervate foaia de date f|r| a ine cont de numele cmpurilor. n cazul formularelor, pentru aceleai operaii, Access-ul va ine cont de numele de cmpuri ordinea de document n scop comercial este interzis|. Multiplicarea acestui aranjare a cmpurilor fiind nesemnificativ|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Pentru a copia selectai Copy din meniul Edit sau document pentru uzul personal. date dintr-un clic pe simbolul grafic Copy din Toolbar sau cmp n Clipboard Sudenii participani la orice ap|sai de nv||mnt cu plat| sau alte persoane doritoare form| Ctrl+C. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: selectai datele care vor fi mutate; Pentru a ta ia date 7 ANTAL n din cm p Tiberiu Alexandru selectai Cut din Edit sau clic pe simbolul grafic Cut din Toolbar sau tel.: 0040-264-530918 Clipboard ap|sai Ctrl+X. e-mail: antaltiberiu@pcnet.ro
Pentru a insera cont inutu l din Clipboard ntru n c m p

selectai datele care urmeaz| a fi copiate sau mutate;

clic n cmpul destinaie unde dorii ca datele s| fie inserate; selectai Paste din meniul Edit sau clic pe simbolul grafic Paste din Toolbar sau

80

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru ap|sai Ctrl+V. Universitatea Tenhic| din Cluj-Napocamultor cmpuri sau coloane prin Clipboard Este posibil| copierea coninutului a mai Facultatea Construcii de Maini descrise deja; ceea ce difer| este numai selecia. aplicnd aceleai operaii care au fost Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Manipularea drepturile sunt rezervate autorului. Copyright 2000. Toate obiectelor tabel din fereastra bazei de date Operaiile de editare descrise pn| acum se pot aplica i pentru obiectele bazei de date. Fie lista obiectelor de tipul tabel selectat| (procedurile care urmeaz| se Multiplicarea acestui document n scop comercial este interzis|.pot aplica pentru toate
Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

obiectele bazei de date dei vor fi exemplificate, pentru nceput, folosind obiecte de tipul tabel). Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| Cluj-Napoca din selectai tabelul care va fi copiat; Pentru a copia un de Maini selectai Copy din meniul Edit sau Facultatea Construcii tabel clic pe simbolul grafic Copy din Toolbar; Catedra de Mecanic| i Programare selectai Paste din meniul Edit sau Curs de baze de date Microsoft Access clic pe simbolul grafic Paste din Toolbar; n fereastra de dialog introducei rezervate autorului. Copyright 2000. Toate drepturile suntnumele noului tabel; selectai una din opiunile de inserare. Structure Only pentru a prelua numai structura tabelului f|r| date, Structure and Data pentru a prelua structura i Multiplicarea acestui document n scop comercial este interzis|. datele din tabelul original, Append Data to Existing Table pentru a ad|uga datele unui tabel deja existent. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Toate obiectele bazei (Tabele, Formulare, Interog|ri, Rapoarte, Macrouri, Module) de date pot document pentru uzul personal. fi copiate, redenumite sau terse. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare selectai obiectul i cu acordul scris al pot multiplica documentul numai contra cost care va fi redenumit; autorului. n acest Pentru a scop m| un redenumiputei contact| la: selectai Rename din Edit; introducei un nou nume pentru obiect (acesta se scrie peste obiect numele ANTAL Tiberiu Alexandru celui existent); ap|sai tasta Enter. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

81 Pentru a s terge Universitatea Tenhic|obiectul care va din Cluj-Napoca un obiect

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru selectai Facultatea Construcii de Maini fi ters; Catedra de Mecanic| i Programare selectai Curs de baze de date Microsoft Access Delete din meniul Edit. Fereastra de dialog care apare pe ecran se prezint| Copyright 2000. Toate drepturile sunt rezervate autorului. n continuare: clic pe Yes pentru a terge Multiplicarea acestui document n scop comercial este interzis|. obiectul sau pe No pentru abandonarea tergerii. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. tabel care particip| ntr-o relaie cu alte tabele, Access-ul Nota: Dac| ncercai tergerea unui 7 va afia un mesaj de eroare iar ergerea nu se va realiza. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Tip|rirea (Printing) Tot ceea ce se realizeaz| n Access se poate tip|ri la imprimant|. n continuare se prezint| numai previzualizarea (preview) i tip|rirea (print) foilor de date pentru tabele, interog|ri, ANTAL Tiberiu Alexandru formulare i ale definiiilor de obiecte. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Cele care urmeaz| presupun c| obiectul n cauz| este fie deschis, fie este selectat din fereastra bazei de date (Database Window). selectai Print Preview din meniul File sau clic pe simbolul grafic Print Preview din Toolbar.

Vizualizarea unui formular sau foi de date

Conf. dr. ing. ANTALPrima pagin| a foii de date sau a formularului se va afia pe ecran. Tiberiu Alexandru Folosii butoanele de navigaie din colul stnga jos pentru a trece la Universitatea Tenhic| din Cluj-Napoca paginile urm|toare. Facultatea Construcii de Maini Catedra de Mecanic| i Programare deschidei foaia de date din Print Preview; Curs de baze de Pentru a vedea o date Microsoft Access poziionai cursorul de mouse pe suprafaa foii de date. Acesta sect iune m arita a 7 va lua forma unei lupe; foii de date 2000. Toate drepturile sunt rezervate autorului. Copyright clic pe butonul stng al mouse-ului. Access-ul va m|ri zona Multiplicarea acestui selectat|; n scop comercial este interzis|. document clic pe butonul mouse-ului pentru a vedea din noula orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani ntreaga pagin|. document pentru uzul personal. Not|: Se poate folosi butonul Zoom din bara de instrumente Zoom pentru a Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare m|ri numai contra cost i cu acordul scris al autorului. n acest pot multiplica documentul sau micora scop m| putei contact| la: zone din ecran. ANTAL Tiberiu Alexandru dac| se tel.: 0040-264-530918 Pentru tipa rirea 7 dorete tip|rire e-mail: antaltiberiu@pcnet.ro unui form ular parial|, sau foi de date selectai nregistr|rile care se vor tip|ri;

82

Introducere n Microsoft Access: Operatii cu nregistrari - cursul 4

Conf. dr. ing. ANTAL Tiberiu Alexandru selectai Print din meniul File sau Universitatea simbolul din Cluj-Napoca va afia fereastra de dialog Print: clic pe Tenhic| grafic Print, acesta Facultatea Construcii de Maini (Print Range) i num|rul de copii (Copies). Dac| dorii selectai domeniul paginilor Catedra de Mecanic| i Programare s| tip|rii numai anumite pagini consecutive selectai Pages From i introducei num|rul Curs de baze de pagini ale domeniului; primei i ultimei date Microsoft Access clic pe OK. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

83

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 5 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! cum se ncepe o c|utare; Copyright 2000. Toate drepturile sunt rezervate autorului. ! cum se caut| folosind caractere generice (Wildcard); Multiplicareacum se g|sete o valoare specific|; acestui document n scop comercial este interzis|. ! ! cum se nlocuiete o valoare specific|; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. ! cum se ordoneaz| nregistr|rile unui tabel; ! cum se sorteaz| nregistr|rile prin formulare; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris foaie de date; n acest ! cum se filtreaz| nregistr|rile unui tabel vizualizat ca al autorului. scop m| putei contact| la: ! cum se terge filtrul; ANTAL Tiberiu Alexandru ! nelege conceptele care stau n spatele relaiilor (Relationships); tel.: 0040-264-530918 cum se deschide fereastra relaiilor; e-mail:! antaltiberiu@pcnet.ro ! cum se adaug| tabele n fereastra relaiilor; ! ! ! cum se creeaz| o relaie ntre dou| tabele; ce este conceptul de Integritate Referenial| (Referential Integrity); cum se vizualizeaz| toate relaiile din baz|;

Conf. dr. ing.cum se vizualizeaz| o relaie particular|; ANTAL Tiberiu Alexandru ! Universitatea Tenhic| din Cluj-Napoca ! cum se terg Maini Facultatea Construcii de relaiile; Catedra de Mecanic| i Programare fereastra relaiilor. ! cum se terge un tabel din Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

84

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru C|utarea i nlocuirea informaiei Universitatea Tenhic| din Cluj-Napoca C|utareaConstrucii de Maini Facultatea G|sirea informaiilor ntr-un tabel mic nu este o problem|, dar ce facem cnd tabelul Catedra de Mecanic| i Programare vizualizat n mod foaie de date trece cu mult de dimensiunea ecranului. Access-ul are cteva Curs de baze de date Microsoft Access instrumente care simplific| aceast| sarcin|. Dou| dintre acestea sunt Caut| (Find) i nlocuiete (Replace). drepturile sunt rezervate autorului. Copyright 2000. Toaten cursurile care urmeaz| vei avea o metod| mult mai puternic| de c|utare i nlocuire a datelor numit| interogare (query). Dac| operaia pe care dorii s| o realizai se repet| i este complicat|, probabil vei dori s| interzis|. Multiplicarea acestui document n scop comercial este scriei o interogare. G|sirea informaiilor este mai rapid| dac| cmpul pe baza c|ruia se caut| este cheia primar| sau are un index.participani la orice form| de nv||mnt superior tastele "scurt|tur|" pentru Sudenii Se poate folosi meniul Edit, bara cu instrumente sau bugetar pot multiplica acest g|sirea informaiilor. nainte de aceasta trebuie s| facei clic n cmpul pe baza c|ruia dorii s| document pentru uzul personal. facei c|utarea. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare clic n cmpul pe i cu acordul scris facei c|utarea; pot multiplica documentul numai contra cost baza c|ruia dorii s|al autorului. n acest nceperea scop rii putei contact| la: selectai Find din meniul Edit sau m| ca uta 7 7 ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

clic pe pictograma Find din bara de instrumente standard sau Conf. dr. ing. ANTALecran va apare fereastra de dialog Find in field: 'numele cmpului'; clic Ctrl+F, pe Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini dorii s| o g|sii n cutia cu numele Find What:. Exist| introducei valoarea pe care Catedra de Mecanic| i Programarepentru a rafina c|utarea dup| cum urmeaz|: un num|r de opiuni care se pot folosi Curs de baze de date Microsoft Access Denumire opiune Semnificaie Copyright 2000. Toate drepturile sunt rezervate autorului. Match Implicit este selectat| Match Whole Field, adic| ntregul Multiplicarea acestui document n scop comercial este interzis|.identic cu valoarea pentru coninut al cmpului trebuie s| fie a fi g|sit. Celelalte opiuni sunt: Any Part of Field - orice Sudenii participani la orice form| din nv||mnt superior bugetar pot cmpului. acest parte de cmp i Start of Field - nceputul multiplica document pentru uzul personal. Permite selectarea sensului de c|utare n raport cu poziia Search curent| cursorului: cu - n sus, Down - n jos, doritoare Sudenii participani la orice form| deanv||mnt Up plat| sau alte persoaneAll - peste tot. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| Case contact| la: Dac| este activat| se ine cont de literele mari i mici. Match putei ANTAL Fields asAlexandru Se va selecta dac| dorii s| c|utai informaia dup| cum este Search Tiberiu Formated tel.: 0040-264-530918 formatat| i nu dup| cum este stocat| n tabel. e-mail: antaltiberiu@pcnet.ro Search Only Current Field Dac| nu suntei siguri de cmpul n care se afl| informaia sau dac| valoarea poate s| apar| n mai multe cmpuri inactivai aceast| opiune.

85

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Caractere generice (Wildcards) Universitatea Tenhic| din Cluj-Napoca Dac| nu suntei siguri asupra tuturor caracterelor din valoarea pe care dorii s| o c|utai - ceea Facultatea Construcii de Maini ce introducei n cutia Find What - putei folosi n locul acestora caractere generice dup| cum Catedra de Mecanic| i Programare urmeaz|:baze de date Microsoft Access Curs de Copyright 2000. ToateScriere drepturile sunt rezervate autorului. Denumire Semnificaie Orice comercial este interzis|. Semn de ntrebare ? Multiplicarea acestui document n scopcaracter aflat pe aceeai poziie cu ?. De exemplu, pentru ma?a se va g|si: mama, mana Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Orice grup de caractere pe aceeai poziie cu *. Asterisc * Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare De exemplu, pentru m*a se va g|si: mama, mana, pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest maneta, mecanica etc. scop m| putei contact| la: Se folosete pentru o singur| cifr| de pe aceeai poziie Hash # ANTAL Tiberiu Alexandru tel.: 0040-264-530918 De exemplu, 19#7 corespunde numerelor ntregi 1907, e-mail: antaltiberiu@pcnet.ro 1917, 1927, 1937, ... 1997. Paranteze drepte [] Cuprind unul sau mai multe caractere cnd dorim ca n c|utare s|-l includem pe unul dintre acestea. De exemplu, pentru I[oa]n se va g|si Ion, Ian Se folosete pentru specificarea unui domeniu de Minus Conf. dr. ing. ANTAL Tiberiu Alexandru domeniul trebuie specificat n ordinea caractere, Universitatea Tenhic| din Cluj-Napoca cresc|toare Facultatea Construcii de Maini Catedra de Mecanic| i Programare exemplu, pentru I[a-o]n se va g|si Ian, Ien, ..., Ion. De Curs de baze de date Microsoft Access Specific| toate caracterele cu excepia celor din Semn de ! Copyright 2000. Toate drepturileparanteze. sunt rezervate autorului. exclamare Multiplicarea acestui document n scop comercial este interzis|. g|si Ien etc. dar nu se De exemplu, pentru I[!oa]n se vor vor g|si Ion, Ian Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Caracterele generice sunt f|cute pentru lucrul cu cmpuri de tipul Text, uneori pot fi folosite cu succes i pentru c|utarea n cmpuri de tip Date dar asta numai dac| nu ai f|cut modific|ri Sudenii participani(Reginal form| de pentru tipul respectiv.sau alte persoane doritoare n set|rile de regiune la orice Settings) nv||mnt cu plat| pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

G|sirea unei valori specifice

ANTAL Tiberiu Alexandru Ga sirea unei 7 tel.: 0040-264-530918 valori specifice

tastai valoarea de g|sit n cutia Find What;

Nota: la 7 e-mail: antaltiberiu@pcnet.road|ugarea unei nregistr|ri ntr-un tabel, dac| ntr-un cmp nu s-a introdus nimic, Access-ul va stoca valoarea null n cmp. Dac| s-a introdus un spaiu sau "", Access-ul consider| data introdus| un ir de lungime zero. Dac| dorii g|sirea unei valori null introducei textul Null, dac| dorii g|sirea unui ir de lungime zero introducei "".

86

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. butonul Find First sau ap|sai tasta Enter; clic pe ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Access-ul se mut| pe prima nregistrare al c|rei cmp are valoarea c|utat| i afieaz| cmpul Catedra de Mecanic| negru, caracterele albe pentru a scoate n eviden| prima soluia a distinct (fondul devine i Programare Curs de baze de date Microsoft Access c|ut|rii); Copyright 2000. Toate drepturile sunt rezervateapariie cu aceeai valoare sau clic pe Find Next pentru a g|si urm|toarea autorului. clic pe Close pentru a termina c|utarea; Multiplicarea acestui document n scop comercial este interzis|. ap|sai Shift+F4 sau Ga sirea 7 clic pe pictograma Find Next (dac| este disponibil) din bara urm a toarei 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest de instrumente standard. aparit ii de document pentru uzul personal.
aceeas i valoare dupa nchid erea Sudenii dialog cutiei de participani

la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

nlocuirea unor valori din cmpuri ANTAL Tiberiu Alexandru clic pe cmpul pentru care se face c|utarea; tel.: 0040-264-530918 Ga sirea s i 7 selectai Replace din meniul Edit sau e-mail: antaltiberiu@pcnet.ro nlocuirea unei ap|sai Ctrl+H, pe ecran apare fereastra de dialog: valori

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access n cutia Find What tastai valoarea care se va nlocui, mai sus Metasoft; n cutia Replace With introducei noua valoare, mai sus Copyright 2000. Toate drepturile sunt rezervate autorului. Metasoft SRL; modificai opiunile dup| cum este cazul apoi clic pe butonul Find Next; Multiplicarea acestui document n scop comercial este interzis|. Dac| valoarea exist| Access-ul o va g|si i se va poziiona pe prima apariie a ei afind-o distinct. participani la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii document pentru uzul personal. clic pe butonul Replace; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dac| nregistrarea nu este cea dorit|, clic pecost iNext pentru scris al autorului.apariie. pot multiplica documentul numai contra Find cu acordul a g|si urm|toarea n acest scop m| putei contact| la: clic pe Close pentru a nchide fereastra de dialog "Replace in field: ...:". ANTAL Tiberiu Alexandru clic n cmpul pentru care se face c|utarea; tel.: 0040-264-530918 Pentru a ga si s i 7 selectai Replace din meniul Edit sau e-mail:toate antaltiberiu@pcnet.ro nlocui ap|sai Ctrl+H; aparit iile ale unei valori n cutia Find What tastai textul care va fi nlocuit; n cutia Replace With tastai noul text; clic pe butonul Replace All.

87

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea este activat| opiunea Match Whole Field aciunea poate deveni periculoas|! Nota: dac| nu Tenhic| din Cluj-Napoca 7 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Sortarea Curs de baze de date Microsoft Access nregistr|rilor Dac| dorii ca nregistr|rile s| fie afiate ntr-o ordine diferit| selectai Quick Sort. De exemplu, este posibil ca drepturile sunt rezervate autorului. Copyright 2000. Toate angajaii s| fie afiai n ordinea descresc|toare a salariilor i la un moment dat s| dorii s|-i afiai n ordinea alfabetic|. Multiplicarea acestui document n scop comercial este interzis|. ntr-un tabel vizualizat ca foaie de date, sortarea se poate realiza pe baza mai multor cmpuri adiacente, ntr-un formular ns|form| de nv||mnt superior bugetar singur cmp. Dac| ai Sudenii participani la orice suntem limitai la sortarea pe baza unui pot multiplica acest selectat mai multe cmpuri, cel mai din stnga este cmpul primar de sortare. Din acest motiv document pentru uzul personal. uneori este necesar| rearanjarea ordinii coloanelor nainte de sortare. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare selectai coloana i coloanele scris al autorului. s| acest pot multiplica documentul numai contra costsaucu acordulpe baza c|rora dorii n sortai Sortarea nregistr|rile; scop m| putei nregistrarilor contact| la: selectai Sort din meniul Records apoi selectai Sort unu i tabel n modul de Tiberiu Alexandru Ascending sau Sort Descending din submeniu dup| cum dorii ANTAL vizualizare foa ie tel.: 0040-264-530918 sortarea cresc|toare sau descresc|toare sau de date e-mail: antaltiberiu@pcnet.ro pe simbolurile grafice Sort Ascending clic sau Sort Descending din bara de instrumente standard.

Nota: la sortarea cresc|toare nregistr|rile sunt aranjate ncepnd cu valoarea cea mai mic|, de 7 exemplu, cifre de la 0 la 9 i litere de la A la Z. La sortarea descresc|toare este invers. Conf. dr. Sortarea ing. ANTAL Tiberiu Alexandru clic pe unul Universitatea pe din Cluj-Napoca dintre simbolurile grafice Sort nregistrarilorTenhic| Descending baza mai multor Facultatea Construcii de Maini din bara de instrumente standard. cmpu ri de Mecanic| i Programare Catedra Curs de baze de date Microsoft Access selectai cmpurile pe baza c|rora se va face sortarea; Ascending sau Sort

tabelul iniial Copyright 2000. Toate drepturile sunt rezervate autorului. coloanele selectate Multiplicarea acestui document n scop comercial este interzis|. rezultate Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Ce este un filtru?
Filtrele sunt interog|ri simple care se aplic| numai tabelelor sau formularelor deschise. Se utilizeaz| pentru alterarea temporar| a modului de vizualizare a datelor dintr-un tabel pentru:

88

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru filtrarea nregistr|rilor nedorite; Universitatea Tenhic| dinde date asupra c|rora ne focaliz|m, de exemplu, dintr-o perioad| ngustarea grupului Cluj-Napoca Facultatea Construcii de unul singur; de ani putem p|stra numai Maini Catedra de Mecanic| i Programare ndeplinesc criterii complexe; vizualizarea nregistr|rilor care Curs de baze de date Microsoft baza coninutului ctorva cmpuri; sortarea nregistr|rilor pe Access sortarea cmpurilor n sensuri diferite (unul ascendent, altul descendent). Copyright 2000. Toate drepturile sunt rezervate autorului.

Filtrarea nregistr|rilor prin selecie

Multiplicarea acestui document n scop comercial este interzis|. deschidei tabelul; clic n celula care conine articolul pe baza c|ruia se va face filtrarea; Sudenii participani la orice form| de nv||mnt superioraici m-ampot multiplica acest - bugetar poziionat pe o document pentru uzul personal. celul| a cmpului Company Name care conine valoarea Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Alfreds Futterkiste pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe pictograma Filter by Selection din bara de instrumente. - au fost afiate numai nregistr|rile care conin valoarea Alfreds Futterkiste n cmpul Company Name

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea pe pictograma Remove Filter clic Construcii de Maini . Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Filtrarea nregistr|rilor prin formulare

deschidei un tabel al bazei sunt rezervate autorului. Copyright 2000. Toate drepturilede date, iniial tabelul va fi de forma: Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 clic pe pictograma Filter by Form e-mail: antaltiberiu@pcnet.ro

, tabelul va lua o form| nou|:

89

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate din cmpul sunt rezervate autorului. Observai s|geata n jos drepturile Company Name. Multiplicarea s|geat| n jos i o list|scop comercial esteaici putei selecta o singur| valoare clic pe acestui document n se va desf|ura, de interzis|. pentru filtrare; n exemplul prezentat eu am selectat Alfreds Futterkiste; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest clic pe pictograma Apply Filter i numai nregistr|rile care au cmpul Company document pentru uzul personal. Name identic cu Alfreds Futterkiste vor fi afiate; clic pe pictograma Remove Filter . Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop exemplul prezentat de mine este simplu, acest mod de filtrare poate produce rezultate Dei m| putei contact| la: mult mai complexe. De ce? Observai n figura care urmeaz|, n colul din dreapta jos, cteva ANTALcare conin cuvintele Or. butoane Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. ce ai completat o Tiberiu de filtrare apare un Or nou. Se vor filtra valori care satisfac Dup| dr. ing. ANTAL valoare Alexandru Universitatea Tenhic| din Cluj-Napoca departe. ntre valorile de cmpuri ale aceleiai linii prima condiie sau (Or) a doua i aa mai Facultatea Construcii de Maini de filtrare se face i logic. Astfel, prima condiie se poate citi astfel: selecteaz| acele rnduri Catedra care au n cmpul Company Name valoarea "Alfreds Futterkiste" i (And) n din tabel de Mecanic| i Programare Curs deContact NameMicrosoft"Ofelia Chiorean". La clic pe noul Or valorile setate se cmpul baze de date valoarea Access terg automat i se poate defini o nou| configuraie de valori de cmpuri pentru care se face Copyright 2000. Toate drepturile sunt rezervate autorului. filtrarea. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: valorile afiate sunt: Cu aceste configuraii definite ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

90

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Scurt din Cluj-Napoca Universitatea Tenhic| istoric al bazelor de date relaionale nainte de 1970, bazele de date erau un domeniu n care utilizatorii navigau urm|rind poantori Facultatea Construcii de Maini (pointers) de la o nregistrare la alta pe nite drumuri fixate, eventual prin plasarea unor Catedra de Mecanic| i Programare "indicatori de stare curent|", care Access Curs de baze de date Microsoft erau folosii n cazul cnd navigatorul se pierdea, n vederea reg|sirii drumului fixat de la care deviase. n 1970, E.F. Codd a propus o paradigm| total nou| de abordare a datelor, unde toate relaiile semnificative dintre date se reprezentau prin Copyright 2000. Toate drepturile sunt rezervate autorului. valorile datelor i nu prin poantori ascuni sau prin conexiuni. Viziunea lui Codd a permis exprimarea interog|rilor ntr-un format neprocedural adic| independent de structura i Multiplicarea acestui document n scop comercial este interzis|. algoritmii folosii la implementarea bazei de date - un concept pe care Codd l-a numit independena datelor. Articolul originalnv||mnt spunea c| bugetar pot despre datele Sudenii participani la orice form| de al lui Codd superior interog|rile multiplica acest stocate n formatul uzul personal. document pentru relaional se puteau exprima fie prin calculul predicatelor de ordinul unu fie prin utilizarea unei colecii de operatori relaionali cum sunt asocierea (join) i proiecia (projection). n articole ulterioare, a dezvoltat aceste dou| abord|rialte persoane doritoare Sudenii participani la orice form| de nv||mnt cu plat| sau sub forma a dou| limbaje de acces la bazele de date care au devenit cunoscute sub denumirile al autorului. n i pot multiplica documentul numai contra cost i cu acordul scris calcul relaional acest algebra putei contact| la: scop m|relaional|. Majoritatea muncii din acea perioad| s-a focalizat asupra operatorilor din algebra relaional|. ANTAL Tiberiu Alexandru Proiectele numite System R i Ingres au implementat prototipuri care ar|tau c| modelul tel.: 0040-264-530918 relaional se putea folosi pentru e-mail: antaltiberiu@pcnet.ro manipularea unor cantit|i enorme de date. n loc s| implementeze algebra sau calculul relaional, proiectanii lui System R, au dezvoltat un nou limbaj al bazelor de date, care iniial s-a numit Structured English Query Language sau SEQUEL iar azi, din motive de politic| comercial|, se numete Structured Query Language, adic| SQL. Diferenta esentiala dintre SQL si alte limbaje consta n faptul ca n - 7 7 7 SQL instructiunile specifica ce operatii se vor face cu datele si nu modul cum se realizeaza 7 7 acestea. Dei SQL-ul a fost dezvoltat de IBM, primul produs comercial bazat pe SQL a fost produs de o companie mic| numit| Relational Conf. dr. ing. ANTAL Tiberiu Alexandru Software, Inc., n 1979. Produsul s-a numit Oracle, iar numele a fost ulterior adoptat i de companie, care azi a devenit un gigant. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare relaiilor n Access Definirea Curs am baze n capitolul de proiectare a bazei de date, trebuie determinate tabelele i relaiile de spus de date Microsoft Access Cum dintre acestea mpreun| cu tipul relaiilor care se vor folosi. Dup| ce tabelele au fost create Copyright 2000. Toate drepturile sunt rezervate autorului. prin procedurile descrise deja, trebuie create relaiile dintre acestea. Pentru aceasta trebuie prima oar| deschis| fereastra relaiilor (Relationship window). Multiplicarea acestui document n scop comercial este interzis|. Dac| baza de date este proiectat| corect este garantat| unicitatea nregistr|rilor prin cheile Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest primare (primary keys) din tabele. Apoi, aceste chei primare se vor folosi drept chei str|ine document pentru uzul personal. (foreign keys) n alte tabele pentru stabilirea relaiilor. Cnd se creeaz| o relaie ntre dou| tabele, tabelul cu cheia primar| se numete tabel primar (primary table) iar tabelul cu cheia Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare str|in| se numete tabel asociat (related table). Tabelul asociat poate avea la rndul lui o pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest cheie primar| care se poate folosi ntr-o alt| relaie n care tabelul va fi primar. scop m| putei contact| la: Definiiile relaionale ntre tabelele din baz| vor asigura proiectarea ct mai facil| a obiectelor ANTAL Tiberiu Alexandru din baz|. De multe ori rapoartele, formularele sau interog|rile lucreaz| cu date din mai multe tel.: 0040-264-530918 tabele. n acest scop Access-ul trebuie s| cunoasc| cum sunt legate tabelele care particip| n e-mail: antaltiberiu@pcnet.ro aceste obiecte.

Deschiderea ferestrei cu relaii

91

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Pentru a deschide fereastra relaiilor (Relationship window), deschidei fereastra bazei de Universitatea Tenhic| din Cluj-Napoca date (Database window), apoi clic pe pictograma relaiilor din bara de instrumente Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro standard. Dac| s-au creat sau modificat deja relaiile din baz|, fereastra se va afia la fel cu ultima ei afiare, astfel se va afia i fereastra de dialog Show Table peste aceasta.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Ad|ugarea tabelelorla: fereastra relaiilor scop m| putei contact| n deschidei fereastra relaiilor; AANTAL Tiberiu Alexandru da ugarea 7 folosind fereastra tel.: 0040-264-530918 dac| fereastra de dialog Show Table nu este deschis| clic pe de dialog Show e-mail: antaltiberiu@pcnet.ro Show Table Table pictograma din bara de instrumente Relationships; selectai tabelul care dorii s| fie ad|ugat din lista Table. Folosii tasta Ctrl pentru ad|ugarea mai multor tabele neconsecutive sau tasta Shift pentru ad|ugarea unui grup de tabele consecutive;

92

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. butonul Add; clic pe ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul Adrese, Telefoane. Cmpurile Pentru acest exemplu am folosit 3 tabele cu numele: Persoana, scris al autorului. n acest scop m| putei contact|i la: IDAdresa din Adrese s IDPersoana din Persoana sunt de tipul AutoNumber, IDPersoana din Adrese si IDAdresa din Telefoane sunt de tipul Long Integer, Remarci ANTAL Tiberiu Alexandru celelalte cmpuri sunt de tipul Text. Cheile primare sunt din Adrese este de tipul Memo, tel.: 0040-264-530918 afiate ngroat (IDPersoana n tabelul Persoana si IDAdresa n tabelul Adrese) n figur|. e-mail: antaltiberiu@pcnet.ro Tabelul Telefoane nu are cheie primar|. clic pe butonul Close.

Definirea relaiilor
Pentru a crea o cmpului din al doilea. Conf. ntre doua relat ie dr. ing. ANTAL Tiberiu Alexandru Dac| unul dintre cmpurile tabelelor este cheie 7 tab ele Universitatea Tenhic|primar| va fi afiat ngroat (bold), vei trage cheia primar| pe cheia din Cluj-Napoca

tragei numele cmpului din primul tabel peste numele

secundar| corespunz|toare din al doilea tabel. Tabelul din care se trage Facultatea Construcii de Maini Catedra de Mecanic| cheia se numete tabel primar (primary table); tabelul peste care se i Programare plaseaz| cheia se numete tabel asociat (related tabel). Fereastra de dialog a relaiei se va Curs de baze de date Microsoft Access afia sub forma: Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe butonul Create. Relaia va fi afiat| sub forma:

93

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.

Integritate Referenial| (Referential Integrity) Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dac| o cheie primar| i o cheie str|in| se folosesc cu acordul scrisdou| tabele se ziceacest pot multiplica documentul numai contra cost i pentru legarea a al autorului. n c| legatura se bucur| de integritate referenial|. Adic| urm|toarele condiii sunt forate: 7 scop m| putei contact| la:
1. Pentru ad|ugarea unei ANTAL Tiberiu Alexandru nregistr|ri n tabelul asociat, tabelul cheii primare trebuie s| conin| o nregistrare a c|rei cheie primar| s| fie identic| cu cheia str|in| corespondent| din tel.: 0040-264-530918 tabelul asociat pentru noua nregistrare. De exemplu, pentru ad|ugarea unei nregistr|ri n e-mail: antaltiberiu@pcnet.ro tabelul Adrese, trebuie s| avem prima oar| n tabelul Persoana o nregistrare a c|rei cheie primar| (IDPersoana) s| fie aceeai cu cheia straina din tabelul Adrese (IDPersoana); 7 7 2. Nu se poate terge o nregistrare din tabelul primar dac| exist| nregistr|ri corespondente n tabelul asociat. De exemplu, nu se poate terge un nume de persoan| din tabelul Persoana dac| are nregistr|ri stocate n tabelul Adrese, adic| exist| cel puin o nregistrare avnd valoarea stocat| n cmpul IDPersoana aceeai cu una a lui IDPersoana din tabelul Persoana. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

n majoritatea cazurilor forarea integrit|ii refereniale este de dorit. Pentru exemplul

94

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. ANTAL Tiberiu Alexandru shimba forma de afiare a relaiei dup| cum se prezentat, activarea integrit|ii refereniale va Universitatea Tenhic| din.Cluj-Napoca observ| n figura anterioara 7 Facultatea Construcii de Maini Catedra de Mecanic| Selectarea opiunii "actualizarea cascadat| a cmpurilor legate" i Programare Actualizarea Curs de baze de date Microsoft Update Related Fields) nseamn| c| modificarea cheii (Cascade Access cascadata a 7 primare n una din nregistr|rile tabelului primar va fi remprosp|tat| cmpu rilor legate Copyright 2000. Toate drepturile sunt rezervate autorului. automat de Access n toate cmpurile legate corespondente. Multiplicarea acestui document n scop comercial este interzis|. Selectarea opiunii "tergerea cascadat| a nregistr|rilor legate" SSudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest , tergerea (Cascade Delete Related Records) nseamn| c| tergerea nregistr|rii cascadata a 7 document pentru uzulcare are cheia primar| duce la tergerea automat| a nregistr|rilor personal. nregistrarilor legate corespondente din toate tabelele legate. legate Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest se Ambele opiuni afecteaz| integritatea referenial|, motiv pentru care scop m| putei contact| la: vor utiliza cu precauie. ANTAL Tiberiuprezentat, relatiile finale vor fi cele prezentate n figura care urmeaza: Pentru exemplul Alexandru 7 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Editarea relaiilor
din bara de

deschidei fereastra autorului. Copyright 2000. Toatedrepturile sunt rezervaterelaiilor; Vizualizarea selectai Show All din meniul relaiilor sau tut uror relat iilor Multiplicarea acestui document n scop comercial este interzis|. clic pe pictograma Show All Relationships

Vizualizarea relat iilor unui Sudenii participani singur tabel

instrumente Relationships. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. deschidei fereastra relaiilor; clic pe Show Direct Relationships din bara de la orice form| de nv||mnt cu plat| sau alte persoane doritoare instrumente contra cost i cu pot multiplica documentul numai Relationships sauacordul scris al autorului. n acest scop m| putei contact| la: selectai Show Direct din meniul relaiilor. deschidei fereastra relaiilor; clic pe linia relaiei care leag| cele dou| tabele; ap|sai tasta Delete. e-mail: antaltiberiu@pcnet.ro deschidei fereastra relaiilor;

SANTAL Tiberiu Alexandru , tergerea unei tel.: 0040-264-530918 relat ii S teregerea unui , tabel din fereastra relat iilor -

95

Introducere n Microsoft Access: Cautare, sortare n tabele si intergritatea referentiala - cursul 5 7 - 7

Conf. dr. ing. tabelul care va fi scos; clic pe ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca ap|sai tasta Delete. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

96

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 6 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! conceptele care stau la baza interog|rilor (Queries); Copyright 2000. Toate drepturile sunt rezervate autorului. ! cum se deschide o interogare (Query); Multiplicareacum se creeaz| interog|ri folosind Generatorul de Interog|ri (Query acestui document n scop comercial este interzis|. ! Wizard); Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. ! cum se selecteaz| cmpurile care vor participa ntr-o interogare; ! cum se la orice form| de nv||mnt proiectare (Design View); Sudenii participaniconstruiete o interogare n modcu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu calcule de totale; autorului. n acest ! cum se construiete o interogare avnd acordul scris al scop m| putei contact| la: ! cum se adaug| nregistr|ri la un tabel folosind o interogare; ANTAL Tiberiu Alexandru ! cum se actualizeaz| datele folosind o interogare; tel.: 0040-264-530918 cum se creeaz| un e-mail:! antaltiberiu@pcnet.ro tabel nou pe baza rezultatelor de ieire ale unei interog|ri; ! ! ! ce sunt asocierile (join); ce sunt interogarile cu parametri si cele ncrucisate (crosstab); 7 care sunt cele mai importante proprieta-i ale interogarilor. 7t 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

97

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Ce Cluj-Napoca Universitatea Tenhic| din sunt interog|rile (Queries)? Un Sistem de Gestiune ade Maini Date (SGBD) este folosit, n principal, pentru stocarea i Facultatea Construcii Bazelor de reg|sirea de Mecanic| i Programare Catedra informaiilor. Modelul relaional stocheaz| datele n mai multe tabele distincte - n loc dede baze de date Microsoft Access ele, pentru creterea eficienei i evitarea duplic|rii Curs unul singur uria - dar legate ntre datelor. De multe ori este necesar| g|sirea unor informaii care sunt submulimi ale mulimilor de date stocate n tabele. suntse prezint|,autorului. Copyright 2000. Toate drepturile Ele rezervate fie sub forma unei submulimi de cmpuri dintr-un tabel, fie sub forma unei submulimi de nregistr|ri, fie combinat. Multiplicarea acestui document n scop comercial este interzis|. Interog|rile au mai multe forme i tipuri. Se pot salva n baz|, asemenea unui tabel sau pot fi executateparticipani la orice form| de nv||mnt superior ale limbajuluimultiplica acest Sudenii numai n memorie. Pot fi create folosind instruciuni bugetar pot SQL (Structuredpentru Language) sau prin folosirea unei interfee grafice numit| grila (grid) QBE document Query uzul personal. (Query by Example). O interogare poate prezenta direct datele unui tabel sau poate realiza anumite grup|ri sau calcule cu form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice datele, nainte de afiarea rezultatelor. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest S| presupunem contact| s| tii cum stau angajaii departamentului de vnzare la capitolul de scop m| putei c| dorii la: vnz|ri, pentru o anumit| perioad| particular|. Probabil, informaia va trebui extras| din trei tabele: Angajati, Comenzi i ANTAL Tiberiu Alexandru Detalii Comenzi. Tabelul Angajai va fi necesar pentru numele vnz|torilor; tabelul Comenzi va conine datele la care s-au efectuat vnz|rile; tabelul Detalii tel.: 0040-264-530918 Comenzi va conine sumele ncasate din vnz|ri. Angaja i i Comenzi se vor lega prin e-mail: antaltiberiu@pcnet.ro num|rul de identificare al angajatului; Comenzi i Detalii Comenzi se vor lega pe baza num|rului de comand|. Vom dori delimitarea nregistr|rilor din Comenzi i Detalii Comenzi pentru o perioad| dat|. De asemenea, suntem interesai numai de rezultatele personalului de la vnz|ri care a fost angajat n aceeai perioad|. Ideal ar fi ca rezultatele s| fie puse sub forma unui raport sau, mai sugestiv, sub forma unui grafic. Pna a ajunge la acestea ns|, trebuie ca datele 7 s| fie extrase din tabelele corespunz|toare, respectnd limit|rile impuse. Pentru aceasta se va Conf. o interogare. folosi dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Tipuri de interog|ri Catedra de Mecanic| i Programare n principal, interog|rile din Access pot fi grupate n urm|toarele categorii de baz|: Curs de baze de date Microsoft Access ! Selectie: sunt cele mai populare; permit selectarea de informaii din unul sau mai multe tabele pe baza unor criterii, crearea unei mulimi dinamice pentru afiarea Copyright 2000. Toate drepturile sunt rezervate autorului. rezultatelor ntr-o foaie de date n scopul vizualiz|rii i analizei; datele din rezultatele afiate pot fi modificate, aceste modific|ri afectnd datele din tabelele originale; Multiplicarea acestui document n scop comercial este interzis|. ! Totale: sunt o versiune special| de interog|ri de selecie; au posibilitatea de a realiza sume sau de a genera totale (de exemplu, pot num|ra toate nregistr|rile care Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ndeplinesc un anumit criteriu) ntr-o interogare de selecie; la selectarea acestui tip de document pentru uzul personal. interogare Access adaug| un rnd numit Total n fereastra QBE; ! Actiune: permit crearea nv||mnt cu plat| sau alte sau modificarea unor Sudenii participani la orice form| de unor noi tabele (Make Tables)persoane doritoare date (delete, update numai contra cost i existente. n cazul interog|rilor de selecie pot multiplica documentul i apend) din tabelele cu acordul scris al autorului. n acest toate modific|rile aduse datelor se fac, individual, la nivelul fiec|rei nregistr|ri, n scop m| putei contact| la: cazul interog|rilor de aciune mai multe nregistr|ri pot fi modificate n timpul unei aciuni individuale; ANTAL Tiberiu Alexandru ! ncrucis tel.: 0040-264-530918 - ate: genereaz| informaii de sintez|, sub forma unui tabel avnd rndurile i capetele de coloan| bazate pe cmpurile tabelului. Prin definiie, celulele e-mail: antaltiberiu@pcnet.ro individuale ale mulimii dinamice rezultate sunt de tipul tabelar, adic| se extrag sau se calculeaz|; ! SQL: aceste interog|ri se scriu n limbajul SQL avnd tipurile: Union, Pass-Through i Data Definition; se folosesc pentru manipularea bazelor de date

98

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru SQL client/server; Universitatea Tenhic| din Cluj-Napoca care se poate folosi numai n conjuncie cu celelalte ! Topp(n): este un limitator Facultatea Construcii deprezentate; permite specificarea unui procent din num|rul maxim tipuri de interog|ri Maini Catedra de nregist|rilor Programare al al Mecanic| i care vor fi afiate de o interogare. Curs de baze de date Microsoft Access

Posibilit|ile interog|rilor Copyright 2000. Toate drepturile sunt rezervate autorului. Interog|rile ofer| posibilitatea de a vizualiza datele, virtual, n orice mod dorit de utilizator. Majoritatea SGBD-urilor evolueaz| scop comercial este interzis|. Multiplicarea acestui document ncontinuu dezvoltnd noi i tot mai puternice instrumente n acest scop. Cteva dintre posibilit|ile oferite de interog|ri Access sunt: ! Selectarea tabelelor: nv||mnt superior bugetar pot multiplica sau Sudenii participani la orice form| deinformaiile pot fi obinute dintr-un singur tabelacest din pentru uzul personal. mai multe tabele care sunt legate prin date comune; n ambele cazuri rezultatele document sunt prezentate de Access sub forma unei singure foi de date; ! Selectarea cmpurilor: pot fi specificate care cmpuri ale fiec|rui tabel s| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare fie prezente n mulimea de date dinamic| rezultat|; scris al autorului. n acest pot multiplica documentul numai contra cost i cu acordul 7 scop m|! puteiSelectarea nregistrarilor: nregistr|rile care vor fi afiate n mulimea contact| la: dinamic| pot fi selectate pe baza unor criterii; ! Sortarea nregistrarilor: informaiile afiate n mulimea dinamic| de date 7 ANTAL Tiberiu Alexandru pot fi afiate ntr-o ordine specific| (cresc|toare sau descrec|toare); tel.: 0040-264-530918 ! Realizarea de e-mail: antaltiberiu@pcnet.ro calcule: interog|rile pot fi folosite pentru realizarea unor calcule pe baza datelor afiate cum sunt: valoare medie, suma, minim etc.; ! Crearea de tabele: se pot crea noi tabele pe baza datelor dintr-o nregistrar; n acest caz pe baza mulimii dinamice, se va crea un nou tabel; ! Crearea de formulare si rapoarte pe baza unei interogari: 7 mulimea dinamic| rezultat| poate fi necesar| pentru realizarea unui formular sau a unui raport; n acest caz, la afiare sau tip|rire informaiile fiind extrase printr-o Conf. dr. ing. ANTAL Tiberiu Alexandru existente n momentul curent n baza de date; interogare vor fi actualizate cu datele Universitatea Tenhic| din Cluj-Napoca baza unei interogari: se poate realiza ! Crearea de grafice pe 7 Facultatea Construcii de Maini dintr-o interogare care s| fie inclus| ntr-un formular reprezentarea grafic| a datelor Catedra deraport; sau Mecanic| i Programare Curs de! baze de date Microsoftinterogari ca si sursa de date pentru o alta Folosirea unei Access 7 7 7 interogare: se pot crea noi interog|ri pe baza unor interog|ri deja existente; Copyright 2000. Toate drepturile sunt rezervate autorului. pot avea ca i surse de date ! Modificarea unor tabele: interog|rile Access baze de date dBASE, Paradox, Btrieve i Microsoft SQL Server. Multiplicarea acestui document n scop comercial este interzis|. Ce la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participanisunt mulimile dinamice (dynaset)? Toate interog|rile au una sau mai multe surse de date, acestea pot fi tabele sau interog|ri. document pentru uzul personal. nregistr|rile care rezult| dintr-o interogare sunt afiate ntr-o foaie de date ale c|rei nregistr|ri se numesc la orice (mulime nv||mnt date). Acestea au acelai aspect cu un Sudenii participani dynaset form| de dinamic| de cu plat| sau alte persoane doritoare tabel deschis ndocumentul de date.contra cost i cu acordul scris al autorului. n acest pot multiplica modul foaie numai Aceast| mulime este dinamic| (uneori, se mai numete virtual|) putei contact| la: scop m| i nu se stocheaz| n baza de date. La nchiderea interog|rii mulimea dinamic| nceteaz| s| mai existe. Dei mulimea dinamic| nu mai exist|, datele pe baz| c|reia s-a generat r|mn n Alexandru ANTAL Tiberiucontinuare n tabele. La execuia interog|rii, Access plaseaz| datele rezultate n mulimea dinamic|. La salvarea interog|rii, informaiile nu se salveaz|; numai structura tel.: 0040-264-530918 interog|rii este salvat| (sursele e-mail: antaltiberiu@pcnet.rode date, cmpurile, ordinea de sortare, limit|rile etc.). Avantajele acestui mod de lucru sunt: # un spaiu mai mic este folosit pentru stocare; # interogarea folosete cea mai actual| variant| a datelor de la ultima ei execuie.

99

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiucitete datele din sursele de date i recreaz| mulimea La fiecare execuie, interogarea Alexandru Universitatea Tenhic| din Cluj-Napoca dinamic|. ntruct mulimea nu se stocheaz|, o interogare reflect| automat orice modificare Facultatea Construcii de Maini n timp real ntr-un mediu multi-utilizator. adus| datelor de la ultima ei execuie Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Deschiderea unei interog|ri Copyright 2000. Toate drepturile sunt rezervate autorului. (Query) deschidei baza de date (pentru exemplul care urmeaz| Northwind); din fereastra bazei de date n scop comercial este interzis|. Multiplicarea acestui document (Database Window) selectai butonul Query; clic dublu pe interogarea care dorii s| fie deschis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.
Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitateaunei interog|ri folosind Generatorul Crearea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Simple (Simple Query Wizard) Catedra de Mecanic| i Programare n fereastra bazei de date, Access Curs de baze de date Microsoft clic pe butonul Queries; clic pe butonul New pentru afiarea cutiei de dialog New Query; Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

de Interog|ri

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:selectai opiunea Simple Query Wizard, apoi clic pe butonul OK pentru a trece la antaltiberiu@pcnet.ro pagina urm|toare a Generatorului; fereastra de dialog care se va afia va fi de forma:

100

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe s|geata n jos a cutiei de tip list| (list box) numit| Tables/Queries pentru a vizualiza toate tabelele i interog|rile ale c|ror cmpuri ar putea fi selectate pentru a participa la interogare; n figura care urmeaz| am selectat tabelul Orders; pentru ad|ugarea unui cmp n interogare selectai din cutia tip list| Available Fileds numele cmpului care va fi ad|ugat, apoi efectuai clic pe s|geata la dreapta ; numele dispare din list| i apare n lista Selected Fields; Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro dup| ce ai terminat ad|ugarea tuturor cmpurilor facei clic pe butonul Next i urm|toarea fereastra de dialog va fi afiat|: 7

101

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe butonul Finish pentru terminarea proiectului interog|rii. Rezultatele se vor afia ca n figura urm|toare. Nota: n exemplul prezentat au fost selectate cmpuri dintr-un singur tabel. Prezentarea a avut 7 un rol didactic, dorind s| descriu un principiu prin ea. Dac| dorii, putei selecta cmpuri i din mai multe tabele sau interog|ri, dup| cum dicteaz| necesit|ile pentru extragerea Conf. dr. ing. ANTAL Tiberiu Alexandru informaiilor dorite. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Crearea unei interog|ri f|r| Generator


Access-ul are un num|r mare de Generatoare care ajut| la definirea interog|rilor. Totui, n marea majoritate a cazurilor aceste Generatoare sunt inadecvate pentru interog|ri complexe.

102

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL trebuie creat| "cu mna" folosind vizualizarea n modul proiectare. n acest caz interogarea Tiberiu Alexandru Universitateavizualizare permite specificarea cmpurilor care vor participa la interogare i a Acest mod de Tenhic| din Cluj-Napoca Facultatea Construcii de Maini criteriilor de selecie specifice acesteia. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access obiectelor bazei de date clic pe butonul Queries; din fereastra Crearea clic pe butonul New pentru afiarea listei posibilit|ilor de interoga rii "cu 7 Copyright 2000. Toate drepturile sunt rezervate autorului. Design View; creare ale unei interog|ri, de aici selectai mna" clic pe butonul OK; Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Pe ecran apare grila interog|rii (Query Grid) peste ea fiind suprapus| fereastra de dialog Show Table care conine lista tabelelor din baz| ce pot participa ntr-o interogare. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| tabelul Customers apoi ap|sai butonul Add; din list| selectai la: clic pe butonul Close pentru a nchide fereastra de dialog. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Grila interog|rii (Query Grid) e-mail: antaltiberiu@pcnet.ro Interogarea poate avea ca i sursa de date unul sau mai multe tabele. Acestea sunt afiate 7 dac| n fereastra de dialog Show Table este selectat butonul Tables. Dac| este necesar, interog|ri deja existente pot s| formeze surse de date pentru interog|rii care se creeaz|. Ele sunt afiate n fereastra de dialog Show Table dac| este selectat butonul Queries. Se pot crea

103

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTALcu interog|ri, afiarea lor simultan| n list| se face prin selectarea i combinaii de tabele Tiberiu Alexandru Universitatea Tenhic|tabelele sau interog|rile vor fi afiate n panoul de sus al ferestrei. Ele butonului Both. Toate din Cluj-Napoca Facultatea Construcii de Maini care sunt afiate cmpurile corespunz|toare lor. apar sub forma unor ferestre mici n Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Din zona tabelelor i interog|rilor un cmp se poate selecta prin tragerea lui pe gril|, clic dublu pe numele lui sau prin clic pe numele lui n lista care se afieaz| la ap|sarea s|geii n jos din Field. Se vor afia numai acele cmpuri care au selectat| linia Show din gril|. nregistr|rile afiate pot fi restricionate prin specificarea unor criterii sau filtre specifice unor cmpuri din nregistrare. Conf. dr. ing.de interogare se pot sorta pe baza unuia sau a mai multor cmpuri folosind Sort. Datele afiate ANTAL Tiberiu Alexandru Universitatea Tenhic| dinSort se vor afia opiunile de sortare cresc|toare (Ascending) i Dac| efectuai clic pe linia Cluj-Napoca Facultatea Construcii de Maini descresc|toare (Descending). Sortarea se face de la stnga la dreapta dac| sunt mai multe Catedraspecificate. Dac| Programare coloane de Mecanic| i dorii s| revenii la starea iniial|, n care nu se face sortare, selectai Curs de baze de date Microsoft Access not sorted. Copyright 2000. Toate drepturile suntmodifica prin selectarea coloanelor i tragerea lor n Ordinea de afiare a coloanelor se poate rezervate autorului. noua poziie. Multiplicarea acestui document n scop comercial este interzis|. Uneori dorii s| includei cmpuri n interogare dar nu i n r|spunsul care va fi afiat. Asta n Sudeniicare dorii s| selectai sau s| sortai nregistr|ri pe bazabugetar pot multiplica acest cazul n participani la orice form| de nv||mnt superior unui cmp ale c|rui date nu document pentru uzul personal. n r|spuns. n Show vizualizarea coloanei este automat dorii s| apar| ca o coloan| de date activat| la selectarea cmpului, iar pentru inactivare efectuai clic pe dreptunghi i semnul U Sudenii participani lareafiarea coloanei, clic pe acelai dreptunghi ipersoane doritoare va disp|rea. Dac| dorii orice form| de nv||mnt cu plat| sau alte semnul U va ap|rea pot nou, indicnd afiarea coloanei n cadrul rezultatelor. din multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:
Mod ificarea ANTAL Tiberiu Alexandru modificat de la tabelul Customers la sursei de date a tel.: 0040-264-530918 pentru aceast| modificare sunt: interoga rilor 7

Observai c| n figura care urmeaz| sursa de date a interog|rii s-a tabelul Employees. Etapele parcurse realizai clic, n panoul de sus, pe tabelul Customer; ap|sai tasta Delete, toate cmpurile tabelului Customers, din panoul de jos, i tabelul Customers, din panoul de sus, vor disp|rea;

e-mail: antaltiberiu@pcnet.ro

104

Introducere n Microsoft Access: Interogari - cursul 6 7

Lansarea n execut ie a Copyright 2000. interoga rilor 7

Conf. dr. ing. ANTAL Tiberiu Alexandru -iunea Show Tables, deschideti fereastra Show din meniul Query, folosind opt Universitatea Tenhic| din Cluj-Napoca Table; Facultatea Construciiclic Maini tabelul cu numele Employees. realizati de dublu pe Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access crearea interog|rii, lansarea n execuie se face Dup| ce ai terminat selectnd din meniul Query pe Run. Pentru definiia interog|rii care Toate drepturile sunt rezervate autorului. se prezint| n figura urm|toare, din tabelul Employees al bazei de date Northwind au fost selectate cmpurile EmployeeID, LastName, Multiplicarea acestui FirstName,scop comercial este interzis|. cmpurile vor fi afiate document n Title i BirthDate. Toate n r|spuns, cu excepia ultimului, pentru c| toate dreptunghiurile corespunz|toare din linia Sudenii participani la orice form| de nv||mntva face cresc|tor (Ascending) pe baza Show sunt bifate (U), mai puin ultimul. Sortarea se superior bugetar pot multiplica acest document pentru uzul personal. i FirstName. coninutului cmpurilor LastName Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra desunt afiatei Programare Rezultatele Mecanic| sub forma: Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Operatori logici pentru criterii de selecie


Operatorii logici permit construirea unor criterii complexe de selecie ale nregistr|rilor din tabele. Semnificaia lor este uor de neles, mai problematic| este ns| modul lor de utilizare

105

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru n Access. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Semnifcaie Scriere Exemplu Cmp la care Catedra de Mecanic| i Programare se aplic| Curs de baze de date Microsoft Access egal = 7 sau =7 EmployeeID Copyright 2000. Toate drepturile sunt rezervate autorului.

Semnificaie

Selecteaz| nregistr|rile care au angajaii cu ID (EmployeeID) egal cu 7. Multiplicarea acestui document n scop comercial este interzis|. mai mic < <7 EmployeeID Selecteaz| nregistr|rile care au angajaii cu ID Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest mai mic cu 7. document pentru uzul personal. mai mare > >7 EmployeeID Sudenii participani la orice form| de nv||mnt cu plat| sauSelecteaz| nregistr|rile alte persoane doritoare care autorului. n acest pot multiplica documentul numai contra cost i cu acordul scris al au angajaii cu ID mai mare cu 7. scop m| putei contact| la: mai mic sau <= <=7 EmployeeID Selecteaz| nregistr|rile ANTAL Tiberiu Alexandru egal care au angajaii cu ID tel.: 0040-264-530918 mai mic sau egal cu 7. e-mail: antaltiberiu@pcnet.ro mai mare >= >=7 EmployeeID Selecteaz| nregistr|rile sau egal care au angajaii cu ID mai mare sau egal cu 7. diferit <> <>7 EmployeeID Selecteaz| nregistr|rile care au angajaii cu ID diferit de 7. Selecteaz| nregistr|rile cu angajaii care au n cmpul LastName stocat King sau Peacock .

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca sau or "King" or Facultatea Construcii de Maini "Peacock" Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

LastName

asemenea like Like "D*" LastName Copyright 2000. Toate drepturile sunt rezervate autorului.

Selecteaz| nregistr|rile care au angajaii n cmpul LastName cu numele Multiplicarea acestui document n scop comercial este interzis|. ncepnd cu 'D'. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ntre, i between, Between 1/1/40 Selecteaz| nregistr|rile BirthDate document pentru uzul personal. and and 31/12/99 care au angajai cu date de natere (BirthDate) n Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare domeniul [1/1/40, pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest 31/12/99]. scop m| putei contact| la:

Folosirea textului n criteriul de selecie - caractere generice (Wildcards) ANTAL Tiberiu Alexandru
Ca utarea folosind 7 cazul cutiei e-mail: antaltiberiu@pcnet.ro de c|utare Find What) cara cter ele cu urm|toarele semnificaii: generice

tel.: 0040-264-530918 Dac| nu suntei siguri asupra caracterelor din irul c|utat (la fel ca n se pot folosi caracterele generice

106

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Semnificaie Scriere Se folosete pentru Exemplu Universitatea Tenhic| din Cluj-Napoca Facultateade semn Construcii de Maini ? Orice caracter pe aceeai Pentru ma? se g|sesc mai, Catedra de Mecanic| i Programare cu ?. ntrebare poziie mat, mac . Curs de baze de date Microsoft Access asterisc * Orice grup de caractere pe Pentru m*ie se g|sesc martie, aceeai rezervate autorului.mamaie, migraie. Copyright 2000. Toate drepturile sunt poziie cu *. semnul hash # Multiplicarea acestui documentO singur| cifr| n aceeai Pentru 196# se vor g|si toi n scop comercial este interzis|. poziie cu semnul #. anii n domeniul [1960-1969]. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul alternative Criterii multiple i personal. Grila interog|rii permite specificarea unor criterii complexe de selecie. n exemplele care Sudenii se va folosi nla orice form| de nv||mnt cu plat| sau alte persoane doritoareSe urmeaz| participani continuare baza de date Northwind cu tabelul Products (produse). pot multiplica documentul numai contrasinguri cu acordul scris se poate s| dorii selecia poate introduce un criteriu mai lung de un cost cmp de exemplu, al autorului. n acest scop m| putei contact| la:nume ncep cu litera P i sunt ntr-un num|r mai mare de 10 tuturor produselor ale c|ror buc|i pe stoc. Combinaia acestor criterii va fi folosit| pentru definirea interog|rii. Num|rul ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. de criterii poate s| fie orict de mare. Uneori, este nevoie, n plus, de specificarea unor criterii Sudenii participani la se poate s| dorii selectarea tuturor produselor care ncep cu litera C alternative. De exemplu, orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. este i el nelimitat. sau P. Num|rul criteriilor alternative Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Rezultatele seleciei sunt: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

107 Com binarea Universitatea criteriilor

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTALSe pot forma combinaii de criterii multiple i de criterii alternative. Tiberiu Alexandru Tenhic|De exemplu, dorim selectarea tuturor produselor care ncep cu litera P din Cluj-Napoca Facultatea Construcii de Maini ntr-un num|r mai mare de 10 sau ncep cu litera C i sunt pe stoc Catedra de Mecanic| indiferent de buc|ile existente pe stoc. Observai c| Or-ul (sau-ul) se i Programare Curs de baze interog|ri i nu unei singure coloane. De exemplu, dac| dorii s| selectai toate de date Microsoft Access aplic| ntregii produsele care ncep cu litera P i sunt pe stoc n num|r mai mare de 100 sau (Or) ncep cu Copyright 2000. Toate drepturile sunt rezervate autorului. repetat criteriul >10 n litera C i sunt pe stoc n num|r mai mare de 10 atunci, trebuie UnitsInStoc n linia Or. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Rezultatele seleciei sunt: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Cmpuri calculate pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Uneori este necesar s| efectu|m calcule pe baza datelor selectate n rndurile unei interog|ri. scop m| putei contact| la: De exemplu, dorim s| cunoatem preul ce include TVA-ul pentru fiecare produs. Tabelul produselor (numit Products) va conine numai preul net deci va fi necesar| ad|ugarea unui ANTAL Tiberiu Alexandru cmp al c|rui coninut va fi calculat pe baza unei expresii aritmetice. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic n primul cmp liber al liniei Field - cmpul urm|tor lui Definirea unui QuantityPerPrice; cmp calculat introducei expresia aritmetic| dorit|; pentru calculul preului cu TVA se nmulete preul f|r| TVA cu 1.19 (consider|m TVA-ul

108

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru de 19%); Universitatea Tenhic| din Cluj-Napoca pe urm|torul cmp liber, expresia este automat la ap|sarea tastei Enter sau la clic Facultatea Construcii de Maini prefixat| de Access cu eticheta Expr1. Aceast| etichet| va fi numele cmpului calculat i se Catedran rezultatele interog|rii. Pentru exemplul nostru, vom da numele de PretcuTVA. va afia de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Sintaxa complet| pentru cmpurile calculate este: Multiplicarea acestui document n scop comercial este interzis|. Expri: expresie Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. unde Expri este numele coloanei iar expresie este o expresie aritmetic| cu urm|toarele componente: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Semnificaie scopComponent| m| putei contact| la: [nume_de_cmp] Un nume de cmp al unuia dintre tabelele care iau parte la ANTAL Tiberiu Alexandru interogare, cuprins ntre paranteze dreptunghiulare. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro de nmulire. * Operatorul / + Operatorul de mp|rire. Operatorul de adunare. Operatorul de sc|dere.

() Conf. dr. ing. ANTAL Paranteze rotunde pentru a indica ordinea de efectuare a operaiilor Tiberiu Alexandru ntr-o expresie complex|. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: De asemenea, este posibil| folosirea unor constante numerice sau a funciilor din biblioteca Access-ului (de exemplu, funcia Format pentru formatarea datelor afiate n cmpuri sub o ANTAL Tiberiu Alexandru form| special| sau pentru tel.: 0040-264-530918 o anumit| ordine de specificare a zilelor, lunilor i a anilor unei date). e-mail: antaltiberiu@pcnet.ro Expresii care au fost calculate n interogarea prezentat| sunt: PretUnitatecuTVA: [UnitPrice]*1.19

109

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru PretStoccuTVA: [UnitsInStock]*[PretUnitatecuTVA] Universitatea Tenhic| din Cluj-Napoca StocRamas: [UnitsInStock]-[UnitsOnOrder] Facultatea Construcii de Maini Catedra dese afieaz| i Programare Rezultatele Mecanic| sub forma: Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Interog|ri cu totale e-mail: antaltiberiu@pcnet.ro care opereaz| n cadrul unei nregistr|ri. Ar fi util| Cmpurile calculate conin calcule posibilitatea realiz|rii unor calcule care opereaz| cu un grup de nregistr|ri sau chiar cu toate nregistr|rile. Aceste tipuri de interog|ri care asigur| posibilitatea centraliz|rii (termenul tehnic este cel de agregare) folosind anumite criterii se numesc interog|ri cu totale. Se pot folosi pentru a calcula suma valorilor stocate ntr-o coloan| particular| sau pentru a calcula subtotale pentru o coloan| dependent| de valorile altei coloane, de exemplu, subtotalul vnz|rilor n fiecare s|pt|mn|. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca O linie nou|, cu numele de Totals, se va ad|uga n Din meniul View activai opiunea Totals. Facultatea Construcii de Maini seciunea de gril| a interog|rii. Termenul de agregare se foloseste pentru a desemna operatii Catedra de Mecanic| astfel o functie de agregare actioneaza asupra unui grup de nregistrari i Programare cu un grup de obiecte, 7 7 Curs de baze de date Microsoft Access cu ntregul grup. Aceast| linie va fi folosit| pentru a realiznd o oarecare operatie matematica 7 realiza calcule de mai multe categorii la nivel de coloan| a interog|rii. Unele se realizeaza pe 7 Copyright 2000. Toate drepturile sunt rezervate autorului. baza unor optiuni multiple cum sunt, functiile de agregare (cteva dintre acestea fiind: suma (sum), media (average), maximul (maximum) etc.) altele, cum sunt, Group By, Expression, Multiplicarea acestui documentoptiuni fiind unice. este interzis|. Total Field Record Limit nu au n scop comercial Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Categoria Group By document pentruare o singura optiune, pe cea Group By. Ea se foloseste cnd dorim sa Aceasta categorie uzul personal.7 7 7 specificam ca un anumit cmp al ferestrei QBE va fi folosit pentru grupare. Ea este optiunea 7 7 Sudenii participani la orice grupuride nv||mntvor plat| sau alte persoane doritoare implicita pentru Total. Aceste form| de nregistrari cu fi folosite pentru a realiza calcule de 7 7 pot multiplica documentulinterogacontra cost i cu acordul scris al autorului. n acest agregare ntr-un alt cmp al numai7 rii. scop m| putei contact| la: Categoria Expression ANTAL Tiberiu iune, pe Expression. Se foloseste pentru a crea cmpuri calculate prin Are o singura opt Alexandru 7 tel.: 0040-264-530918agregare. folosirea functiilor de e-mail: antaltiberiu@pcnet.ro Categoria Total Field Record Limit Aceasta are o singura optiune, pe Where. Ea permite specificarea unui criteriu de limitare 7 pentru un cmp agregat. Limitarea se realizeaza nainte de executarea optiunii de agregare. 7 -

110

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Categoria Aggregate Universitatea Tenhic| din Cluj-Napoca sunt: Sum, Avg, Min, Max etc. Fiecare dintre Aceasta are noua optiuni, cteva dintre ele 7 Facultatea Construcii7de Maini calcul cu datele si ntorc noi date ntr-o celula a multimii aceste optiuni realizeaza un anumit 7 Catedra de Mecanic| i Programare dinamice rezultate. Curs de baze de date Microsoft Access Nota: Interog|rile cu totale lucreaz| diferit de cele clasice. Ele nu afieaz| toate nregistr|rile 7 Copyright 2000. Toate drepturile sunt ci numai totalul acestora. n plus, cmpurile care se care satisfac criteriile de selecie impuse rezervate autorului. includ n nregistrare trebuie s| fie numai cele necesare, de exemplu, numai cmpurile pe baza Multiplicarea acestui document n scop comercial este interzis|.sort|ri. Includerea altor c|rora se vor face calculele i cmpurile pe baza c|rora se vor face cmpuri vor produce confuzie n cazul calculelor. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzulModalitatea cre|rii unei interog|ri cu totale este simpl|: selectai personal. Crearea unei cmpurile i criteriile asemenea ca la interog|rile normale, apoi interoga ri cu 7 Sudenii participani la orice form| de nv||mntliniaplat| sau alte persoane doritoare specificai ce se va petrece n cu Totals pentru fiecare cmp. n totale pot multiplica documentul numai contra cost i cu acordul scris al autorului. nun cmp condiii normale vei selecta prima oar| pe Group By pentru acest scop m| putei contact|acesta formnd grupul pentru care se vor realiza calculele - apoi vei - la: specifica un calcul pentru cmp. n exemplul urm|tor, din baza de date Northwind, am folosit ANTAL TiberiuGruparea s-a realizat pe baza cmpului SupplierID i coninutul tuturor tabelul Products. Alexandru tel.: 0040-264-530918 pentru nregistr|rile cu acelai SupplierID au fost nsumate prin cmpurilor UnitPrice e-mail: antaltiberiu@pcnet.ro n linia Totals. folosirea functiei de agregare Sum -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani prezint n continuare efectul interog|rii cu total i persoane doritoare Pentru exemplificare, la orice form| de nv||mnt cu plat| sau alte tabelul pe baza c|ruia pot realizat interogarea. Observai c|contra cost i cu acordul scris(Supplier) Exotic s-a multiplica documentul numai n tabelul Products, furnizorul al autorului. n acest scop m| putei contact| la: Liquids apare de 3 ori cu urm|toarele preuri pe unitate (UnitPrice) n dolari: 18.00, 19.00 i 10.00. Gruparea pe baza numelui de furnizori i totalizarea preurilor pe unitate ANTAL Tiberiu Alexandru (SumOfUnitPrice) face ca n interogare s| apar| o singur| linie cu Exotic Liquids avnd tel.: 0040-264-530918 totalizate cele trei valori din tabel (18.00 + 19.00 + 10.00 = 47.00) n cmpul e-mail: antaltiberiu@pcnet.ro SumOfUnitPrice.

111

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Ca lcule multiple de agregare

Se pot efectua orice num|r de calcule ntr-o interogare cu total. Se poate, de exemplu, realiza gruparea pe furnizori (SupplierID) i calcula suma pe baza cmpului UnitPrice i valoarea medie pe baza cmpului UnitsInStoc (unit|i pe stoc). Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL folosi orice num|r de coloane pentru grupare: se poate realiza gruparea pe |ri i pe Se poate Tiberiu Alexandru tel.: 0040-264-530918 se realizeaz| gruparea pe baza mai multor coloane, Access lucreaz| nume de furnizori. Dac| e-mail: antaltiberiu@pcnet.rodetermina precedena grup|rilor. de la stnga la dreapta pentru a

Totale de ex presii

n tabelul Orders a bazei de date Northwind nu exista un cmp care sa 7 7 afiseze valoarea totala a unei comenzi. Interogarea va avea ca si sursa 7 7 de date doua tabele, pe Orders si pe Order Details, iar valoarea totala a 7 7

112

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing.va fi calculata pe baza expresiei care urmeaza. unei comenzi ANTAL Tiberiu Alexandru 7 7 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Cantiate comandata: Sum([Quantity]*[UnitPrice]*(1-[Discount]))
Totale limitate

Sa presupunem ca dorim sa acelasi grup de calcule ca si nainte, dar 7 7 7 pentru o perioada de timp limitata, de exemplu pentru anul 1997. 7 Limitarea se va pune pe cmpul Order Date, folosind pe Where n Total, iar continutul acestuia nu se va mai afisa n rezultatele obtinute. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru Interog|ri de actualizare (Update Queries) tel.: 0040-264-530918 Interog|rile de actualizare permit modificarea rapid| a unui num|r de nregistr|ri dintr-un e-mail: antaltiberiu@pcnet.ro tabel. nregistr|rile actualizate depind de criterii specificate de utilizator. S| presupunem c| n baza de date Northwind dorim s| modific|m preul pe unitate (Unit Price) pentru categoria de produse care au CategoryID cuprins n domeniul [1,7] din tabelul Products. Modificarea se va face numai pentru furnizorii a c|ror SupplierID are valoarea mai mic|

113

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. cu 6. ANTAL Tiberiu Alexandru sau egal| ing. Toate aceste restricii vor fi specificate n linia de criterii. Universitatea Tenhic| din Cluj-Napoca Facultatea Construciide Maini realizai o interogare de selecie (Select Query sunt interog|rile Crearea unei Catedra de Mecanic| 'normale', cele utilizate pn| acum) de forma: i Programare interogari de 7 Curs de baze de date Microsoft Access
actualizare

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro selectai din meniul Query opiunea Update Query ; n zona grilei interog|rii apare o nou| linie numit| Update To. Specificai regulile pentru actualizarea unei coloane sau l|sai libere cmpurile corespunz|toare coloanelor unde nu dorii modific|ri. Uneori este util| includerea unor coloane n interogare, pentru care se vor specifica criteriile de selecie f|r| a dori ca aceste coloane s| fie actualizate de interogare. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca n practic|, este mai s|n|tos ca prima dat| s| definii toate criteriile de selecie i s| lansai n Facultatea Construcii de Maini execuie interogarea. R|spunsul afiat pe ecran const| n acele rnduri care se vor modifica Catedra de Mecanic| i Programare dac| interogarea normal| se transform| n una de actualizare. Dac| criteriile de selecie sunt: Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro r|spunsurile afiate vor fi:

114

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro acum, dup| procedura descris| anterior, transform|m interogarea normal| n una de actualizare. Fereastra QBE specific| este prezentat| n figura urm|toare. Aici n linia Update To a cmpului UnitPrice s-a introdus formula 1.1*[UnitPrice]. Ea definete noile valori ale cmpului dup| execuia interog|rii de actualizare. Lansarea n execuie se face la fel ca n cazul interog|rilor normale prin selectarea lui Run din meniul Query. nainte de Conf. dr. ing. ANTAL Tiberiu Alexandru deruleaz| un dialog cu utilizatorul n care l execuia interog|rii de actualizare Access-ul Universitatea Tenhic| din Cluj-Napoca care se vor modifica; dac| totul este n ordine avertizeaz| asupra num|rului de nregistr|ri Facultatea Construcii cutiei de dialog. Dac| dorii abandonarea interog|rii de actualizare selectai butonul OK al de Maini CatedraNo Mecanic| i Programare selectai de i nregistr|rile nu vor fi modificate. Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

115

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt selectie vor fi: noile valori afiate n cazul unei interog|ri de superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Expresia scris| n UpdateTo este format| din componentele standard discutate deja la Curs de baze de date Microsoft Access "Definirea unui cmp calculat". La nevoie, pot participa inclusiv constante sau funcii definite n bibliotecile Access. Copyright 2000. Toate drepturile sunt rezervate autorului.

Interog|ri de scop comercial este interzis|. Multiplicarea acestui document nad|ugare (Append Queries) Interog|rile de ad|ugare copiaz| rezultatele unei interog|ri ntr-un tabel. Tabelul destinaie trebuie s|participani la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii aib| aceleai cmpuri cu cele incluse n interogare. document pentru uzul personal. Pentru crearea unei interog|ri de ad|ugare selectai pe Crearea unei Sudenii participani la orice form| de din meniul Query. Sesau alte persoane doritoare nv||mnt cu plat| poate specifica tabelul la care interogari de se face ad|ugarea mpreun| cu acordul scris al autorului. n baza de pot multiplica documentul numai contra cost i cu localizarea lui care poate fi n acest adaugare date scop m| putei contact| la:curent| sau ntr-o alt| baz| de date. Dup| setarea cmpurilor i criteriilor, interogarea se lanseaz| n executie normal, prin selectarea lui Run Tiberiu Alexandru ANTALdin meniul Query. Access va afia un mesaj referitor la num|rul de nregistr|ri care vor 0040-264-530918 tel.:fi ad|ugate, fiind necesar| confirmarea ad|ug|rii pentru ca aceasta s| aib| loc efectiv. e-mail: antaltiberiu@pcnet.ro Nota: Dac| realizai o interogare de ad|ugare pe o submulime de nregistr|ri a unui tabel, din 7 punct de vedere practic, este o procedur| s|n|toas| s| specificai criteriile prima oar| ntr-o interogare de selectie. Verificai r|spunsurile afiate i numai apoi modificai tipul interog|rii, de la cea de selecie la cea de ad|ugare, n urma c|reia linia Append To va fi afiat|.

116

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Interogarea de Cluj-Napoca Universitatea Tenhic| dincreare a unui tabel (Make-Table Query) Interogarea ConstruciiunuiMaini Facultatea de creare a de tabel creeaz| un tabel nou i copiaz| rezultatele interog|rii n el. Acest tip de Mecanic| i Programare interogarea de ad|ugare. Catedra de interogare lucreaz| la fel cu Curs de baze de date Microsoft Access Pentru realizarea unei interog|ri de creare a unui tabel din meniul Crearea unei Query selectai . Noul nume de tabel poate fi stocat Copyright 2000. interogari deToate drepturile sunt rezervate autorului. n baza de date curent| sau n una extern|. Specificarea cmpurilor i a creare a unui ) Multiplicarea acestui criteriilor se face normal. Dup| specificarea lor selectai Run ( document n scop comercial este interzis|. tabel din meniul Query pentru lansarea n execuie a interog|rii. Access va afia un mesaj de nv||mnt superior bugetar va multiplica acest Sudenii participani la orice form| prin care ne spune cte nregistr|ripot copia n noul tabel. i aici este necesar| confirmarea pentru executarea interog|rii. document pentru uzul personal. Nota: O interogare de creare a unui tabel nv||mnt cu plat| sau altesubmulime a 7 Sudenii participani la orice form| de poate avea ca surs| de date o persoane doritoare nregistr|rilor unui tabel dejanumai contra cost i cu procedura de lucru s|n|toas| n acest pot multiplica documentul existent. i n acest caz acordul scris al autorului. presupune vizualizarea nregistr|rilor selectate printr-o interogare de selectie, apoi transformarea ei n scop m| putei contact| la: una de tipul Make-Table. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Interog|ri cu mai multe tabele e-mail: antaltiberiu@pcnet.ro s| fie organizate, ca urmare a procesului de normalizare, Majoritatea bazelor de date ajung sub forma a mai multor tabele. Relaiile ntre aceste tabele sunt stabilite pe baza cheilor primare i str|ine folosind comanda Relationships din Tools n fereastra bazei de date. Dup| crearea tabelelor i a relaiilor ntre acestea se poate trece la crearea unor interog|ri care s| aib| ca surs| de date mai multe tabele. Prin ad|ugarea de mai multe tabele unei interog|ri se pot vizualiza informaiile acelor tabele ca i cnd ar fi stocate ntr-un singur tabel.
Crearea unei Tenhic| din Cluj-Napoca Universitatea n fereastra bazei de date faceti clic pe Queries; interoga ri cu 7 Facultatea Construciide Mainipe New pentru a crea o interogare noua, iar din clic 7 doua tab ele 7

Conf. dr. ing. ANTAL Tiberiu Alexandru de date Northwind.mbd; deschideti baza -

fereastra Catedra de Mecanic| New Query selectati Design View; i Programare Curs de baze de date Microsoft Access de dialog Show Table realizati clic dublu pe din fereastra tabelele Customers si Orders, apoi nchideti fereastra; Access creeaza automat o linie ntre cele 7 Copyright 2000. figura urmatoare) pe baza relatiei corespunzatoare din fereatra Toate drepturile sunt rezervate autorului. doua tabele (vezi 7 7 7 Relationships; aceasta linie poarta denumirea de asociere si reprezinta o relatie ntre cele 7 7 7 Multiplicarea acestui document n scop comercial este interzis|. doua tabele; 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

117

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing.-ANTAL Tiberiu Alexandru realizati clic dublu pe urmatoarele cmpuri: CompanyName, OrderID, 7 Universitateapentru a vizualiza fiecare comanda facuta de un anumit client, apoi lansati n Tenhic| din Cluj-Napoca OrderDate 7 7 7 Facultatea Construcii de Maini lui executie interogarea prin clic asupra n bara cu instrumente Query Design; Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: rezultatele interogarii se afiseaza sub forma: 7 - 7 ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Implicit, Access afiseaza rezultatele interogarii pe baza indexului tabelului cu cheia primara. - 7 7 7 Sudenii exemplu, doriti orice form| de7 nv||mnt superior bugetar pot Date : Daca, de participani la sa sortati crescator rezultatele pe baza lui Order multiplica acest 7 - 7 document pentru uzul personal. treceti n mod proiectare (Design View); pozitionati cursorul pe rndul Sort al coloanei Order Date din grila QBE si Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare apasati tasta F4 pentru a deschide lista derulanta; 7 7 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest din lista selectati Ascending; pentru afisarea crescatoare a rezultatelor; 7 7 scop m| putei contact| la: lansati n executie interogarea. ANTAL Tiberiu Alexandru Tipuri de asocieri tel.: 0040-264-530918 Relatiileantaltiberiu@pcnet.ro 7 7 e-mail: ntre doua tabele sunt reguli cu privire la tipul legaturilor stabilite ntre tabele si nu cu privire la modalitatea de vizualizare a datelor din tabele. Pentru a vizualiza date din mai multe tabele acestea trebuie sa fie legate printr-un cmp comun (sau printr-un un grup de 7 cmpuri comune). Metoda de legare a tabelelor se numeste asociere (join). ntr-o interogare, tabelele care au stabilite deja relatii sunt asociate, automat. La nivelul interogarii se pot crea 7

118

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiucele existente. La fel cum exista mai multe tipuri de relatii noi asocieri sau se pot modifica Alexandru 7 Universitatea Tenhic| din Cluj-Napoca dintre acestea sunt: exista si mai multe tipuri de asocieri, cteva 7Facultatea Construcii de Maini ! asocieri interne (inner joins); Catedra de Mecanic| iexterne (outer joins); ! asocieri Programare Curs de! baze de date Microsoft Access autoasocieri (self-joins); ! asocieri de tip produs cartezian (cartesian joins). Copyright 2000. Toate drepturile sunt rezervate autorului. Asocieri interne (inner joins) Multiplicarea acestui document n scop comercial este interzis|. Asocierea implicita n Access este cea interna (inner join), denumita uneori si asociere 7 7 7 echivalenta (equi-join). Ea spune lui Access sa selecteze toate nregistrarile celor doua tabele 7 7 7 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest care au aceeasi valoare n cmpurile prin care se face asocierea. Daca sunt gasite nregistrari 7 7 7 document pentru uzul personal. care nu au valori comune ale cmpurilor folosite la asociere acestea sunt excluse din multimea dinamica nefiind afisate n foaia de date. Aceste nregistrari excluse pot fi gasite selectnd din 7 7 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare generatorul de interogari tipul "Find Unmatched Query". 7 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Crearea unei asocieri ntre tabele defineste o multime de proprieta-i. Acestea sunt reguli 7t folosite la afisarea nregistrarilor si spun lui Access cum sa interpreteze orice exceptie (sau o 7 7 ANTAL Tiberiu Alexandru eventuala eroare) ntre doua tabele. De exemplu, cum sa realizeze afisarea n cazul n care 7 7 7 tel.: 0040-264-530918 sunt nregistrari necorespunzatoare. Access poate lucra cu mai multe tipuri de asocieri, fiecare 7 7 e-mail: antaltiberiu@pcnet.ro avnd un comportament specific. Modificarea tipului unei asocieri se realizeaza prin 7 modificarea proprieta-ilor acesteia. Pentru aceasta realizati clic dublu pe linia care leaga cele 7t 7 doua tabele, pe ecran se va afisa fereastra proprieta-ilor asocierii (Join Properties). 7 7t

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Ea are doua regiuni, prima are patru liste nv||mnt superior bugetar pot multiplica acest 7 7Sudenii participani la orice form| de desfasurabile (Left Table Name, Right Table Name, Left Column Name, Right Column Name), iar a doua trei butoane cu optiuni. document pentru uzul personal. Butoanele cu optiuni controleaza proprieta-ile asocierii dupa cum urmeaza: 7 7t 7 7 1. Include nregistrarile care nv||mnt cu de asociere valori egale; 7 Sudenii participani la orice form| de au n cmpurile plat| sau alte persoane doritoare 2. 7 pot multiplica Include TOATE nregistrarile dini cu acordul scris ial autorului. n acest documentul numai contra cost tabelul Customers s numai pe acelea din Orders care au n cmpul de asociere valori egale; scop m| putei contact| la: 3. Include TOATE nregistrarile din Orders si numai pe acelea din Customers care 7 au n cmpul de asociere ANTAL Tiberiu Alexandru valori egale. tel.: 0040-264-530918 Prima optiune este cunoscuta sub 7 7 7 e-mail: antaltiberiu@pcnet.ro numele de asociere interna (inner join), urmatoarele sunt cunoscute sub denumirea de asocieri externe (outer join). Asocierea extern| la dreapta Asocierile externe sunt folosite pentru afiarea tuturor nregistr|rilor unui tabel i numai a

119

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf.comune din cel|lalt. Cnd se creeaz| o asociere extern|, lina de asociere va avea la un celor dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| marca tabelul din care sunt extrase numai nregistr|rile care au valori cap|t o s|geat| care va din Cluj-Napoca Facultatea Construcii de Maini comune. De exemplu, dac| n interogarea care afieaz| comenzile unui client se face Catedra de Mecanic| i Programare modificarea: Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop realizeaz| afiarea rezultatelor f|r| activarea opiunilor de sortare se obin 832 de i se m| putei contact| la: nregistr|ri, existnd dou| nregist|ri care nu au corespondent n tabelul Orders (una dintre ANTAL Tiberiu Alexandru urmeaz|). acestea se observ| n figura care tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestuistnga Asocierea extern| la document n scop comercial este interzis|. Aceast| asocierea corespunde opiunii 3 din fereastra de dialog Join Properties. Ea permite Sudeniinregistr|rilor la orice form| tip de nregistr|ri sunt cele care nu pot multiplica acest afiarea participani orfane. Acest de nv||mnt superior bugetar permit activarea document refereniale. n exemplul prezentat, din forma s|geii care leag| cele dou| tabele, se integrit|ii pentru uzul personal. observ| c| integritatea referenial| este activat|, deci folosirea acestei asocieri nu va genera Sudenii noi fa| de opiunea 1. rezultate participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Autoasocieri (self-joins) Autoasocierile se realizeaza ntre cmpurile aceluiai tabel. Din acest motiv tabelul va fi 7 ANTALde dou| ori pe postul de surs| de date. Va exista un tabel original i o copie a lui. Tiberiu Alexandru ad|ugat tel.: 0040-264-530918 Asocierile se creeaz| ntre original i copie. De exemplu, dac| ntr-un tabel stocai cerinele e-mail: antaltiberiu@pcnet.ro personalului ntr-un cmp Cerinte i aprob|rile cerinelor de c|tre conducere n cmpul Aprobari, atunci se va realiza o asociere ntre aceste dou| cmpuri ale aceluiai tabel pentru a g|si care cerine au fost acceptate.

120

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing.tip produs cartezian Asocierea de ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca i Orders ntr-o interogare, dar nu se specific| o Dac| se adaug| cele dou| tabele Customers Facultatea Construcii de Maini asociere ntre tabele, Access va combina toate nregistr|rile lui Customers cu toate Catedra de Mecanic| i Programare operaie va dura secunde, alteori chiar minute. nregistr|rile lui Orders. Uneori aceast| Curs de baze de date Microsoft Access tabel, cu fiecare nregistrare a celuilalt, va conduce la Combinarea fiec|rei nregistr|ri dintr-un produsul cartezian al tabelelor. Copyright 2000. Toate drepturile sunt rezervate autorului. Desi aceasta asociere este bine de evitat, voi prezenta n continuare un exemplu n care ea se 7 Multiplicarea acestui document n scop comercial este interzis|. poate folosi cu succes. Sudenii participani la orice form| de El are patru cmpuri, Nume, Prenume si Sectie Fie tabelul Angajati din figura urmatoare. nv||mnt superior bugetar pot multiplica acest 7 document pentru uzul personal. de tipul Number, Double. Se pune problema totalizarii sunt de tipul Text, iar Salar este 7 salariilor pe sectii (Sectie) si afisarea, n procente, a salarului totalizat pe fiecare sectie, Sudeniila totalul salariilor. participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare raportat pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: problemei necesita realizarea a doua interogari cu numele Prima metoda de rezolvare a 7 7 7 7 Query Suma pe Sectii si Query Suma Totala prezentate n figurile care urmeaza: 7 ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

121

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Pentru calculul procentelor din valoarea totala a salariilor se creeaza o noua interogare cu 7 7 7 numele Procente. Aceasta se prezinta n figura urmatoare si care are cmpurile: 7 7 Sectie; Suma pe sectii: Sum Of Salar; Suma totala: Sum Of Salar; Procent pe sectie: [Query Suma pe Sectii].[Sum of Conf. dr. ing. ANTAL Tiberiu Alexandru salar]/[Query Suma Totala].[Sum of salar] Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Pentru ca la afisare valorile sa fie formatate n procente, proprietatea Format a cmpului cu 7 ANTAL Tiberiu Alexandru numele Procent pe sectie este setata la #.##% 7 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Aceasta introgare este de tipul produs cartezian. Veti observa nsa ca valorile sunt afisate 7 7 7 repede ntruct unul dintre tabele contine numai o singura ntregistrare (suma tutror salariilor). 7 O alta metoda de rezolvare a problemei ar fi scrierea unei interogari de forma: 7 7 7

122

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la oricesectie, este calculat folosind formula: persoane doritoare Aici cmpul, Procent pe form| de nv||mnt cu plat| sau alte pot multiplica of salar]/DSum("[Salar]","Angajati") autorului. n acest [Sum documentul numai contra cost i cu acordul scris al scop m| putei contact| la: Functia DSum() permite calcularea sumei valorilor unui cmp dintr-un tabel. Mai sus ANTAL Tiberiu Alexandru valori vor fi nsumate, iar Angajati este tabelul care [Salar] este cmpul al carui 7 tel.:-ine cmpul n cauza. Observati ca argumentele functiei sunt siruri motiv pentru care ele 0040-264-530918 7 cont - 7 e-mail:scrie ntre apostroafe. Functia mai are un argument, optional, prin care se poate trebuie antaltiberiu@pcnet.ro specifica un criteriu pentru selectarea valorilor de nsumat. Criteriile de selectile sunt de forma "[Nume de cmp] = ' <valoare>' ".
Crearea unei asocieri mu lticoloana 7

Dou| tabele pot avea mai multe asocieri. De exemplu, dac| dorim s| afl|m clienii care au adresa firmei i cea la care se face expedierea aceeai, se poate crea o interogare de forma: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Interog|ri cu parametri
S| presupunem c| dorim s| scriem o interogare care s| fac| totalul vnz|rilor de produse

123

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru pentru anul 1996. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Dac| expresia Like "*/*/1996" din figura de mai sus se nlocuiete cu cea prezentat| n fereastra Zoom urmatoarea ( Like "*/*/" + [Introduceti anul]), se obine o 7 7 Conf. dr. ing.parametru.Tiberiu Alexandru interogare cu ANTAL Universitatea Tenhic| din Cluj-Napoca Facultatea este [Introduceti Parametrul Construcii de Maini Catedraiar atunci cndi Programare anul], de Mecanic| interogarea se Curs de pe ecran date Microsoft Access executa, baze de se afiseaza textul 7 - 7 Introduceti anul si se asteapta 7 Copyrightse introduce odrepturile sunt rezervate autorului. 2000. Toate valoare pna cnd 7 numerica. Uneori pot sa apara probleme 7 7 7 Multiplicarea acestui document n scop comercial este interzis|. la formatul cmpurilor de tipul Data/Time. Observati ca separatorul n - 7 Sudenii de tipul data este caracterul "/". nv||mnt superior bugetar pot multiplica acest participani la orice form| de expresia 7 document pentru uzul personal. Pentru ca datele sa fie formatate 7 folosind acest caracter si nu cel din Sudenii participanilui Windows de nv||mnt cu plat| sau alte persoane doritoare la orice form| Regional Settings al pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest realizati clic pe numele cmpului scop m| putei contact| la: clic pe OrderDate, apoi realizati butonul din dreapta si selectati ANTAL Tiberiu Alexandru Properties. n ferestra Field Properties tel.: 0040-264-530918 setati valoarea proprieta-ii Format la 7t e-mail: antaltiberiu@pcnet.ro mm/dd/yyyy. Verificarea corectitudinii tipului valorii introduse pentru parametru se poate face, de c|tre Access, dac| pentru parametrul cu numele Introduceti anul este specificat tipul

124

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru n figura urmatoare. Integer din Query, Parameters asa cum vede 7 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de parametrii interog|rilor de tipul Implicit, Access consider| Maini Catedraurm| modific|riiProgramare Text. n de Mecanic| i acestuia la Integer valorile pe care Curs de baze de date Microsoft Access ntreg. Pentru ca Access le va accepta vor fi numai de tipul aceast| valoare ntreag| s| fie convertit| la un ir de caractere Copyright 2000. Toate la irul "*/*/" trebuie folosite care s| poate fi ad|ugat drepturile sunt rezervate autorului. urm|toarele funcii de conversie: Multiplicarea acestui document n scop comercial este interzis|. Like "*/*/"+Trim(Str([Introduceti anul])) Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. rul ntreg introdus de la Functia Str() transforma numa 7 7 tastatura ntr-un sir de caractere, iar functia Trim() elimina 7 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare spatiile care intercaleaza sirul. 7pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Interog|ri ncruciate

Interog|rile ncruciate asigur| ANTAL Tiberiu Alexandru crearea unor totale permind n acelai timp i stabilirea exact| a modului n care informaiile sunt afiate pe ecran. Rezultatele sunt afiate sub forma tel.: 0040-264-530918 unui tabel n care rndurile (prin e-mail: antaltiberiu@pcnet.ro Row Heading), coloanele (prin Coulmn Heading) i valorile (prin Value) plasate la intersecia acestora trebuie specificate explicit. Ele au urm|toarele avantaje: ! permit afiarea ntr-o form| compact| a unor cantit|i mari de date centralizate asem|n|tor cu Excel; ! datele sunt prezentate ntr-o form| mai potrivit| pentru crearea de grafice sau de diagrame cu ajutorul lui Access GraphWizard; ! se pot crea date centralizate n Conf. dr. ing. ANTAL Tiberiu Alexandru ordine cresc|toare pentru coloane identice, dar cu mai puine rnduri. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Utilizarea acestor interog|ri impune o Catedra de Mecanic| i Programaresingur| restricie: nu se poate ordona tabelul rezultat dup| de baze de date Microsoft Access Curs valorile coloanelor calculate. De exemplu, nu se poate crea o interogare care s| afiaze produsele dup| volumul vnz|rilor. Coloanele pot avea valori care duc la conflicte, dar se poate realiza ordonarea drepturile descresc|toare autorului. Copyright 2000. Toatecresc|toare, sunt rezervate sau lipsa ordon|rii pentru valorile numelor de rnduri din prima coloan|. Access are un generatorul Crosstab Query Wizard pentru crearea interog|rilor ncruciate, dar scop comercial este interzis|. Multiplicarea acestui document n el poate lucra numai cu un singur tabel. Realizai interogarea ncruciat| din figura care urmeaz|. La nceput creai o interogare de selecie care s| conin| tabelele de mai jos, apoi folosii Crosstab din Query pentru ca linia Crosstab s| Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

125

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru componente (rnd, coloan| i valoare) ale fie afiat|. Specificai n continuare cele trei Universitatea Tenhic| din Cluj-Napoca interog|rii ncruciate. Facultatea Construcii de Maini Catedra deinterog|rii sunt afiate ntr-un tabel de forma: Rezultatele Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Cmpul Expr1 se calculeaz| pe baza expresiei: Expr1: Format([OrderDate],"mmm") Cmpul Vinzari se calculeaz| prin formula: Vinzari: Sum([Order Details].[Quantity]* [Order Details].[UnitPrice]) Conf. dr. ing. ANTAL Tiberiu Alexandru Expr1, pe baza formulei de mai sus, va primi numele lunii, format| din trei caractere, n care Universitatea Tenhic| din Cluj-Napoca s-a f|cut comanda, iar funcia Sum() Facultatea Construcii de Maini va realiza suma valorilor cmpului corespunz|toare Catedra de Mecanic| lun|. Dac| dorii ca valorile s| fie afiate ordonate, cresc|tor, dup| aceluiai produs ntr-o i Programare Curs deprodusului, pentru coloana ProductName, selectai din Sort pe Ascending. numele baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului.

Propriet|ile interog|rilor

La crearea uneiacestui document n scop pot fi setateeste interzis|. Multiplicarea interog|ri, propriet|ile ei comercial din View, Properties. Acestea depind de tipul interogarii care se creeaza si de tabelul sau cmpul cu care se lucreeaza. Cteva dintre 7 77 proprieta-participani la orice form| de nv||mnt superior bugetar pot multiplica acest 7 tile mai importante sunt prezentate n tabelul care urmeaz|: Sudenii document pentru uzul personal. Proprietate Descrierea Q S C U D M A Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare u e r p e a p pot multiplica documentul numai contra cost i cu acordul scris aleautorului. n acest p l o d l k scop m| putei contact| la: r e s a e e e y c s t t - n ANTAL Tiberiu Alexandru t t e e T d tel.: 0040-264-530918 a a e-mail: antaltiberiu@pcnet.ro b b l e Description Text care descrie interogarea X X X X X X

126

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Output All Fields Afiarea tuturor cmpurilor din tabelul care Universitatea Tenhic| din Cluj-Napoca este sursa de Facultatea Construcii de Mainidate n interogare Catedra de Mecanic| i Programare "maxime" sau "minime" Top Values Num|rul de valori Curs de baze de date Microsoft Access care vor fi ntoarse

X X

X X X X

Unique Values ntoarce numai valori unice n cmpurile X X X Copyright 2000. Toate drepturile sunt rezervate autorului. mulimii dinamice Multiplicarea acestui document n scop comercial este interzis|. Unique Records ntoarce numai nregistr|ri unice n cmpurile X X X X mulimii dinamice Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Run Permissions Stabilete drepturile utilizatorului specificat X X X X X X Source participani la orice form| de nv||mnt cu plat| sau alte persoaneX X X Numele bazei de date externe pentru toate X X X doritoare Sudeniidatabase tabelele/interog|rile pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| Connect Source putei contact| la: aplicaiei folosite pentru conectarea la X X X X X X Numele Str baza de date extern| ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Record Locks Blocarea nregistr|rilor cnd interogarea se e-mail: antaltiberiu@pcnet.ro obicei pentru cele de aciune) execut| (de ODBC Time-out Filter Num|rul de secunde nainte de a raporta eroare la deschiderea bazei de date Filtrul se ncarc| automat mpreun| cu interogarea X X X X X X X X X X X X X X X X X X X

Order By Ordinea de Alexandru Conf. dr. ing. ANTAL Tiberiu sortare se ncarc| automat cu interogarea Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini MaxRecords Num|rul maxim de nregistr|ri ntors de baza Catedra de Mecanic| i Programare de date ODBC Curs de baze de date Microsoft Access SubDatasheet Numele subfoii de date Copyright 2000. Toate drepturile sunt rezervate autorului. name

Link Child Numele cmpurilor comercial este interzis|. X X X X X Multiplicarea acestui document n scopdin subinterogare Fields Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica X Link Master Numele cmpurilor din tabelul principal X X X X acest document pentru uzul personal. Fields Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Subdatasheet n|limea maxim| a subfoii de date X X X X X pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Height scop m| putei contact| la: Subdatasheet nregistr|rile sunt iniial afiate expandat? X X X X X Expanded ANTAL Tiberiu Alexandru tel.: 0040-264-530918 RecordSet Type Tipul mulimii de nregistr|ri, specific| dac| e-mail: antaltiberiu@pcnet.ro fi editate tabelele pot Destination Table Numele tabelului destinaie X X X

127

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Destination DB Numele bazei de date Universitatea Tenhic| din Cluj-Napoca destinaie Facultatea Construcii depentru conectare la baza de date Dest Connect Str irul Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

X X X X

7 CopyrightInterogari pentru ntreinerea bazelor de date 2000. Toate drepturile sunt rezervate autorului. Access are dou| generatoare pentru ntreinerea bazelor de date: ! Multiplicarea Find Duplicate Query Wizard: afieaz| nregistr|rile duplicate, ntr-un acestui document n scop comercial este interzis|. singur tabel, pe baza unui cmp al tabelului; Sudenii participani la orice form| de Wizard: afieaz| toatebugetar pot multiplica acest ! Find Unmatched Query nv||mnt superior nregistr|rile care nu au document pentru uzul personal.ntr-un alt tabel. nregistr|ri corespondente
Sudenii participani la orice form| de nv||mnt cusingur tabel, iarpersoane doritoare Find Duplicate Query Wizard acioneaz| asupra unui plat| sau alte Find Unmatched pot multiplica documentul numai contra cost i cu acordul scris al autorului. generatoare Query Wizard compar| nregistr|rile unui table cu cele ale unui alt tabel. Aceste n acest scopafiate n lista generatoarelor disponibile atunci cnd se ncepe o nou| interogare. sunt m| putei contact| la: ANTAL Tiberiu Alexandru Find Duplicate Query Wizard tel.: 0040-264-530918 Generatorul permite crearea unei interog|ri care raporteaz| nregist|rile unui tabel care e-mail: antaltiberiu@pcnet.ro mai multe cmpuri ale tabelului. Access va cere care sunt oprezint| dubluri pentru unul sau cmpurile de verificat, apoi mai cere un grup de alte cmpuri care vor fi afiate de interogare. Pe baza rezultatelor, se pot determina violarile de chei datorit| duplic|rii valorilor. Atunci 7 cnd avem un tabel "primit", pentru care trebuie s| cre|m o cheie, iar aceast| interogare afieaz| nregist|ri, avem siguri valori Null sau nregistr|ri duplicate.

Find Unmatched Query Wizard

Conf. dr. ing. ANTAL Tiberiu Alexandru Generatorul permite crearea unor interog|ri pentru afiarea nregist|rilor vaduve i orfane 7 Universitatea Tenhic| din Cluj-Napoca ntre dou| tabele. O nregistrate este orfan| dac| n tabelul din partea de "muli" nu are Facultatea Construcii de Maini corespondent n tabelul din partea de "unu". O nregistrare este v|duv| dac| n partea de "unu" Catedra de Mecanic| i Programare a unei relaii "unu la muli" nu exist| nregistrarea corespondent| n cel|lat tabel. Access cere Curs de baze de date Microsoft Access numele celor doua tabele de comparat, cmpul de legatura ntre ele si cmpurile tabelului 7 7 7 "unu" care vor fi afisate. Daca se creeaza relatii ntre tabele si se ncearca setarea integrita-ii 7 7 7 7t Copyright 2000. Toate drepturile sunt rezervate autorului. referentiale, acest tip de interogare va raporta nregistrarile care violeaza intergritatea. 7 7 Multiplicarea acestui document n scop comercial este interzis|.

Opiuni pentru proiectarea interog|rilor

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

128

Introducere n Microsoft Access: Interogari - cursul 6 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Exista mai multe optiuni de proiectare implicite care pot fi specificate la proiectarea unei 7 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:7 antaltiberiu@pcnet.ro 7 prin selectarea din Tools a lui Options, apoi prin interogari. Acestea se vizualizeaza selectarea lui Tables/Queries. Tabelul care urmeaza descrie optinile implicite de proiectare a interogarilor prezentate n 7 7 figura de mai sus. Optiune Descriere

Conf. dr. ing.Names Tiberiu-Alexandru Table n QBE pentru Yes Show Table ANTAL Afiseaza rndul 7 Universitatea Tenhic| din Cluj-Napoca Output All Fields Afiseaza Facultatea Construcii de Maini 7 toate cmpurile surselor de date sau numai cmpurile din panoul Catedra de Mecanic| i Programare QBE Curs de baze de date Microsoft Access Enable AutoJoin Foloseste numele comune de cmpuri pentru crearea automata 7 de asocieri ntre doua tabele care 7 Copyright 2000. Toate drepturile sunt rezervate autorului.nu au relatii. Tipul cmpurilor trebuie sa fie identic 7 Multiplicarea acestui document n ioneaza vizualizarea rezultatelor interogarii ntr-un Run Permissions Restrict scop comercial este interzis|. 7 7 mediu multi-utilizator. Pentru Owner rezultate pot fi vazute 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest numai de creatorul interogarii 7 document pentru uzul personal. SQL Server Compatible Validata, optiunea genereaza interogari care respecta sintaxa 7 7 7 ANSI-92 SQL Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

129

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Obiectivele Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

cursului 7

Dupa parcurgerea acestui curs veti cunoaste: 7 Copyright 2000. Toate drepturile sunt rezervate autorului. ! conceptele de baz| legate de aspectul vizual al formularelor (Form Multiplicarea Types); document n scop comercial este interzis|. Layout acestui ! cum se la orice form| de nv||mnt AutoForm; Sudenii participanicreeaz| un formular cu aplicaiasuperior bugetar pot multiplica acest document pentru uzul personal. ! cum se creeaz| un formular cu Generatorul de Formulare (Form Wizard); Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra costmodurile de proiectare autorului. n acest ! cum se utilizeaz| vizualiz|rile n i cu acordul scris al (Design View), scop m| putei contact| la: de formular (Form View) i de vizualizare nainte de tip|rire (Print Preview) ANTAL Tiberiu Alexandru ale formularelor; tel.: 0040-264-530918 cum se creeaz| un e-mail:! antaltiberiu@pcnet.ro formular f|r| Generator; ! cum se utilizeaz| vizualizarea n mod proiectare a formularelor; ! ! cum se deschide un formular existent n mod proiectare; cum se afieaz| lista propriet|ilor (Property List);

! cum se afieaz| lista cmpurilor (Field List); Conf. dr. ing.cum se afieaz| cutia cu instrumente (Toolbox); ANTAL Tiberiu Alexandru ! Universitatea Tenhic| din Cluj-Napoca ! cum se afieaz| codul Facultatea Construcii de Maini din spatele formularului (Code Behind the Form); Catedra de Mecanic| i Programare ! cum se selecteaz| i manipuleaz| controalele (Control) i etichetele Curs de baze de date Microsoft Access (Label); Copyright 2000. Toate drepturile sunt rezervate autorului. ! cum se modific| dimensiunea unei seciuni (Section); ! Multiplicareacum se modific| l|imea (width) unui formular; acestui document n scop comercial este interzis|. ! ce sunt controalele nelegate (Unbound), legate (Bound) i calculate Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest (Calculated); document pentru uzul personal. ! cum se deschide cutia cu instrumente i care sunt instrumentele de baz| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplican formulare; numai contra cost i cu acordul scris al autorului. n acest folosite documentul scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

130

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Formulare (Forms) Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra Mecanic| i Programare o metod| prietenoas| de vizualizare a datelor, de Formularele furnizeaz| Curs deacestea pot fi afiate folosind diferite tipuri de caractere i culori, n afara baze de date Microsoft Access acestora mai pot conine i imagini sau desene; Copyright 2000. Toate drepturile suntpentru afiarea i tip|rirea datelor; Formularele se folosesc rezervate autorului. Formularele se folosesc pentru ad|ugarea, modificarea i tergerea Multiplicarea acestui din baza den scop comercial este interzis|. ntegistr|rilor document date. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Tabelele furnizeaz| o modalitate convenabil| pentru stocarea datelor, iar interog|rile permit Universitatea Tenhic| din Cluj-Napoca extragerea unor date care satisfac nevoi particulare.Vizualiz|rile n mod foaie de date Facultatea Construcii de Maini (Datasheet View) a tabelelor i interog|rilor furnizeaz| modalit|i pentru afiarea i Catedra de Mecanic| i Programare introducerea datelor. Formularele dau utilizatorului mai mult| putere n controlul datelor din Curs de baze de date Microsoft Access baz|, furniznd n acelai tip i o interfa| vizual| mai atractiv|. Copyright 2000. Toate drepturile sunt rezervate autorului. n faza de proiectare a formularelor, o varietate de tehnici cum sunt texte adiionale, m|rimi i stilul de caractere, culori, imagini n scop desene, grafice, butoane Multiplicarea acestui document scanate, comercial este interzis|.de comand| care pot fi folosite pentru a deschide noi formulare sau a nchide formulare deschise sau pentru a lansa interog|riparticipani la orice form| de nv||mnt superiorabugetar pot multiplica acest Sudenii sau pentru a derula alte operaii, sunt folosite pentru da o nou| imagine procesului de manipulare a datelor.personal. document pentru uzul Formularele sunt folositeorice form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la ntr-o multitudine de scopuri: afiarea datelor; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest introducerea datelor scop m| putei contact| la:n baza de date; editarea (modificarea i tergerea) datelor; tip|rirea datelor la imprimant|; ANTAL Tiberiu Alexandru 0040-264-530918sistem de meniuri pentru utilizatorul bazei de date. tel.: formarea unui e-mail: antaltiberiu@pcnet.ro Toate datele unui formular au ca surs| unul sau mai multe tabele din Ce aduc n plus baza de date. Structura tabelelor nu este afectat| de proiectul formularele? formularului, dar datele din tabel pot fi modificate prin aciuni lansate n cadrul formularului.

131

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiuformularul pune la dispozitia programatorului mai multe Vizualizat n modul proiectare, Alexandru Universitatea Tenhic| rora Cluj-Napocaobiecte de control, denumite, pe scurt, controale. din pot fi plasate sectiuni pe suprafata ca - 7 Facultateacele mai folosite Maini Sectiunile Construcii de sunt: Catedra de Mecanic|formularului (form header): se afiseaza la nceputul ferestrei; antetul i Programare - 7 Curs de baze de date Microsoft Access sectiunea detaliu (detail section): contine controale pentru manipularea valorilor stocate n sursa de date (tabel sau interogare) - este o sectiune obligatorie; Copyright 2000. Toateformularuluisunt rezervate autorului.din subsolul formularului. drepturile (form footer): este zona sfrsitul Multiplicarea acestui document n scop comercial este interzis|. Proiectarea formularelor este mult uurat| de generatoarele de formulare (Form Wizards). Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Aspectul vizual document pentru uzul personal. (Form Layout) al formularului Exist| o varietate de moduri de prezentare ale aspectului unui formular. Generatorul de formulare ofer| patru la orice form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participanitipuri de aspecte. Fiecare poate fi modificat, ntre anumite limite ns|, pentru a satisface ct mai bine un aspect particular.cu acordul scris al autorului. n acest pot multiplica documentul numai contra cost i scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Coloan| (Columnar) e-mail: antaltiberiu@pcnet.ro

Tipuri de aspecte ale formularelor


Tabel (Tabular)

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000.(Datasheet) Foaie de date Toate drepturile sunt rezervate autorului. Aliniat (Justified) Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Crearea unui formular cu AutoForm


AutoForm creeaz| un formular pe care se vor afia toate cmpurile i nregistr|rile tabelului sau interog|rii selectate. Fiecare cmp apare pe o linie separat| cu o etichet| n stnga lui.

132

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. fereastra bazeiTiberiu (Database window) clic pe butonul Tables sau Queries; n ing. ANTAL de date Alexandru Universitatea numele tabelului sau interog|rii pe baza c|ruia se va construi formularul sau clic pe Tenhic| din Cluj-Napoca Facultatea Construcii de Maini deschidei tabelul sau interogarea n orice mod de vizualizare; Catedra depe AutoForms ( clic Mecanic| i Programare ) din meniul Insert. Curs de baze de date Microsoft Access Dup| ce formularul a fost creat, este deschis automat n modul de vizualizare al datelor (Form Copyright 2000. Toate drepturile sunt rezervate autorului. din tabel. Dac| n baza de date View) i este gata pentru introducerea sau modificarea datelor Northwind.mdb vei selecta tabelul Categories, vei obine formularul urm|tor: Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf.dorii s| nchidei formularul, Access-ul va lansa un dialog pentru confirmarea salv|rii Dac| dr. ing. ANTAL Tiberiu Alexandru Universitateadate. lui n baza de Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Crearea unui formular Curs de baze de date Microsoft Access cu Generatorul de Formulare

(From Wizard)

Copyright 2000. Toate drepturile cu ajutorul Generatorului de Formulare (Form Wizard). Este posibil| crearea unui formular sunt rezervate autorului. Metoda este direct| i destul de simplu de utilizat. Proiectul formularului obinut se va putea Multiplicarea acestui document n scop comercial este interzis|. modifica ulterior.
Pentru a crea un uzul personal. document pentru fereastra bazei formular cu Form de date W izard

Sudenii participani la orice n form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare (Database pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Window) clic pe scop m| putei contact| la: butonul Forms; ap|sai butonul New i cutia de ANTAL Tiberiu Alexandru dialog New Form va fi afiat|: tel.: 0040-264-530918 selectai Form Wizard; e-mail: antaltiberiu@pcnet.ro selectai un tabel sau o interogare care va fi sursa de date pentru formularul care urmeaz| s| fie creat - eu am selectat tabelul Employees

133

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru din baza de date Northwind.mdb; Universitatea butonul OK pentru afiarea paginii urm|toare din Generator; clic pe Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe cmpul care dorii s| apar| pe formular, apoi clic pe s|geata la dreapta (>) pentru ca s| fie ad|ugat n seciune cmpurilor selectate (Selected Fields); repetai procedura de mai sus pentru fiecare cmp care dorii s| apar| pe formular; Dac| este cazul, putei folosi s|geata n jos din seciune Tables/Queries a cutiei de dialog Conf. dr. ing. ANTAL de dat| diferit| care va conine alte cmpuri; pentru a selecta o surs| Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini eu am selectat cmpurile conform figurii urm|toare: Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

cnd toate cmpurile dorite au fost ad|ugate ap|sai butonul Next;

134

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru urm|toarea pagin| permite selecia aspectului (layout) formularului; Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro selectai opiunea dorit| apoi clic pe butonul Next; urm|toarea pagin| va afia o list| cu stilurile predefinite de formulare:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: selectai una dintre opiuni, apoi clic pe Next; urm|toarea pagin| permite specificarea numelui formularului care va fi creat i ANTAL Tiberiu Alexandru formularului; opiunile finale pentru utilizarea tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

135

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe butonul Finish pentru crearea formularului; dac| ai p|strat opiunea "Open the form to view or enter information", atunci formularul va fi afiat pe ecran astfel:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului.

Moduri de vizualizare a formularelor Multiplicarea acestui document n scop comercial este interzis|. Modul de vizualizare proiectare (Design View) sau, mai pe scurt, Modul de modul Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest vizualizare proiectare proiectare pentru uzul personal. document permite (Design View ) ad|ugarea, Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare modificarea pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest i tergerea obiectelor de la: scop m| putei contact| pe suprafaa formularului. Formularul creat anterior este prezentat n ANTAL Tiberiu Alexandru modul proiectare n figura tel.: 0040-264-530918 al|turat|. e-mail: antaltiberiu@pcnet.ro
pentru vizualizarea formularului n mod proiectare (Design View), clic pe meniul

136

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru este afiat n fereastra bazei de date. View ( ) n timp ce formularul Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Modul de vizualizare formular sau, mai pe scurt, modul formular este cel pentru care s-a creat Catedra de Mecanic| i Programare formularul. n acest mod se pot introduce sau modifica datele din tabelele i interog|rile care Curs de baze de date Microsoft Access sunt sursele de date ale formularului. pentru a trece n modul formular, din meniul View, selectai Pentru ). vizualizarea Multiplicarea acestui Form View ( scop comercial este interzis|. document n form ularului n mod "formular" Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest (Form View ) document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Vizulalizare nainte de tip|rire (Print Preview) i cu acordul scris ecran a formei n care se pot multiplica documentul numai contra cost permite afiarea pe al autorului. n acest va tip|ri la imprimant| coninutul unui formular. scop m| putei contact| la: ANTAL Tiberiu Alexandru Vizualizarea tel.: 0040-264-530918 nainte de Pe ecran tiparire antaltiberiu@pcnet.ro se e-mail: (Print Preview) clic pe Print Preview ( ) din meniul File. Copyright 2000. Toate drepturile sunt rezervate autorului.

va afia o pagin| de imprimant| cu un coninut de forma:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Crearea unui formular f|r| Generator


ANTAL Tiberiu Alexandru Este posibil s| nu folosim Generatorul pentru crearea ntregului formular, ci s| construim tel.: 0040-264-530918 numai un schelet de baz|. Exist| cazuri cnd formularul pe care l dorim difer| foarte mult de e-mail: antaltiberiu@pcnet.ro care Generatorul le poate crea, n acest caz vei construi tipurile pe formularul de la "zero".
Pentru a crea un formular fara Generator

n fereastra bazei de date, clic pe butonul Forms; clic pe butonul New, acesta va duce la afiarea ferestrei New

137

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Form; Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii devoi folosi tabelul Employees din baza de date Northwind.mdb n exemplul care urmeaz| Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:din list| selectai vizualizarea n mod proiectare (Design View), apoi clic pe s|geata antaltiberiu@pcnet.ro n jos i selectai tabelul sau interogarea care va fi sursa de date pentru formular; clic pe butonul OK i proiectul formularului va fi vizualizat pe ecran.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru Vizualizarea ferestrei n mod proiectare tel.: 0040-264-530918 deschidei o baz| de date astfel nct s| fie afiat| fereastra e-mail: deschide Pentru aantaltiberiu@pcnet.ro bazei de date (Database Window); un form ular clic pe butonul Form; existent n mod proiectare deschidei formularul pe care dorii s|-l vizualizai; clic pe meniul View, de aici selectai Design View.

138

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca n exemplul care urmeaz| am folosit formularul Orders din baza de date Nortwind.mdb. n Facultatea Construcii esteMaini figura urm|toare acesta de vizualizat n modul formular. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Acelai formular, vizualizat n mod proiectare arat| astfel: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Fereastra modului proiectare


Fereastra modului proiectare conine un num|r de elemente vizuale cu care trebuie s| fii familiarizai.

139

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. sau ascunderea liniarului (Rulers) Afiarea ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| este Cluj-Napoca dac| liniarul nu din afiat, din meniul View, clic pe comanda Ruler. Dac| liniarul Facultateaun clic pe aceeai comand| va duce la ascunderea lui. Un articol de meniu care are este afiat, Construcii de Maini Catedra de Mecanic| i Programare comut| la selectare, se numete articol bistabil. dou| st|ri distincte i stabile, ntre care Curs de baze de date Microsoft Access Afiarea listei de propriet|i (Properties) a unui obiect de pe suprafaa formularului Copyright 2000. pe suprafaa formularului are un set de caracteristici denumite propriet|i. Fiecare obiect de Toate drepturile sunt rezervate autorului. Acestea sunt afiate de Access ntr-o fereastr| special| sub forma unei liste. Unele propriet|i Multiplicarea acestui document n scop comercial este interzis|. pot fi modificate de utilizator arbitrar, altele pot lua numai valori particulare care se pot selecta din liste speciale. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest pentru afiarea listei de propriet|i clic pe Properties din meniul View sau document pentru uzul personal. din bara de instrumente Form Design, clic pe . Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare La deschiderea documentul numai contra cost i cu acordul scris al autorului. n acest pot multiplica unui formular, obiectul putei este chiar formularul, scop m| selectatcontact| la: lista propriet|ilor lui se prezint| sub forma: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Afiarea listei cmpurilor (Field e-mail: antaltiberiu@pcnet.ro List) Sursa de date a formularului este fie un tabel, fie o interogare. Ar fi incomod dac| utilizatorul ar trebui s| memoreze numele cmpurilor de date ale sursei. Afiarea listei de cmpuri ale sursei ing. ANTAL Tiberiu Conf. dr. de date rezolv| aceast|Alexandru problem|. Dac| dorii ca unul din Universitatea Tenhic| din Cluj-Napoca cmpurile listei s| apar| pe suprafaa Facultatea Construcii de Maini formularuluiMecanic| i Programare Catedra de este suficient s|-l tragei din list| baze de date Microsoft Access Curs de pe suprafaa formularului. pentru afiarea listei cmpurilor, clic din meniul View pe Field List sau Copyright bara de instrumente Form Design, clic pe din 2000. Toate drepturile sunt rezervate autorului. . Multiplicarea acestui document n scop comercialca surs| de date interogarea cu numele Lista cmpurilor pentru formularul Orders, care are este interzis|. Orders Qry, se prezint| sub forma: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Afiarea cutiei cu instrumente (Toolbox) Bara cu instrumente grupeaz| obiectele standard, numite i controale (controls) care pot fi aezate pe suprafaa unui formular. pentru afiarea barei cu instrumente clic pe Toolbox din meniul View sau

140

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru din bara de instrumente Form Design, clic pe Universitatea Tenhic| din Cluj-Napoca bara de instrumente se va afia sub forma: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Afiarea codului din spatele formularului scop m| putei contact| la: ale unui formular pot fi manipulate prin intermediul limbajului Obiectele bazei de date i cele de programare Visual Basic for Applications (VBA). Instruciunile corespunz|toare ANTAL Tiberiu Alexandru vizualizate astfel: obiectelor unui formular pot fi tel.: 0040-264-530918 meniul View sau clic pe Code din e-mail: antaltiberiu@pcnet.ro din bara de instrumente Form Design, clic pe . Pentru formularul Orders, codul din spatele lui este de forma:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Manipularea proiectului de formular


Dup| ce ai creat un formular cu Generatorul, putei muta, ad|uga sau terge unele cmpuri. Principiul de lucru este acelai cu cel uzitat n toate aplicaiile Microsoft: selecteaz|, apoi

141

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru manipuleaz|. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini pe suprafaa unui formular, n urma folosirii Controalele pe care Access-ul le pune Catedra de Mecanic| i Programare Generatorului, se numesc controale legate. Aceasta nseamn| c| ele sunt legate de Curs de baze de date Microsoft Access au fost selectate drept surs| de date. Un control legat cmpurile tabelelor sau interog|rilor care este compus dintr-o etichet| (Label) i o cutie text (Text box). Eticheta este titlul cmpului Copyright 2000. Toate drepturile sunt rezervate autorului. afiat pe suprafaa formularului i se g|sete stocat| n proprietatea titlu (Caption) din lista de propriet|i ale etichetei. Cutia text va stoca datele dintr-un tabel. Multiplicarea acestui document n scop comercial este interzis|.

Rolul controalelor orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani la

Controalelepentru uzul pentru introducerea si afisarea datelor, de asemenea, se mai folosesc document se folosesc personal. pentru afisarea informatiilor statice. Fromularele si rapoartele lucreaza cu acelesi controale. n 7 cele ce urmeaza vor fi la orice form| de nv||mnt cu plat|Controalele sunt n realitate 7 Sudenii participani discutate controalele pentru formulare. sau alte persoane doritoare ferestre, asemenea tuturor celorlate elemente ale i cu aplicatii Windows. Le fel ca si orice alta pot multiplica documentul numai contra cost unei acordul scris al autorului. - acest 7 n ferestra, controlul, poate primi date de la utilizator numai daca este activ (are focalizarea). De 7 7 scop m| putei contact| la: exemplu, pentru ca utilizatorul sa poata introduce date ntr-o Cutie Text, aceasta trebuie sa fi 7 7 7 fost selectata n prealabil de utilizator sau printr-o secventa de program. Unele controale pot 7 -7 ANTAL Tiberiu Alexandru lua valori specificate n timpul proiectarii de catre utilizator sau n timpul executiei aplicatiei 7 7 tel.: 0040-264-530918 prin anumite secvente de program. Valoarea controlului este cea afisata de acesta, de - 7 e-mail: antaltiberiu@pcnet.ro exemplu, o Cutie Text este valoarea afiata n interiorul cutiei. Toate controalele au 7 proprieta-i pe care aplicatia le poate citi si modifica. 7t -

Editarea controalelor
Poziionarea i redimensionarea unui control este mai uoar| dac| se folosete grila (Grid).
Selectarea unui Universitatea Tenhic|vei observa opt puncte de form| dreptunghiular| din Cluj-Napoca control cu Facultatea Construcii de Maini (Label box) i la mijloacele laturilor mouse-ul cutiei etichet|

Conf. dr. ing. ANTALClic undeva pe suprafaa controlului. Dac| ai f|cut clic pe o etichet|, Tiberiu Alexandru n colurile cutiei care permite Catedra de Mecanic| modificarea dimensiunilor cutiei (sizing handles). n colul din stnga i Programare Curs de baze de date Microsoft Access punct mai mare (move handle), el apare att la sus se observ| un etichet| ct i la cutia text. Dac| facei clic pe suprafaa cutiei text vei observa cele opt Copyright 2000.aceleaidrepturile sunt rezervate autorului.pe chenarul cutiei de text i dreptunghiuri n Toate poziii caracteristice, de data aceasta unul singur n colul stnga sus al cutiei etichet|. Acest punct mai mare n colurile din stnga Multiplicarea acestui document n scopgrup a celoreste interzis|. sus permite deplasarea individual| sau n comercial dou| cutii. Sudenii participani control pe altul se face prin ap|sarea tastei Tab. pot multiplica acest Poziionarea de pe un la orice form| de nv||mnt superior bugetar document pentru uzul personal.

Pentru a fixa poziia controalelor la punctele grilei

Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare selectai Format din meniu; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest selectai articolul de meniu Snap to Grid. Dac| aceast| opiune este activat| sub scop m| putei contact| la: forma toate controalele care se vor crea vor fi fixate n punctele grilei. ANTAL Tiberiu Alexandru Pentru mutarea controalelor tel.: 0040-264-530918 e-mail:avnd selectate un grup de controale, plasai cursorul pe latura controlului. Forma antaltiberiu@pcnet.ro cursorului se va schimba ntr-o mn| deschis|; tragei controlul n noua poziie, apoi eliberai butonul mouse-ului.

Pentru mutarea independent| a cutiei text sau etichet|

142

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing.selectat un control Alexandru de controale, plasai cursorul peste dreptunghiul avnd ANTAL Tiberiu sau un grup Universitatea (move handle) al unui control. Cursorul i va schimba forma ntr-o mn| care din stnga sus Tenhic| din Cluj-Napoca Facultatea Construcii de Maini arat|. Catedra de Mecanic| noua poziie, apoi eliberai butonul mouse-ului. tragei cutia pe i Programare Curs de baze de date Microsoft Access Nota: Dac|, atunci cnd facei clic pe un control, meninei ap|sat butonul din stnga, 7 Copyright 2000. Toate drepturile suntcontrolul va putea fi mutat imediat. cursorul va lua forma minii deschise i rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

Pentru a redimensiona un control

selectai un control, poziionai cursorul pe unul dintre punctele de redimensionare Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest (sizing handles). Forma cursorului se va modifica ntr-o linie cu s|gei la ambele capete document pentru uzul personal. indicnd sensurile n care se poate efectua tragerea; clic pe butonul stng al mouse-ului i tragei de punct, redimesionnd obiectul la o Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare dimensiune mai mare sau mai mic|. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Pentru a terge un control

clic undeva pe control; ANTAL Tiberiu Alexandru ap|sai tasta Delete. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Nota: Dac| ai selectat o etichet| i ap|sai Delete, se va terge numai eticheta. Dac| ai 7 selectat o cutie text, la ap|sarea lui Delete se va terge att cutia ct i eticheta corespunz|toare ei.

Pentru a multiplica un grup de controale


selectai controlul sau controalele; selectai Duplicate din meniul Edit. Conf. dr. ing. ANTAL Tiberiu Alexandru O copie a controalelor va ap|rea imediat dedesubtul controalelor din Cluj-Napoca Universitatea Tenhic| originale. Facultatea Construcii de Maini Nota: Dac| Mecanic| i Programare 7 Catedra de repoziionai controlul duplicat i selectai din nou Duplicate, Access-ul va crea un al de baze de date Microsoft Access Curs treilea control care va fi poziionat aa nct cele trei controale s| fie egal distanate. Copyright 2000. Toate copia controale folosind meniul Edit Pentru a muta sau drepturile sunt rezervate autorului. selectai controlul; Multiplicarea acestui document n scop comercial este interzis|. selectai Cut sau Copy din meniul Edit pentru a plasa controlul n Clipboard; selectai Paste din Edit. Controlul va fi plasat n colul din stnga sus al seciunii de Sudeniiformularului; la orice form| de nv||mnt superior bugetar pot multiplica acest detalii a participani document pentru uzul n poziia dorit|; mutai controlul personal. Sudenii participani la dou|form| de nv||mnt cu plat| sau alte persoane doritoare Pentru selectarea a orice controale adiacente pot multiplica documentulafara grupului i trageicu acordul scris al autorului.selectat. Pe clic ntr-un punct n numai contra cost i cursorul peste controalele de n acest scop m| putei contact| la: va desena un dreptunghi n jurul grupului selectat. Toate m|sur| ce mutai cursorul el controalele care sunt cuprinse n interiorul dreptunghiului sau sunt intersectate de laturile lui, ANTAL Tiberiu Alexandru vor fi selectate. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Pentru a selecta un grup de controale neadiacente

inei ap|sat| tasta Shift pe m|sur| ce selectai fiecare control. Dac| din eroare ai selectat un control nedorit selectai-l din nou, efectul va fi deselectarea lui.

143

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Pentru alinierea unui grup de controale ntre ele Universitatea Tenhic| din Cluj-Napoca selectai controalele de aliniat; Facultatea Construcii de Maini selectai alinierea (Align) din meniul Format, apoi selectai opiunea de aliniere dorit| Catedra de Mecanic| i Programare din submeniul: . Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

Pentru participani la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii a modifica spaierea dintre controale
document pentru uzul personal. selectai controalele care dorii s| fie spaiate; selectai spaiere orizontal| (Horizontal Spacing) sau spaiere vertical| (Vertical Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Spacing) din meniul Format; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acestdin selectai m|rete (Increase), micoreaz| (Decrease) sau f|-le egale (Make Equal) scop m| putei contact| la: submeniul: . ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Pentru a salva un formular cu toate modific|rile f|cute asupra controalelor lui


selectai Save din meniul File; introducei numele formularului; ap|sai Enter, apoi clic pe OK.

Pentru ing. ANTAL Tiberiu Alexandru Conf. dr.a modifica dimensiunea unei seciuni
Dac| modificai poziia controalelor sau ad|ugai noi controale formularului este posibil s| Universitatea Tenhic| din Cluj-Napoca dorii modificarea dimensiunilor unei Facultatea Construcii de Maini seciuni de formular. poziionai cursorul peste marginea de jos a seciunii. Forma cursorului se va modifica Catedra de Mecanic| i Programare la o linie vertical| cu dou| s|gei Access Curs de baze de date Microsoft la capete suprapus| peste o linie oriozontal| mai groas|; tragei marginea seciunii pn| cnd ajunge la dimensiunea dorit|. Copyright 2000. Toate drepturile sunt rezervate autorului.

Pentru a modifica l|imea unui formular


Multiplicarea acestui documentmargineacomercial este interzis|. poziionai cursorul peste n scop din dreapta a oric|rei seciuni din formular. Cursorul va lua forma unei linii orizontale cu dou| s|gei la capete suprapus| peste o linie mai Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest groas| vertical|; document pentru uzul personal. tragei marginea seciunii pn| ce ajungei la dimensiunea dorit|. Sudenii participani la orice form| de nv||mnt cu plat| sau alteunei seciuni Pentru a modifica l|imea formularului i dimensiunea persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest simultan scop m| putei contact| la: poziionai cursorul peste colul din dreapta jos a seciunii. Cursorul va lua forma unui plus cu s|gei la fiecare extremitate; ANTAL Tiberiu Alexandru tragei colul seciunii i formularului pn| la dimensiunea dorit|. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Tipuri de controale

Controale legate (Bo un d co ntr ols)

Controlul legat afieaz| date dintr-un tabel sau interogare. Se folosesc pentru afiarea, modificarea i ad|ugarea datelor din tabele. Cel mai frecvent folosit control legat este Cutia Text (Text box). Controalele

144

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiutabelului de care sunt legate. Propriet|ile controlului pot fi legate motenesc propriet|i ale Alexandru Universitateaformular f|r| afectarea propriet|ilor originale ale tabelului. modificate n Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare este f|r| surs| de date. El poate afia informaii de Controlul nelegat Co ntr oale Curs de baze de date Microsoft linie, dreptunghi sau imagine. De asemenea, poate accepta tipul text, Access nelegate date care nu sunt ns| introduse direct ntr-un tabel. (Unbound Copyright con trols) 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Controlul calculat are datele derivate dintr-o expresie. Co ntr oaleparticipani la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii calculate document pentru uzul personal.
(Calculated con trols)

Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Cutia cu instrumente (Toolbox) scop m| putei contact| la: Controalele care pot fi plasate pe formulare sunt grupate n cutia cu instrumente. ANTAL Tiberiu Alexandru dac| cutia cu instrumente nu este afiat|, din View selectai tel.: 0040-264-530918 Pentru a deschide Toolbox; ; e-mail: cutia cu antaltiberiu@pcnet.ro acesta va fi afiat| sub forma: poziionai i redimensionai instrumen te (Toolbox) cutia dup| preferine.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Descrierea sumara a instrumentelor este prezentata n tabelu care urmeaza: 7 7 7 Copyright 2000. Toate drepturile sunt rezervate autorului. Nume instrument Pictogram| Descriere Multiplicarea acestui document n scop comercial este interzis|. Selecie de Obiecte Cnd simbolul este selectat, permite selectarea, mutarea superior bugetar pot multiplica (Select participani la orice form| de nv||mnti redimensionarea controalelor acest Sudenii Objects) document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Generatoare de Generatoarele de Controale permit crearea pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest simpl| ale urm|toarelor tipuri de controale: Controale (Control scop m| putei contact| la: Cutie List| (List Box); Wizards) Cutie Combinat| (Combo Box); ANTAL Tiberiu Alexandru Grup de Opiuni (Option Group); tel.: 0040-264-530918 Buton de Comad| (Command Button). e-mail: antaltiberiu@pcnet.ro

145

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Etichet| (Label) Universitatea Tenhic| din Cluj-Napoca Pictograma se folosete la crearea unui text care nu se modific|. Majoritatea controalelor au Facultatea Construcii de Maini ataate automat, la creare, o etichet|. Sunt utile Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access la afiarea unui text undeva pe suprafaa formularului. Copyright 2000. Toate drepturile sunt rezervate autorului. control pe formulare. Se Este cel mai utilizat Cutie Text (Text Box) folosete pentru afiarea coninutului unui cmp Multiplicarea acestui document n scop comercial este interzis|. la tastatur| de date noi i permite introducrea de n cmp. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Grup de Opiuni Controlul d| posibilitatea seleciei unei singure document pentru uzul personal. opiuni dintr-un grup. Selecia unei opiuni din (Option Group) grup le exclude automat pe celelalte. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Controlul permite, selectarea sau deselectarea Buton Bistabil (Toggle unei opiuni. Att text, ct i desene pot fi Button) ANTAL Tiberiu Alexandru folosite pentru a specifica semnificaia lui. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Buton de Opiune (Option Button) Acest control permite, fie selectarea, fie deselectarea unei opiuni. Un punct negru este afiat dac| opiunea este selectat|.

Buton de Selecie Acest control permite, fie selectarea, fie (Check ing. Conf. dr.Box) ANTAL Tiberiu Alexandruneselectarea unei opiuni. Semnul "bifat" U este Universitatea Tenhic| din Cluj-Napoca afiat n caz de selecie. Butoanele de Selecie nu sunt mutual exclusive n selecie, adic| se Facultatea Construcii de Maini poate s| fie simultan selectate mai multe. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Cutie Combinat| Controlul va afia o list| de opiuni disponibile. Putei vedea opiunile efectund clic pe s|geat| (Combo Box) Copyright 2000. Toate drepturile sunt rezervate autorului. n jos din dreapta cutiei. Alternativ, putei introduce, la fel ca n Cutia Text, o opiune care Multiplicarea acestui document n scop comercial este interzis|. nu apare n list|, Access-ul modificnd elementul de list| afiat la cel mai apropiat de Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest textul introdus. Dac| nu ai activat proprietatea document pentru uzul personal. Limit To List la crearea Cutiei Combinate, noua valoare introdus| va fi salvat| n tabel. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n sub Permite afiarea unor variante de opiuni acest Buton List| (List Box) scop m| putei contact| la: forma unei liste prin care se poate defila. Numai valorile din list| pot fi selectate. ANTAL Tiberiu Alexandru Buton de Comand| Se folosete pentru lansarea unei aciuni. tel.: 0040-264-530918 Aciunea este efectuat| pentru c| butonul este (Command Button) e-mail: antaltiberiu@pcnet.ro legat de o serie de comenzi denumite "Macro"uri sau Subprograme.

146

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Imagine (Image) Universitatea Tenhic| din Cluj-Napoca Permite inserarea unei imagini n formular. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Chenar de Obiect Se folosete cnd dorii s| afiai un obiect OLE Copyright 2000. Toate drepturile sunt rezervate autorului. sau o imagine ca parte a unui proiect de Nelegat (Unbound formular. Obiectul va r|mne acelai, el nu se va Object Frame) Multiplicarea acestui document n scop comercial este interzis|.pe o alt| nregistrare. modifica la deplasarea Chenar participani la Se folosete cnd dorii s| afiai un obiect acest Sudenii de Obiect Legat orice form| de nv||mnt superior bugetar pot multiplica OLE sau o imagine ataat| unei nregistr|ri. Permite (Bound Object Frame) document pentru uzul personal. ad|ugarea sau editarea imaginii sau obiectului, nregistrare plat| sau alte Sudenii participani la orice form| de nv||mnt cucu nregistrare. persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Terminator de Pagin| Controlul definete: scop m| putei contact| la: (Page Break) aciuni la ap|sarea tastelor Page Up/Page Down; ANTAL Tiberiu Alexandru definete linia de sus a paginii noi la tel.: 0040-264-530918 tip|rirea formularului. e-mail: antaltiberiu@pcnet.ro Control Tab Permite definirea unui control organizat pe pagini de forma:

Conf. dr. ing. ANTAL Tiberiu Alexandru Subformular/Subraport Universitatea Tenhic| din Cluj-Napoca Pentru afiarea unei relaii unu-la-muli se (Subform/Subreport) insereaz| un Subformular n formular. De Facultatea Construcii de Maini obicei, unu este n formularul principal, iar Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access muli n subformular. Permite ad|ugarea de linii cu scopul de a face Linie (Line) Copyright 2000. Toate drepturile sunt rezervate autorului. formularul mai atractiv i mai bine organizat. Multiplicarea acestui document n scop comercial este interzis|. Permite ad|ugarea unor dreptunghiuri cu scopul Dreptunghi (Rectangle) Sudenii participani la orice form| de nv||mnt formularul mai atractivmultiplica acest de a face superior bugetar pot i mai bine document pentru uzul personal. organizat. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

147

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Alte Controale Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Propriet|ile de legate de afiarea controalelor Etichet| i Cutie Text


Dei, n principal, propriet|ile prezentate n continuare sunt specifice acestor dou| controale i celelalte controale au, o parte dintre, aceste propriet|i. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Proprietate Opiune Descriere Facultatea Construcii de Maini Format Formate numerice, dat| i time Determin| modul de afi|re Catedra de Mecanic| i Programare al valorii Curs de baze de date Microsoft Access Decimal Places Auto, 1-15 Determin| num|rul de Copyright 2000. Toate drepturile sunt rezervate autorului. zecimale afiate Multiplicarea acestui document n scop comercial este interzis|. Visible Yes/No Pentru Yes controlul este afiat; pentru No este Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest invizibil document pentru uzul personal. Display when Always, Print Only, Screen Only Determin| cnd anume se afieaz| controlul Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Scrollbars None, Vertical, Horizontal, Both Specific| afiarea barelor scop m| putei contact| la: pentru deplasare ANTAL Tiberiu Alexandru Can Grow Yes/No tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Permite creterea cutiei dac| mai multe linii de text sunt introduse

148

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Can Shrink Yes/No Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Permite micorarea cutiei dac| num|rul de linii este mai mic dect dimensiunea iniial| a Cutiei

Left Poziia colului stng a controlului Specific| poziia controlului Copyright 2000. Toate drepturile sunt unit|i curent n sistemul de rezervate autorului. pe axa orizontal| Top Poziia n scop de sus a Specific| poziia controlului Multiplicarea acestui document colului comercial este interzis|. controlului n sistemul de unit|i pe axa vertical| curent Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Width L|imea controlului n sistemul de unit|i curent Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost n cu acordul scris al autorului. n acest Height n|limea controlului i sistemul scop m| putei contact| la: unit|i curent de Back Style Transparent , Normal ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Back Color Orice culoare disponibil| Determin| dac| fondul controlului este transparent sau opac (normal) Specific| culoarea pentru interiorul controlului sau a seciunii Determin| modul de afiare a seciunii sau controlului Determin| afiarea transparent| sau opaca a marginilor unui control Culoarea marginii controlului

Flat, Raisen, Sunken, Shadowed, Etched, Chiseled Conf. dr. ing. ANTAL Tiberiu Alexandru Border Style Transparent, Solid, Dashed, Dots Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de Colorde date Microsoftculoare disponibil| Border baze Orice Access

Special Effect

Copyright 2000. Toate drepturile sunt rezervate autorului. Border Width Hairline, 1 pt - 6 pt Specific| grosimea marginilor controlului Multiplicarea acestui document n scop comercial este interzis|. Fore Color Orice selecie nv||mnt afiat| Specific| culoarea textului Sudenii participani la orice form| de din fereastra superior bugetar pot multiplica acest din control sau pe cea folsit| document pentru uzul personal. la tip|rire Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoanecaractere Font Name Orice tip de caracter disponibil Numele tipul de doritoare pot multiplica documentul numai de instalare) i cu acordul scris al autorului. n acest (depinde contra cost folosit pentru afiarea scop m| putei contact| la: valorilor controlului Font Size Orice ANTAL Tiberiu Alexandru m|rime disponibil| tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Font Weight Extra Light, Light, Normal, Medium, Semi-Bold, Bold, Extra Bold, Heavy M|rimea caractelelor foloste pentru afiarea valorilor controlului L|imea liniei folosit| de Windows pentru afiarea i tip|rirea caracterelor

149

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Font Italic Yes/No Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Font Underline Yes/No Curs de baze de date Microsoft Access

Caractere nclinate n control Caractere subliniate n control

Text Align General sunt rezervate autorului. Seteaz| alinierea pentru Copyright 2000. Toate drepturile(implicit), Left, Center, Right textul din control Multiplicarea acestui document n scop comercial este interzis|. Reading Order Context, Left-to-Right, Right-toDetermin| ordinea de citire Left a caracterelor pe baza limbii Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. English Keyboard Language System, Determin| limbajul de la tasatatur| pentru Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare introducerea de date n pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest control scop m| putei contact| la: Scroll Bar Align System, Right, Left Barele pentru defilare pot fi aezate n stnga sau drepta ANTAL Tiberiu Alexandru controlului n funcie de tel.: 0040-264-530918 limb| e-mail: antaltiberiu@pcnet.ro Numeral Shapes Left Margin Right Margin Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Top Margin Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Bottom Margin Copyright 2000. Toate drepturile sunt rezervate autorului. System, Arabic, National, Context Forma numerelor pentru limbile arab| i hindi Marginea stng| a controlului n inchi Marginea dreapt| a controlului n inchi Marginea de sus a controlului n inch Marginea de jos a controlului n inchi

Line Spacing Spaierea, n inchi, ntre Multiplicarea acestui document n scop comercial este interzis|. liniile de tetxt Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Is Hyperlink Yes/No Specific| dac| un control document pentru uzul personal. este sau nu hiperleg|tur| (pentru Yes textul este Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ablastru i subliniat i la clic pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest duce la conectarea la scop m| putei contact| la: Internet) ANTAL ce urmeaz| se prezint| un formular care conine mai multe controale Etichet|. n figura Tiberiu Alexandru tel.: 0040-264-530918 Proprietatea Caption conine textul pe care controlul l afieaz| pe ecran. ncercai s| creai e-mail: antaltiberiu@pcnet.ro formularul aa nct s| fie, n mod formular, vizualizat ntocmai ca i n figur|. La sfritul capitolului sunt prezentate toate propriet|ile specifice unui formular, o parte trebuie dintre ele modificate pentru ca aspectul formularului nou s| fie acelai cu cel din exemplu. Propriet|ile formularului vor fi vizibile dac| n modul proiectare se face clic n afara seciunilor

150

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing.apoi clic pe butonul din dreapta i din list| selectai Properties. formularului, ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Navigarea ntre cmpurile formularului


Navigarea ntr-un formular este aproape identica cu cea dintr-o foaie de date. n mod 7 formular, cel mai simplu mod deAlexandru n vederea modificarii unor date este clicul pe pozitionare 7 Conf. dr. ing. ANTAL Tiberiu cmpul dorit. ntruct pot fi Cluj-Napoca attea cmpuri cte ncap pe ecran, mai multe Universitatea Tenhic| din afisate numai tehhnici de navigare pot defolosit pentru deplasarea n cadrul formularului sau ntre fi Maini Facultatea Construcii nregistrade cteva dintre Programareprezentate n tabelul urmator. Daca formularul se 7 7 Catedra7 ri, Mecanic| i acestea sunt ntinde pe mai multe pagini, se va afisa o 7 7 Curs de baze de date Microsoft Access bara de defilare pe verticala (vertical scroolbar). Copyright 2000. Toate drepturile sunt rezervate autorului. -ie de taste Efect Combinat Cmpul urma acestui document n scop comercial este interzis|. 7 Multiplicarea tor Tab, , sau Enter

69

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Cmpul anterior document pentru uzul personal. Shift+Tab, ,

78

Primul participani la orice form| 7 Sudeniicmp al nregistrarii curente deHome sau Ctrl+Homesau alte persoane doritoare nv||mnt cu plat| pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Ultimul cmp al nregistrarii curente End sau Ctrl+End 7 scop m| putei contact| la: Pagina urmatoare 7 PgDown sau Next Record ANTAL Tiberiu Alexandru Pagina anterioara 7 PgUp sau Previous Record tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Tehnici de editare a datelor


Tehnicile de editare a datelor se prezinta n tabelul urmator: 7 7

151

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Tehnica de din Cluj-Napoca Combinatie de taste Universitatea Tenhic| editare Facultatea Construcii de MainintrDeplasarea punctului de inserare Catedra de Mecanic| i Programare Apasarea lui 7 sau a lui un cmp Curs de baze de date Microsoft Access Inserarea unei valori ntr-un cmp Deplasati punctul de inserare, tastati noua data 7 Copyright 2000. Toate drepturile sunt rezervate autorului. Selectarea ntregului cmp F2 sau clic dublu

Multiplicarea acestui document n scop comercial ntregul cmp, apoi introduceti valoarea nlocuirea unei valori existente cu una Selectati este interzis|. noua 7 noua 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest nlocuirea valorii curente, cu cea Cltr+' (apostrof) document pentru uzul personal. precedenta, introdusa ntr-un cmp 7 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare nlocuirea valorii curente cu cea Ctrl+Alt+Spatiu pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest implicita 7 scop m| putei contact| la: Inserarea datei curente n cmp Ctrl+; ANTAL Tiberiu Alexandru Inserarea orei curente Ctrl+: tel.: 0040-264-530918 n cmp e-mail: antaltiberiu@pcnet.ro n Inserarea unei ntreruperi de linie Ctrl+Enter cmpurile de tipul Text sau Memo Inserarea unei nregistrari noi 7 Stergerea nregistrarii curente 7 Ctrl++ (plus) Ctrl+- (minus)

Salvarea nregistrarii curente 7 Shift+Enter sau deplasarea pe o alta nregistrare 7 Conf. dr. ing. ANTAL Tiberiu Alexandru Anularea modificarii facute n 7 Universitatea Tenhic| 7din Cluj-Napoca Esc sau butonul Undo nregistrarea curenta 7 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Lista proprietatilor unui formular 7-

Proprieta-ile formularului afecteaza sunt rezervate autorului. formular. Cele mai 7t 7 Copyright 2000. Toate drepturile modul de afisare a ntregului importante proprieta-i sunt prezentate n tabelul urmator: 7t 7 Multiplicarea acestui document n scop comercial este interzis|. Proprietate Descriere si optiuni Descriere optiune Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Caption Text afisat n bara cu titlul document pentru uzul personal. formularului Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

152

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Default View Determina Universitatea Tenhic| din Cluj-Napoca 7 modul de vizualizare al formularului Facultatea Construcii de Maini n execut Catedra de Mecanic| i Programare -ie Curs de baze de date Microsoft Access Continuous Form

O nregistrare pe pagina 7

Copyright 2000. Toate drepturile sunt rezervate autorului. Datasheet Maxim nregistrari pe 7 pagina (Implicit) 7 Multiplicarea acestui document n scop comercial este interzis|. PivotTable Afiseaza valorile cmpului Sudenii participani la orice form| de nv||mnt superior bugetar7pot multiplica acest orizontal sau vertical, apoi document pentru uzul personal. calculeaza suma pe coloana 7 7 saualte persoane doritoare rnd Sudenii participani la orice form| de nv||mnt cu plat| sau pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest PivotChart Analiza grafica a datelor 7 scop m| putei contact| la: ANTAL Tiberiu Alexandru Validarea vizualizarii n Allow Form View 7 tel.: 0040-264-530918 mod formular (Yes/No) e-mail: antaltiberiu@pcnet.ro Allow Datasheet View Validarea vizualizarii n 7 mod foaie de date (Yes/No) Allow Pivot Table View Validarea vizualizarii n 7 mod tabel pivot (Yes/No)

Allow Pivot Chart View Validarea vizualizarii n 7 Conf. dr. ing. ANTAL Tiberiu mod grafic pivot (Yes/No) Alexandru Universitatea Tenhic| din Cluj-Napoca Scroll Bars Determina afisarea barelor 7 Facultatea Construcii de Maini pentru defilare Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Neither Nu se afiseaza - 7 Copyright 2000. Toate drepturile sunt rezervate autorului. Horizontal Only Se afiseaza numai cea - 7 orizontala 7 Multiplicarea acestui document n scop comercial este interzis|. Vertical Only Se afiseaza multiplica - 7 Sudenii participani la orice form| de nv||mnt superior bugetar potnumai cea acest orizontala 7 document pentru uzul personal. Both Ambele bare sunt afisate Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Record Selectors Determina afisarea 7 selectorilor verticali de ANTAL Tiberiu Alexandru nregistrari (Yes/No) 7 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Determina afisarea Navigation Buttons 7 butoanelor de navigare (Yes/No)

153

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Dividing Lines Determina Universitatea Tenhic| din Cluj-Napoca 7 afisarea de linii ntre Facultatea Construcii de Maini sectiunile vizibile ale formularului Catedra de Mecanic| i Programare Curs de baze de date MicrosoftFormularul se deschide Access Auto Resize pentru afisarea completa a 7 Copyright 2000. Toate drepturile sunt 7 rii (Yes.No) rezervate autorului. nregistra Auto Center Centreaza formularul la Multiplicarea acestui document n scop7comercial este interzis|. deschidere (Yes/No) Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Border Size Determina stilul marginii 7 document pentru uzul personal. formularului Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare None Fara margine sau n acest pot multiplica documentul numai contra cost i cu acordul scris7al autorului. elemente de margine (bare de defilare scop m| putei contact| la: sau navigare) ANTAL Tiberiu Alexandru Thin tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Sizable Dialog Margine subtire, nu se poate redimensiona Setari normale de formular 7 Margine groasa, cu bara de 7 titlu; nu se poate redimensiona; se foloseste pentru ferestre de dialog

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca 7 afisarea meniului Control Box Determina Facultatea Construcii de Maini control (Restore, Move de Catedra de Mecanic| i Programare(Yes/No) Size) Curs de baze de date Microsoft Access Min Max Buttons None Nu se afiseaza butoane n - 7 Copyright 2000. Toate drepturile sunt rezervate autorului. coltul dreapta-sus al formularului Multiplicarea acestui document n scop comercial este interzis|. Min Enabled Se afiseaza butonul de - 7 minimizare Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Max Enabled Se afiseaza butonul de - 7 maxbimizare Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Both Enabled Se afiseaza butoanele de - 7 scop m| putei contact| la: minimizare si maximizare ANTAL Tiberiu Alexandru Close Button Determina afisarea 7 tel.: 0040-264-530918 butonului Close n coltul e-mail: antaltiberiu@pcnet.ro dreapta-sus n meniul de control (Yes/No)

154

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru What's This Button Determina Universitatea Tenhic| din Cluj-Napoca 7 afisarea, la apa 7 Facultatea Construcii de Maini 7 sarea lui Shift+F1, a Screen Catedra de Mecanic| i Programare Tips Curs de baze de date MicrosoftAfiseaza la-imea Access7 7 t Width formularului; se poate Copyright 2000. Toate drepturile sunt rezervate autorului. introduce sau Access o calculeaza pe masura ce se 7 7 7 Multiplicarea acestui document n scop comercial este interzis|. creeza formularul 7 Picture Numele nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice form| de fisierului imagine bitmap pentru fondul document pentru uzul personal. formularului Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Picture Type Determina daca imagimea 7 pot multiplica documentul numai contra cost7 i cu acordul scris al autorului. n acest este inclusa sau legata 7 7 scop m| putei contact| la: ANTAL Tiberiu Alexandru Embedded tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Linked Imaginea este inclusa n 7 formular si devine parte a bazei de date Imaginea este doar legata. 7 Access stocheaza locatia 7 imaginii si o ncarca la 7 fiecare deschidere a formularului

Conf. dr. ing.Mode Alexandru Picture Size ANTAL Tiberiu Determina modul de afisare 7 Universitatea Tenhic| din Cluj-Napoca a imaginii Facultatea Construcii de Maini Catedra de Mecanic| i Programare Clip Curs de baze de date Microsoft Access

Afiseaza imaginea cu - 7 dimensiunile ei actuale

Copyright 2000. Toate drepturile sunt rezervate autorului. Modifica dimensiunile Stretch 7 imaginii (neproportional) ca Multiplicarea acestui document n scop comercial este interzis|. sa ncapa n formular 7 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot7multiplica acest Zoom Actualizeaza dimensiunile document pentru uzul personal. imaginii ca sa ncapa n 7 7 formular proportional; poate Sudenii participani la orice form| de nv||mnt cu plat| sau alte o imagine doritoare rezulta persoane care nu pot multiplica documentul numai contra cost i cu acordul scris al7 autorului. n acest ocupta ntreaga lungime sau scop m| putei contact| la: la-ime din formular 7t ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

155

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Picture Alignemet Determina Universitatea Tenhic| din Cluj-Napoca 7 alinierea imaginii Facultatea Construcii de Maini Top Left Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Imaginea se afiseaza n - 7 coltul stnga-sus a formularului, raportului sau Copyright 2000. Toate drepturile sunt rezervate autorului. a controlului de tip imagine Top Right Imaginea se afiseaza n - 7 Multiplicarea acestui document n scop comercial este interzis|. coltul dreapta-sus a formularului, raportului acest Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica sau a controlului de tip imagine document pentru uzul personal. Center Imaginea este centrata n 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare formular, raport sau acest pot multiplica documentul numai contra cost i cu acordul scris al autorului. nn controlul de tip imagine scop m| putei contact| la: (implicit) ANTAL Tiberiu Alexandru Bottom Left tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Imaginea se afiseaza n - 7 coltul stnga-jos a formularului, raportului sau a controlului de tip imagine Imaginea se afiseaza n - 7 coltul dreapta-jos a formularului, raportului sau a controlului de tip imagine

Bottom Right

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Form Center Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Imaginea formularului este centrata orizontal, n raport 7 cu la-imea si vertical, n 7t raport cu naltimea 7formularului Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop -comercialafisarea Picture Tiling Se foloseste pentru este interzis|. alaturata a unor imagini mici 7 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest (Yes/No) document pentru uzul personal. Grid X Numarul de puncte pe inch 7 la afis nv||mnt Sudenii participani la orice form| -area grilei pe Xcu plat| sau alte persoane doritoare de pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Grid Y Numarul de puncte pe inch 7 scop m| putei contact| la: la afisarea grilei pe Y ANTALfor Print Alexandru Determina daca formularul Layout Tiberiu 7 7 tel.: 0040-264-530918 foloseste caractere de ecran e-mail: antaltiberiu@pcnet.ro sau de imprimanta 7 Yes No Caractere de imprimanta 7 Caractere de ecran

156

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Subdatasheet Height Determina 7 Universitatea Tenhic| din Cluj-Napoca 7 naltimea subfoii de Facultatea Construcii de Maini date expandate Catedra de Mecanic| i Programare 7 starea salvata a Subdatasheet Expanded Determina 7 Curs de baze de date Microsofttuturor foilor de date Access dintr-un table sau interogare Copyright 2000. Toate drepturile sunt rezervate autorului.

Yes - Starea salvata a 7 subfoilor de date este expandara 7

No - Starea salvata a 7 Multiplicarea acestui document n scop comercial este interzis|. subfoilor de date este nchisa 7 Orientation Determina orientarea vederii 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Right to Left Afisarea si functionarea se face de la dreapta la stnga Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Let to Right Afisarea si functionarea se scop m| putei contact| la: face de la stnga la dreapta ANTAL Tiberiu Alexandru Movable Determina daca formularul 7 7 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro poate fi mutat (Yes/No) Record Source Determina locul n care se 7 afla datele afisate de 7 formular sau unde vor fi stocate noile date. Poate fi un formular sau o interogare Filter Conf. dr. ing. ANTAL Tiberiu Se foloseste pentru a Alexandru specifica afisarea unei Universitatea Tenhic| din Cluj-Napoca submultimi de nregistrari 7 Facultatea Construcii de Maini cnd se aplica un filtru 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoftformularului Access Order By Permite specificarea unui Copyright 2000. Toate drepturile sunt rezervate autorului. cmp pentru ordonarea datelor afisare Multiplicarea acestui document n scop comercial este interzis|. Allow Filters Permite ca utilizatorul sa 7 Sudenii participani la orice form|7 de nv||mnt superior bugetar pot multiplica acest poata afisa date filtrate document pentru uzul personal. (Yes/No) Allow Edits Permite nv||mnt cu plat| Sudenii participani la orice form| de sau opreste editarea sau alte persoane doritoare datelor facnd i cu acordul scris al autorului. n acest pot multiplica documentul numai contra costformularul read-only pentru scop m| putei contact| la: nregistrarile deja salvate 7 (Yes/No) ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Allow Deletions Permite sau opreste stergere - e-mail: antaltiberiu@pcnet.ro nregistrarilor (Yes/No) 7 Allow Additions Permite sau opreste adaugarea de noi nregistrari 7 7 (Yes/No)

157

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Data Entry Se foloses Universitatea Tenhic| din Cluj-Napoca -te pentru afisarea nregistarilor salvate 7 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date MicrosoftYes/No Access

Numai nregistrarile noi sunt 7 afisate/Toate nregistrarile 7 sunt afisate Copyright 2000. Toate drepturile sunt rezervate autorului. Recordset Type Permite actualizarea Multiplicarea acestui document n scop comercial este interzis|. formularelor multi-tabel Sudenii participani la orice form| de nv||mnt superior bugetarcmpurile tabelului Dynaset Numai pot multiplica acest document pentru uzul personal. implicit pot fi ediate Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dynaset (Inconsistent) Cmpurile tuturor tabelel pot multiplica documentul numai contra cost i cu acordul scris fi editate pot al autorului. n acest scop m| putei contact| la: Snapshot ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Record Locks 7 e-mail: antaltiberiu@pcnet.ro Specifica metoda de blocare a nregistrarilor n regim 7 multi-utilizator No Locks Nu se poate edita nici un cmp

nregistrarea se blocheaza 7 numai n timpul salvarii 7 Toate nregistrarile 7 formularului sunt blocate n timpul folosirii lui

Conf. dr. ing. ANTAL Tiberiu All Records Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date MicrosoftEdited Record Access

Blocheaza numai 7 nregistrarea n curs de Copyright 2000. Toate drepturile sunt rezervate autorului. editare Modal Se foloseste atunci cnd Multiplicarea acestui document n scop -comercial este interzis|. formularul trebuie nchis nainte de a face operatii cu Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest alte 7 document pentru uzul personal. formulare; inactiveaza celelalte ferestre; pentru valoarea Yes, Modal Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare inactiveaza meniurile si pot multiplica documentul numai contra7cost i cu acordul scris al autorului. n acest barele cu instrumente scop m| putei contact| la: genernd o fereastra de 7 ANTAL Tiberiu Alexandru dialog (Yes/No) tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

158

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Cycle Determina Universitatea Tenhic| din Cluj-Napoca 7 efectul lui Tab n ultimul cmp al nregistrarii 7 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date MicrosoftAll Records Access

Tab permite trecerea la urmatoarea ntegistrare 7

Copyright 2000. Toate drepturile sunt rezervate autorului. Current Record Tab face revenirea pe primul cmp al nregistrarii 7 Multiplicarea acestui document n scop comercial este interzis|. curente Current nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice form| de Page Tab face deplasarea de pe document pentru uzul personal. ultimul cmp al nregistrarii 7 pe primul cmp aldoritoare paginii Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane curente pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Menu Bar ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Toolbar Se foloseste pentru specificarea unui meniu alternativ

Se foloseste pentru specificarea unei bare cu instrumente. Se poate crea o bara cu instrumente prin 7 selectarea optiunii Customize din comanda Conf. dr. ing. ANTAL Tiberiu Toolbar a meniului View. Alexandru Universitatea Tenhic| din Cluj-Napoca Shortcut Menu Permite activarea Facultatea Construcii de Maini scurta 7 Catedra de Mecanic| i Programareturilor de meniu Curs de baze deBar MicrosoftPermite specificarea unui Access Shortcut Menu date meniu cu scurtaturi 7 Copyright 2000. Toate drepturile sunt rezervate autorului. alternativ Help File Numele fisierului de ajutor Multiplicarea acestui document n scop comercial este interzis|. (help), compilat, atribuit formularului Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Help Context Id ID-ul punctului de intrare contextual din fisierul de Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ajutor pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Tag Extra informatii despre formular ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

159

Introducere n Microsoft Access: Formulare - cursul 7

Conf. dr. ing. ANTAL Tiberiu Alexandru Allow Design Changes Determina Universitatea Tenhic| din Cluj-Napoca 7 cnd se pot face modificari de proiectare 7 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date MicrosoftDesign View Access

Modificari se pot face doar 7 n modul proiectare

Copyright 2000. Toate drepturile sunt rezervate autorului. All Views Modificari se pot face n 7 toate modurile vizualizare Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

160

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 8 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! cum se creeaz| un control de tipul cutie combinat| (Combo Box) folosind Copyright 2000. Toate drepturile sunt rezervate autorului. cutia cu instrumente (Toolbox); Multiplicareacum se utilizeaz| Constructorul de Expresii interzis|. acestui document n scop comercial este (Expression Builder) pentru ! crearea unui cmp calculat; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. subformular (Subform) ntr-un formular; ! cum se introduce un ! cum se la orice form| implicit| (Default Value) a alte control; Sudenii participaniseteaz| valoareade nv||mnt cu plat| sau unuipersoane doritoare pot multiplica documentul numai contra cost (Validation Rule) i textul de validare ! cum se seteaz| regula de validare i cu acordul scris al autorului. n acest scop m| putei contact| la: (Validation Text) pentru un control; ANTAL Tiberiu Alexandru o masc| de intrare (Input Mask); ! cum se definete tel.: 0040-264-530918 cum se modific| e-mail:! antaltiberiu@pcnet.roordinea Tab-urilor; ! conceptele de Macro-uri (Macros) i Evenimente (Events); ! cum se folosete un buton de comand| (Command Button) ntr-un

formular; ! cum se adaug| un buton de comand| la un formular. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

161

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Crearea unei din Cluj-Napoca Universitatea Tenhic|cutii combinate (Combo Box) folosind cutia Facultatea Construcii de Maini cu instrumente (Toolbox) Catedracontroalelor este mult simplificat| prin utilizarea cutiei cu instrumente. Pentru a Crearea de Mecanic| i Programare Curs de baze de date Microsoft Access ilustra principiul vom crea un tip de control relativ complex, numit cutie combinat|. Acest tip de control permite, fie s| se introduc| o valoare de la tastatur|, fie s| se efectueze clic pe o Copyrightjos, care va duce la desf|urarea unei liste de valori predefinite din care se poate s|geat| n 2000. Toate drepturile sunt rezervate autorului. selecta valoarea dorit|. Denumirea de cutie combinat| se datorete faptului c| acest control Multiplicarea acestui document n scopdistincte: controlul cutie de text (Text Box) i unific| comportamentul a dou| controale comercial este interzis|. controlul cutie de list| (List Box). Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.o cutie combinat| Crearea unui formular cu n exemplul care urmeaz|, se va folosi baza de date Northwind n care se va crea un formular Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare nou pentru ilustrarea procedurii de creare a controalelor. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: deschidei baza de date Northwind; Crearea unui formular Tiberiu Alexandru clic pe butonul Forms; ANTAL nou clic pe butonul New; tel.: 0040-264-530918 asigurai-v| c| din list| este selectat| vizualizarea n mod e-mail: antaltiberiu@pcnet.ro proiectare (Design View); clic pe butonul OK; Pe ecran va ap|rea un formular gol de forma:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Dac| cutia cu instrumente (Toolbox) nu este afiat| automat, efectuai clic pictograma ANTAL Tiberiu Alexandru tel.:bara de instrumente (Toolbar). din 0040-264-530918 e-mail: antaltiberiu@pcnet.ro
Crearea cutiei comb inate

clic pe pictograma cutiei combinate (Combo Box) cutia cu instrumente; poziionai cursorul n zona de centru a formularului;

din

162

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTALstng al mouse-ului i inndu-l ap|sat deplasai cursorul spre stnga ap|sai butonul Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca jos. Vei defini astfel un dreptunghi care reprezint| dimensiunea controlului pe suprafaa Facultatea Construcii de Maini formularului; Catedra de Mecanic| istng al mouse-ului i urm|toarea fereastr| de dialog va fi afiat|: eliberai butonul Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

clic pe butonul Next pentru a continua. Opiunea selectat| mai sus (I want the combo box to look up the values in a table or query.) va permite nc|rcarea listei de valori predefinite ale cutiei dintr-un tabel sau o interogare; Conf. dr. ing. ANTAL Tiberiu Alexandru permite definirea sursei pentru datele pe care urm|toarea fereastr| de dialog afiat| Universitatea Tenhic| din Cluj-Napoca cutia le va afia; Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro pentru acest exemplu, asigurai-v| c| tabelul Categories este selectat nainte de ap|sarea butonului Next; fereastra de dialog care va fi afiat| permite selectarea unui cmp care va fi sursa

163

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. fi afiate n cutia combinat|; datelor ce vor ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro pentru acest exemplu selectai CategoryName , apoi clic pe s|geata la dreapta pentru ad|ugarea acestui cmp n lista Selected Fields; clic pe Next pentru continuare; Urm|toarea fereastr| de dialog care va fi afiat| permite controlul l|imii (width) cutiei combinate. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro n acest caz, cutia trebuie s| fie suficient de lat| ca s| asigure afiarea complet| a tuturor valorilor din list|. Dac| aceast| condiie nu este ndeplinit|, poziionai cursorul pe marginea din dreapta a coloanei CategoryName i tragei marginea spre dreapta pn| ce vei obine l|imea dorit|;

164

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. butonul Next pentru a continua; clic pe ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca urm|toarea fereastr| de dialog permite ca Access-ul s| stocheze valoarea selectat| din Facultatea Construciica ulterior s| fie refolosit|. Pentru exemplul nostru clic pe Next; cutia combinat| pentru de Maini Catedra de Mecanic| i Programare definirea etichetei asociate cutiei combinate; ultima fereastr| de dialog permite Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

pentru acest exemplu, pe locul lui CategoryName introducei textul Numele Categoriei ; clic pe butonul Finish pentru p|r|sirea Generatorului cu generarea controlului cutie Conf. dr. ing. ANTAL Tiberiu Alexandru combinat|. Universitatea Tenhic| din Cluj-Napoca Facultatea complet va ar|ta vizualizat n mod proiectare, astfel: Formularul Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

165

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru un utilizator, clic pe pictograma View Pentru a vizualiza formularul aa cum l vede Universitatea Tenhic| din Cluj-Napoca bara de instrumente principal| i selectai Form View . Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

din

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Pentru a folosi nou creata cutie combinat| clic pe s|geata n jos, iar lista valorilor predefinite va fi afiat| sub forma: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro nchidei formularul i salvai-l sub numele de F1-TEST.

166

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru UniversitateaModificarea propriet|ilor unui formular Tenhic| din Cluj-Napoca Un formular are mai multe seciuni, att formularul, seciunile, ct i controalele care sunt Facultatea Construcii de Maini poziionate n diferite seciuni au propriet|i individuale. Unele propriet|i sunt predefinite, Catedra de Mecanic| i Programare altele de bazem|sur| ce noi controale sunt ad|ugate unor seciuni. Indiferent de felul acestora, Curs apar pe de date Microsoft Access propriet|ile pot fi modificate de cel care dezvolt| formularul. n continuare voi prezenta o parte din propriet|ile unui formular, pentru a nv|aautorului. despre acestea folosii Copyright 2000. Toate drepturile sunt rezervate mai multe sistemul de ajutor interactiv (on-line help). Deschidei orice formular, apoi vizualizai formularul n mod proiectare. Pentru exemplul care este interzis|. Multiplicarea acestui document n scop comercialurmeaz|, din baza de date Northwind, voi folosi formularul Employees. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Pe ecran va ap|rea fereastra propriet|ilor Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

sub forma listei alaturate. 7

167

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Pentru a Universitatea Tenhic|formular sau deasupra liniarului (Ruler), dac| acesta este vizualizat; din Cluj-Napoca mod ifica Facultatea Construciide Mainidublu pe butonul stng al mouse-ului sau clic proprieta t ile 7Catedra de Mecanic| i Programare unui form ular clic pe butonul din dreapta o singur| dat|, apoi selectai

Conf. dr. ing. ANTAL Tiberiu Alexandru de mouse oriunde n zona gri din afara unui plasai cursorul

Curs de baze de date Microsoft Access Properties din list|; modificai proprietatea dorit| f|cnd clic n regiunea din Copyright linia propriet|ii de modificat,rezervate autorului.noua valoare dorit|. dreapta, pe 2000. Toate drepturile sunt unde vei introduce Multiplicarea acestui document n scop comercial este interzis|.

Crearea unui cmp calculat

La proiectarea tabelelor am precizat c|de nv||mntcrearea unor cmpuri care stocheaz| date Sudenii participani la orice form| este de evitat superior bugetar pot multiplica acest derivate sau calculate din alte date. De obicei, metoda eficient| este calcularea valorii dorite document pentru uzul personal. pe baza unor expresii aritmetice. Access-ul are o component| numit| Constructor de Expresii (Expression Builder) la orice form| de nv||mntexpresiilor pe alte persoane doritoare Sudenii participani care asigur| scrierea corect| a cu plat| sau care nu le tii introduce corect, de exemplu din motive sintactice. Constructorul de Expresii poate fi folosit n acest pot multiplica documentul numai contra cost i cu acordul scris al autorului. att n cazulm| putei contact| la:cazul interog|rilor i rapoartelor. Exemplul care urmeaz| scop formularelor, ct i n folosete tabelul Order Details din baza de date Northwind. Din cmpurile Unit Price, Quantity i Discount se va calcula un cmp nou, numit Total = [Unit Price] * ANTAL Tiberiu Alexandru [Quantity] * [Discount]. Folosind Generatorul de Formulare (Form Wizard) se va tel.: 0040-264-530918 crea un antaltiberiu@pcnet.ro e-mail: formular nou pe baza tabelului Order Details care va conine urm|toarele cmpuri: ProductID, Unit Price, Quantity i Discount.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dup| ap|sarea contact| la: scop m| puteilui Next, la forma formularului se va selecta Tabular, iar numele sub care se salveaz| va fi FOrder Details. Dup| ap|sarea lui Finish, formularul va fi afiat pe ecran astfel: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

168

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pottrece la vizualizarea n mod proiectare (Viewi cu acordul scriscnd formularul seacest Se multiplica documentul numai contra cost Design View), al autorului. n va scop astfel: afia m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Din bara cu instrumente (Toolbox) selectai controlul Text Box apoi poziionai cursorul de Copyright 2000. dreaptadrepturile sunt rezervate autorului. o linie cu colul din dreapta mouse undeva n Toate formularului, n afara spaiului lui, pe sus al controlului Discount i ap|sai butonul stng al mouse-ului. L|imea formularului va Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

crete automat i n seciunea detaliilor (Detail) apare un nou control care are scris n el

169

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing.are asociat| i o etichet|, aceasta nefiind necesar| va fi tears| (n figura Unbound. El ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Quantity; este suficient s| ne poziion|m cu anterioar|, eticheta este pus| peste controlul Facultatea Construciibutonul stng apoi ap|sai tasta Delete pentru tergerea ei). Afi|m mouse-ul pe ea, clic pe de Maini Catedra de Mecanic| i Programarelocul lui Text10, scriem Total. Prin aceasta lista propriet|ilor noului control i n Curs de baze de date Microsoft Access Ap|s|m tasta Tab, apoi facem clic pe butonul proprietatea Name primete valoarea Total. din dreapta cmpului gol pentru lansarea Constructorului de Expresii. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea afia o fereastr| de forma: Pe ecran se va Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro din prima list| selectai obiectul care conine controalele sau cmpurile care vor participa n expresie. Pentru exemplul actual, Access-ul selecteaz| automat formularul curent - FOrder Details vizualizat n mod proiectare;

Crearea unui cmp calculat folosind Constructorul de Exp resii

170

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru din cea de a doua list| selectai UnitPrice, iar din cea de a treia Value; Universitatea butonul Paste, iar expresia va fi afiat| astfel: clic pe Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:clic pe operatorul *. Procednd conform celor descrise construii expresia: antaltiberiu@pcnet.ro [UnitPrice] * [Quantity] * [Discount]; clic pe butonul OK. Coninutul propriet|ii Control Source (Sursa Controlului) va deveni =[UnitPrice] * [Quantity] * [Discount]. Aceasta nseamn| c| valoarea acestui control nu se va lua dintr-un tabel sau interogare ci se va calcula pe baza expresie anterioare. Pentru ca formularul Conf. dr. ing. ANTAL Tiberiu Alexandru s| afieze o etichet| deasupra coloanei controlului Total, din seciunea Form Header, copiai Universitatea Tenhic| din Cluj-Napoca Caption a noului control etichet| la Total. Apoi controlul Detail i modificai proprietatea Facultatea Construciicontrolul cutie de text Total i pe orizontal| la controalele etichet| din aliniai-l pe vertical| la de Maini Catedra de Mecanic| i Vizualizat n mod formular, formularul FOrder Details va deveni: seciunea Form Header. Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Crearea unui formular cu subformular (Subform)

n exemplul care urmeaz| vom folosi baza de date Northwind i vom crea un formular nou care va conine un control de tipul subformular.

171 Crearea Universitatea Tenhic| din formularului nou

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru de date Northwind; deschidei baza Cluj-Napoca clic pe butonul Form; Facultatea Construciide Mainipe butonul New; clic Catedra de Mecanic| i Programare Generatorul de Formulare (Form Wizard); selectai Curs de baze de date Microsoft Access de date pentru formular dup| cum se vede mai jos: selectai tabelul Products ca surs| Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe butonul OK; ad|ugai cmpurile conform figurii de mai jos:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Next pentru a continua; clic pe butonul e-mail:n continuare folosii forma implicit| - Columnar - de pe pagina urm|toare a antaltiberiu@pcnet.ro Generatorului; clic pe butonul Next; selectai stilul Stone de pe aceast| pagin|, apoi clic pe Next;

172

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. pagina actual|Tiberiu Alexandru n ing. ANTAL dai numele de Formular cu Subformular formularului, apoi clic pe Universitatea Tenhic| din Cluj-Napoca Finish. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Noul formular va fi afiat sub forma prezentat| n figura urm|toare: Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro comutai vizualizarea n mod proiectare (Design View) prin Crearea unui clic pe pictograma View (de pe Toolbar). Formularul va fi afiat dup| subform ular cum urmeaz|:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| pe formular n care plat| sau alte persoane doritoare prima oar| vei crea un spaiu de nv||mnt cu s| fie pus subformularul; pot multiplicacursorul de mouse n colul din drepta jos a ferestrei formularului i tragei de mutai documentul numai contra cost i cu acordul scris al autorului. n acest scop m| pentru a face fereastra mai mare; margine putei contact| la: mutai cursorul de mouse pe marginea de sus a barei Form Footer i tragei bara n jos ANTALface spaiu suficient pentru subformular. Ecranul va avea o form| asem|n|toare cu pentru a Tiberiu Alexandru tel.:din figura care urmeaz|: cea 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

173

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare acum suntem gata pentru inserarea subformularului. Dac| cutia cu instrumente nu este Curs de baze depe pictograma Toolbox pentru afiare; deja afiat|, clic date Microsoft Access clic pe pictograma Subform/Subreport din cutia cu instrumente; Copyright 2000. Toate drepturile sunt rezervate autorului. folosii tehnica tragerii pentru a crea un dreptunghi pe suprafaa formularului pe locul unde dorii s| fie poziionat subformularul; Multiplicarea acestui document n butonul mouse-ului, Generatorul de Subformulare i va n momentul n care eliberai scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

174

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru afia prima pagin|; Universitatea Tenhic| din Cluj-Napoca selectai opiunea Forms; Facultatea Construcii de Maini a selecta din list| formularul care va fi folosit ca folosii s|geata n jos pentru Catedra de Mecanic| i Programare selecta un formular existent Orders Subform; subformular. Pentru exemplul nostru vei Curs de baze de date Microsoft Access clic pe butonul Next pentru a continua, urm|toarea pagin| va fi afiat| dup| cum urmeaz|: Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

n cazul exemplului nostru acceptai opiunea implicit|, apoi clic pe Next; n final, trebuie s| dai un nume subformularului, acceptai numele implicit de Orders Conf. dr. i clic pe butonul NextAlexandru la urm|toarea pagin| a Generatorului; Subform ing. ANTAL Tiberiu pentru a trece Universitatea Tenhic| vizualizat n mod proiectare dup| cum urmeaz|: formularul va fi din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

clic pe pictograma View de pe bara de instrumente standard i selectai Form View.

175

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru afiate astfel: Formularul mpreun| cu subformularul vor fi Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare -area ntr-o singura fereastra a continutului tabelelor Subformularele sunt folosite pentru afis 7 7 Curs de relatie 1 M. Microsoft Access si Order Details exista o relatie 1 M prin aflate n baze de date ntre tabele Products 7 intermediul cmpului ProductID. Tabelul n care se afla cheia primara va fi sursa de date 7 7 Copyright 2000.iar tabelul n care se aflarezervate ina va fi sursa de date pentru subformular. pentru formular, Toate drepturile sunt7 cheia stra autorului. 7 7 Cnd se navigheaza printre nregistrarile formularului, nregistrarile afisate n subformular se 7 7 7 Multiplicarea acestui document n scop comercial este interzis|. curente din cmpul de modifica continuu fiind afisate numai acelea care corespund valorilor 7 legatura. Mai sus, pentru prima nregistrare din formular ProducID ia valoarea 1, n 7 7 Sudenii participani-ateorice form| de nv||mnt superior bugetar pot multiplica 1. subformular vor fi afis la numai acele nregistrari care au n ProducID si ele egale cu acest 7 document pentru uzul personal.

Implementarea regulilor de integritate specifice bazei de Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest date sau controlul datelor stocate n baz| scop m| puteiformularelor, acestea trebuie s| permit| introducerea ct mai simpl| a datelor, La proiectarea contact| la:
de asemenea este tot sarcina noastr| s| facem ct mai grea introducerea unor date incorecte. ANTAL limit| a controlului care poate fi exercitat asupra datelor culese, dar exist| multe Exist| o Tiberiu Alexandru tel.: 0040-264-530918 posibilit|i pentru verificarea corectitudinii datelor introduse. De exemplu, dac| dorii s| citii e-mail: antaltiberiu@pcnet.ro introducerea unor caractere str|ine. Cnd cmpul un num|r, putei face imposibil| corespunz|tor din tabel este o dat|, putei asigura neacceptarea unor date invalide, de exemplu 31/11/00 (noiembrie are 30 de zile). Propriet|ile controalelor care permit aceste verific|ri sunt:

176

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Nume Semnificaie Universitatea Tenhic| din Cluj-Napoca Facultatea ConstruciiAceast| valoare este automat inserat| n fiecare nregistrare nou|. de Maini Default Value Catedra de Mecanic| i Programare introduce pe locul acesteia o alt| valoare dac| este Utilizatorul poate Curs de baze de date Microsoft Access cazul. Validation Rule Copyright 2000. ToateO expresie care limiteaz| domeniul de valori care poate fi introdus. drepturile sunt rezervate autorului. De exemplu, n cazul unui Salar poate fi >0 and < 1000000. Orice valoare n n scop comercial este interzis|. Multiplicarea acestui document afara acestui domeniu nu va fi acceptat|. Un mesaj care va fi afiat dac| regula de validare este nc|lcat|. Validation Text Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Aceste propriet|i pot fi setate i la momentul proiect|rii tabelului. De asemenea, este posibil ca regulile de validare la orice form| de nv||mnt cu plat| formularului. Sudenii participani s| fie diferite dect cele din controalele sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: vizualizai lista propriet|ilor (Property Sheet) controlului; Setarea lui selectai de sus butonul Data; Default Value ANTAL Tiberiu Alexandru clic pe Default Value - Valoare Implicit|; tastai o expresie sau tel.: 0040-264-530918 e-mail:clic pe butonul Constructorului de Expresii (Expression Builder). antaltiberiu@pcnet.ro vizualizai lista propriet|ilor (Property Sheet) controlului; selectai de sus butonul Data; clic pe Validation Rule - Regula de Validare; tastai o expresie sau clic pe butonul Constructorului de Expresii (Expression Builder). Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| Cluj-Napocalista propriet|ilor (Property Sheet) controlului; din vizualizai Setarea lui selectai de sus butonul Data; Facultatea Construciide Maini Validation Text clic pe Validation Text - Text de Validare i introducei Catedra de Mecanic| i Programare mesajul dorit. Curs de baze de date Microsoft Access
Setarea lui Va lidation Ru le Setarea lui Input Ma sk

vizualizai lista propriet|ilor (Property Sheet) controlului; Copyright 2000. Toatedrepturile sunt rezervate autorului. selectai de sus butonul Data; clic pe Input Mask - este interzis|. Multiplicarea acestui document n scop comercialMasca de Intrare; tastai o Masca de Intrare sau Sudenii participani la orice form|M|tilor de Intrare (Inputbugetar pot multiplica acest clic pe butonul Generatorului de nv||mnt superior Mask Wizard). document pentru uzul personal. Nota: Generatorul M|tilor de Intrare se poate folosi numai cu controale de tipul dat| sau 7 text. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Modificarea ordinii Tab-urilor Ordinea Tab-urilor specific| modul n care ne putem deplasa ntre controalele unui formular. ANTAL Tiberiu Alexandru Ea specific| plasarea pe urm|torul control cnd de exemplu, un cmp este plin sau am ap|sat tel.: 0040-264-530918 una din tastele Tab sau Enter. La crearea unui formular, Access-ul stocheaz| ordinea e-mail: antaltiberiu@pcnet.ro Tab-urilor n ordinea ad|ug|rii controalelor pe formular. Dac| dorii s| modificai aceast| ordine, n special pentru a permite utilizatorului s| se plimbe ntr-o ordine ct mai natural| ntre controale, Access-ul ofer| o astfel de facilitate.

177

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Mod ificarea Universitatea Tenhic| Cluj-Napoca Order din din selectai Tab ordin ii Facultatea Construciide Maini vedea o fereastr| de vei Tab-urilor

Conf. dr. ing. ANTAL Tiberiu Alexandru deschidei formularul n mod proiectare; meniul View; dialog care va conine numele Catedra de Mecanic| controalelor de pe formular n ordinea Tab; i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:clic pe butonul Auto Order pentru a defini ordinea de la stnga la drepta sau de sus antaltiberiu@pcnet.ro n jos. Dac| aceste variante nu sunt suficiente, folosind tehnica tragerii, se poate prinde un nume de cmp i trage pe poziia dorit| n list|.

Butoane de Alexandru Conf. dr. ing. ANTAL Tiberiu comand| (Command Buttons) Butoanele de comand| sunt folosite pentru iniierea unui grup de aciuni. Grupul de aciuni Universitatea Tenhic| din Cluj-Napoca poate fi de dou| feluri: macro sau procedur| de eveniment (Event Procedure). Facultatea Construcii de Maini Catedra de Mecanic| i Programare Macro-ul Access 7 Curs de baze de date Microsofteste o secventa de aciuni grupate mpreuna prin nregistare Ce este un (recorded) ntr-o secven| particular|, pentru a fi lansate n execuie la macro? orice moment ulterior nregistr|rii. Copyright 2000. Toate drepturile sunt rezervate autorului.
Multiplicarea acestui Ce este procedura de evenimen t? Procedura de eveniment este un subprogram de tip subrutin| scris n document n scop comercial este interzis|. limbajul de programare Visual Basic, care realizeaz| o operaie particular|, de de nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice form| exemplu g|sirea nregistr|rii urm|toare. document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

178

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru comand|, din baza de date Northwind, Pentru a exemplifica utilizarea butoanelor de Universitatea Tenhic| din Cluj-Napoca deschidei formularul Customer Phone List. Pentru a vedea detaliile clienilor care ncep cu Facultatea Construcii de comand| T, pentru a vedea toate numerele de telefon, clic pe litera T, clic pe butonul de Maini Catedra de Mecanic| i Programare butonul de comad| All. Curs de baze de date Microsoft Access

Ad|ugarea unui buton de comand| la un formular

Copyright 2000. Toate drepturile sunt rezervate autorului. n exemplul care urmeaz| vom ad|uga un buton de comand| unui formular din baza de date Northwind: Multiplicarea acestui document n scop comercial este interzis|. deschidei baza de date Northwind, clic pe butonul Forms, apoi selectai i deschidei formularul Categories. Formularul este prezentat mai jos. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access comutai n mod proiectare (Design View) prin clic pe pictograma View din bara de instrumente standard i selectai Design View; Copyright 2000. Toate drepturile sunt rezervate autorului. dac| cutia cu instrumente nu este afiat|, afiai cutia cu instrumete Toolbox prin clic pe pictograma Toolbox; Multiplicarea acestui document n scop comercial este interzis|. clic pe pictograma Command Button din cutia cu instrumente Toolbox; folosii tehnica de tragere cunoscut| deja pentru a desena un dreptunghi mic sub Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest eticheta Description a formularului; document pentru uzul personal. cnd eliberai butonul mouse-ului, vei vedea prima fereastr| din Generatorul Butoanelor de Comand| (Command Button Wizard); plat| sau alte persoane doritoare Sudenii participani la orice form| de nv||mnt cu exist| un num|r de categorii (Categories), cu acordul scris al autorului. n pot multiplica documentul numai contra cost i fiecare categorie avnd un num|r acest disponibil de aciuni (Actions). Fiecare aciune are definit| cte o pictogram| care poate fi scop m| putei contact| la: folosit| pentru butonul nou creat; pentru cazul exemplului ANTAL Tiberiu Alexandru nostru selectai categoria Form Operations - Operaii cu Formulare; tel.: 0040-264-530918 e-mail:din categoria Form Operations, selectai aciunea Close Form - nchide Formular. antaltiberiu@pcnet.ro Pagina din Generator este afiat| n figura care urmeaz|;

179

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:clic pe butonul Next pentru a continua; antaltiberiu@pcnet.ro urm|toarea pagin| a Generatorului va fi afiat|. Ea permite ad|ugarea unui text sau a unei pictograme pe butonul de comand|;

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai i faceicost i cu acordul scris al autorului. n acest acceptai opiunea implicit| contra clic pe Next; scop m| putei contact| la: ultima pagin| a formularului va fi afiat|. Aceasta permite definirea numelui butonului de comand|. n cazul nostru acest nume va fi CIesire; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

180

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:clic pe butonul Finish pentru ca Generatorul s| creeze butonul de comand|; antaltiberiu@pcnet.ro formularul, coninnd proasp|tul buton de comand| va fi vizualizat n mod proiectare. pentru a vedea cum arat| formularul n mod formular (Form View), clic pe View din meniu, apoi selectai Form View;

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: clic pe buton i formularul va fi nchis. Se va cere confirmarea salv|rii modific|rilor aduse formularului. Selectarea lui Yes va duce la ad|ugarea permanent| a butonului de ANTAL Tiberiu Alexandru comand| n formular. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

ntreruperi de pagin| (Page Break)

Dac| un formular se ntinde pe o suprafa| mai mare dect n|limea ecranului, se poate utiliza ntreruperea de pagin| pentru a realiza afiarea coninutului formularului pe pagini. Utilizatorul va ap|sa tastele Page Up sau Page Down pentru a se deplasa pe pagina urm|toare

181

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Pentru a folosi ntreruperile de pagin| trebuie cnd aceasta este vizualizat| n mod formular. Universitatea Tenhic| din Cluj-Napoca s| setai proprietatea DefaultView a formularului la valoarea Single Form. Facultatea Construcii de Maini Catedra de Mecanic| i Programare clic pe instrumentul Page Break din cutia cu instrumente ACurs de baze de date Microsoft Access da ugarea unei 7 ntreruperi de (Toolbox); pagina 7 clic n formular pe poziia n care Copyright 2000. Toatedrepturile sunt rezervate autorului. dorii s| punei ntreruperea de pagin|, atenie s| nu t|iai prin ntrerupere un control; un n scop comercial fi afiat pe marginea din stnga pentru a Multiplicarea acestui documentrnd de 6 puncte vaeste interzis|. indica ntreruperea de pagin|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. cu formulare i controale Aplicaie Exemplul urm|tor are ca suport modelul relaional obtinut ca urmare a normaliz|rii prezentate Sudenii 3. participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare n cursul pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Tabele i relaii Numele tabelelor i cmpurilor care vor fi create se prezint| n continuare: ANTAL Tiberiu Alexandru Tip/Proprietai 7 tel.:Nume tabel 0040-264-530918 Nume cmp e-mail: antaltiberiu@pcnet.ro IDContact Data Type AutoNumber TContacte PrimaryKey Nume Contact TContacte1 IDContact Data Type: Text Field Size: 100

Data Type: Number Conf. dr. ing. ANTAL Tiberiu AlexandruField Size: Long Integer Universitatea Tenhic| din Cluj-Napoca IDInfoContact Facultatea Construcii de Maini Catedra de Mecanic| i Programare Info Contact Curs de baze de date Microsoft Access Data Type: Number Field Size: Long Integer

Data Type: Text Field Size: 255 Copyright 2000. Toate drepturile sunt rezervate autorului. IDTipContact Data Type: AutoNumber TTipContact PrimaryKey Multiplicarea acestui document n scop comercial este interzis|. Tip Contact Data Type: Text Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Fereastra relaiilor este: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Pentru tabelele TContacte i TContacte1 relaia este definit| astfel:

182

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost este definit| astfel: al autorului. n acest Pentru tabelele TTipContact i TContacte1 relaia i cu acordul scris scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Cascade Delete Related Record este invalidat| pentru c| nu dorim s| Observai c| opiunea Microsoft Access se terg| nregistr|rile asociate din TContacte1, dac| cumva se terge un tip de contact din Copyright 2000. Toate drepturile sunt rezervate autorului. TTipContact. Multiplicarea acestui document n scop comercial este interzis|.

Formulare

Primul formular care va fi creat va avea Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ca surs| de date tabelul TTipContact i se document pentru uzul personal. va salva sub numele de FTTipContact. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Etapele de parcurs sunt: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest din fereastra bazei de date scop m| putei contact| la: selectai butonul Forms, apoi clic pe New; ANTAL Tiberiu Alexandru n ferestra New tel.: 0040-264-530918 Form facei seleciile din figura al|turat|; e-mail: antaltiberiu@pcnet.ro noul formular va fi afiat, iar n continuare introducei datele conform figurii care urmeaz|: nchidei formularul al|turat, iar

183

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr.fi ntrebat dac|Tiberiu Alexandru cnd vei ing. ANTAL dorii s| Universitatea Tenhic| din formular salvai modific|rile n noul Cluj-Napoca Facultatea Construcii de Mainithe (Do you want to save changes to Catedra de Mecanic| i Programare design of form 'Form1') selectai Curs deYes, apoidate Microsoft Access butonul baze de n noua fereastr|, la Form Name introducei FTTipContact Copyright 2000. ToateObservati casunt rezervate autorului. i facei clic pe pe OK. drepturile7 n coltul din stnga sus este afisat implicit Multiplicareade date. Modificarea scop comercial este interzis|. acestui document n numele sursei proprieta-ii Caption a formularului 7t Sudenii participanialt text nform| de nv||mnt superior bugetar pot multiplica acest permite afisarea unui la orice locul document pentru uzul personal. celui implicit. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare n continuare vom crea pe baza pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest tabelului TContacte un formular nou cu scop m| putei contact| la: alaturata numele FTContacte. Figura 7 7 prezint| seleciile care se fac pentru ANTAL Tiberiu Alexandru aceasta. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro n pagina urm|toare, ambele cmpuri vor fi selecate pentru afisare n formular. n varianta finala, cmpul 7 Nume Contact va fi afiat n formular, iar cmpul IDContact va fi facut invizibil prin setarea 7 proprieta-ii Visible la No. n ultima 7t Conf. dr. ing. ANTAL Tiberiu Alexandru pagin| a generatorului, acolo unde se Universitatea Tenhic| din Cluj-Napoca cere numele formularului, specificai Facultatea Construcii de Maini numele FTContacte. Noul formular va fi afiat pe ecran gata pentru introducerea datelor. Catedra de Mecanic| i Programare Comutai pe vizualizarea n mod proiectare i facei loc pe suprafaa formularului pentru a Curs de baze de date Microsoft Access insera un control de tipul Subform care va avea ca surs| de date tabelul cu numele TContacte1. Access va crea un subformular care va avea ca surs| de date interogarea de mai Copyright 2000. Toate drepturile sunt rezervate autorului. sus. Atunci cnd Access va cere numele sub care s| salveze interogarea acceptai numele implicit de TContacte1 subform. Realizai oriunde pe suprafaa subformularului clic dublu, Multiplicarea acestui document n scop comercial este interzis|. Access va deschide automat, n mod proiectare, subformularul salvat. Vei Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest avea trei controale Text Box pe document pentru uzul personal. suprafaa acestuia cu numele: IDContact, IDInfoContact i Info Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Contact. Selectai controlul Text Box pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest cu numele IDInfoContact, apoi facei scop m| putei contact| la: clic pe butonul din drepta. Din meniul Change To selectai Combo Box. ANTAL Tiberiu Alexandru Observai c| Text Box s-a transformat tel.: 0040-264-530918 ntr-un control Combo Box. Vizualizai e-mail: antaltiberiu@pcnet.ro lista propriet|ilor controlului IDInfoContact. Acesta poate stoca o valoare numeric| n tabelul TContacte1 care are ntotdeauna un corespondent n tabelul TTipContact. Pentru noi ar fi mai simplu ca pe

184

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. valorile numerice Tiberiu Alexandru lng| dr. ing. ANTAL corespunz|toare tipului de contact s| se afieze i numele acestora. Universitatea Tenhic|va afia lista tuturor tipurilor de contacte i va introduce n controlul Controlul Combo Box din Cluj-Napoca Facultatea Construcii de Maini corespunz|toare unui anumit tip de contact selectat din IDInfoContact valoarea numeric| Catedra de n Combo Box. Tabelul care urmeaz| prezint| lista propriet|ilor i semnificaia lista afiat| Mecanic| i Programare Curs de baze de date Microsoft Access sus. lor necesare pentru a face cele descrise mai Copyright 2000. Toate drepturile sunt rezervate autorului. Nume proprietate Valoare Semnificaie Multiplicarea acestui document n scop comercial este interzis|. Sursa de date pentru valorile pe care controlul Row Source TTipContact Combo Box le va afia n list| Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest 2 Num|rul de coloane care vor fi afiate n Column pentru documentCount uzul personal. control Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare 0";3" L|imea acordul scris al autorului. n acest Column Widths pot multiplica documentul numai contra cost i cu celor dou| coloane. L|imea pentru prima coloan| este 0, adic| ea nu se vede. scop m| putei contact| la: Introducei numele de contact ANTAL Tiberiu Alexandru Vasile Aioanei i informaiile de contact conform figurii care urmeaz|. Observati ca, n figura ,controlul IDContact nu este vizibil n subformular ntruct - 7 7 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. el a fost ascuns (se realizeaza clic pe numele cmpuluisuperior bugetar pot multiplica acest 7 Sudenii participani la orice form| de nv||mnt pentru a selecta coloana, apoi clic pe butonul dinpentru uzul personal. -i Hide Columns). Totul ar fi n ordine dac| nu va fi dreapta, din lista selectat 7 document necesar s| folosim cndva un tip de contact care nu este introdus n tabelul TTipContact. Rezolvarea acestei situaii se face ad|ugnd n seciunea plat| Footer formularului un Sudenii participani la orice form| de nv||mnt cu Form sau alteapersoane doritoare buton de comand| care dac| numai contra deschide primul formularal autorului. n acest pot multiplica documentul este ap|sat va cost i cu acordul scris (FTTipContact) creat pentru a putei introducerea scop m| permitecontact| la: unui nou tip de contact. i n acest caz putem fi asistai de un generator, este suficient s| facem clic pe pictograma Command Button din Toolbox i s| poziion|m mouse-ul undeva ANTAL Tiberiu Alexandru sub bara pe care scrie Form Footer i care marcheaz| nceputul acestei zone. Generatorul tel.: 0040-264-530918 va scrie automat codul corespunz|tor deschiderii unui formular dac| la categorii (Categories) selectai e-mail: antaltiberiu@pcnet.ro operaii cu formulare (From Operations), iar la aciuni (Actions) Open Form (deschide un formular). La ap|sarea butonului Next vei selecta dintr-o list| numele formularului care va fi descris, adic| pe FTTipContact, apoi folosii Next pn| cnd ajungei la pagina din figura care

185

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr. ing. ANTAL Tiberiu Alexandru urmeaz|. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Aici putei stabili dac| butonul va avea o imagine sau va conine un text ce specific| aciunea lui. Pentru exemplul nostru am ales varianta cu text, iar textul afiat de buton este: &Adauga tip contact. La ap|sarea lui Next va fi afiat| ultima pagin| a generatorului, aici vom introduce textul CAdauga pentru numele Command Button-ului, apoi vom ap|sa Finish. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 ad|uga un buton de comand| care corespunde aciunii de nchidere a Ca exerciiu, vom mai e-mail: antaltiberiu@pcnet.ro n final formularul, dup| un pic de cosmetic|, va ar|ta ca formularului curent (Close Form). si n figura anterioara. 7 Cunoatei deja c| un formular poate avea n spatele lui linii de program. Observai c| n cazul cnd introducei tipuri noi de contacte prin butonul Adauga tip contact, acestea nu vor

186

Introducere n Microsoft Access: Crearea controalelor - cursul 8

Conf. dr.imediat n listaTiberiu Alexandru din formularul FTContacte dect dac| l fi afiate ing. ANTAL tipurilor de contacte Universitatea Tenhic| dinPentru evitarea acestei proceduri trebuie scrise cteva linii de nchidei i l redeschidei. Cluj-Napoca Facultatea formularul FTipContacte. Deschidei formularul n mod proiectare, afiai lista program n Construcii de Maini Catedra de Mecanic| i Programare propriet|ilor formularului i pentru proprietarea On Close selectai din list| Curs de baze de date Microsoft Accessdin dreapta [EventProcedure], apoi clic pe butonul i introducei liniile de program: Copyright 2000. Toate drepturile sunt rezervate autorului. On Error Resume Next
Forms!FTContacte![TContacte1 subform].Form!IDInfoContact.Requery

Multiplicarea acestui document n scop comercial este interzis|. nchidei fereastra de cod cu liniile de mai sus i acceptati salvarea lor. Acestea spun lui Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Access s| remprosp|teze informaiile afiate n controlul IDInfoContact a document pentru uzul personal. subform] din formularul FTContacte n momentul subformularului [TContacte1 cnd acesta este nchis. nchidei fereastra de modul apoi, formularul i r|spundei cu Yes, Sudenii participanimodific|rilor pe de nv||mnt cu plat| sau alte persoane doritoare cnd se cere salvarea la orice form| care le-ai f|cut. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

187

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 9 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! cum se deschid i se vizualizeaz| rapoarte existente; Copyright 2000. Toate drepturile sunt rezervate autorului. ! cum se navigheaz| ntr-un raport; Multiplicareacum se vizualizeaz| n scop comercial este interzis|. acestui document ntreaga pagin| de raport; ! ! cum se tip|resc rapoarte; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. ! cum se creeaz| rapoarte folosind AutoReports; ! cum se creeaz| un raport organizat pe coloane folosind AutoReport; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra costGeneratorul de scris al autorului. n acest ! cum se creeaz| rapoarte folosind i cu acordul Rapoarte (Report scop m| putei contact| la: Wizard); ANTAL Tiberiu Alexandru nivelele de grupare (Grouping Levels) ntr-un raport; ! cum se adaug| tel.: 0040-264-530918 cum se sorteaz| nregistr|rile unui raport; e-mail:! antaltiberiu@pcnet.ro ! cum se specific| forma (layout) raportului; ! ! ! cum se specific| stilul raportului; cum se folosete Generatorul de Etichete (Label Wizard); cum se folosete Generatorul de Grafice (Chart Wizard);

Conf. dr. ing.cum se creeaz| un AlexandruGenerator; ANTAL Tiberiu raport f|r| ! Universitatea Tenhic| din Cluj-Napoca ! cum se creeaz| o cutie Facultatea Construcii de Maini de text; Catedra de Mecanic| i Programare ! cum se creeaz| o etichet|; Curs de baze de date Microsoft Access ! cum se seteaz| propriet|ile rapoartelor. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

188

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Generalit|i despre Rapoarte (Reports) Universitatea Tenhic| din Cluj-Napoca Dup| cum am discutat n primele cursuri, proiectarea unei baze de date ncepe cu ce anume Facultatea Construcii de Maini dorim de de aceasta, de i Programares| fie afiate rezultatele. Informaiile pot fi afiate pe Catedra la Mecanic| exemplu, cum ecran de bazefi tip|riteMicrosoft Access ecran se vor afia de obicei foile de date i Curs sau pot de date la imprimant|. Pe formularele, coninutul acestora fiind r|spunsul la o interogare sau o comand|. Formularele pot fi i ele 2000. Toatepentru majoritatea cazurilor, tip|rirea rapoartelor asigur| metoda Copyright tip|rite, dar drepturile sunt rezervate autorului. optim| de prezentare a informaiilor. Aceasta este adev|rat mai ales n cazul informaiilor care se prezint| sub acestuimai multor nregistr|ri i n special pentru cazul cnd se doresc totale Multiplicarea forma document n scop comercial este interzis|. calculate pe baza datelor din nregistr|ri particulare. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Exist| o multitudine de cazuri pentru folosirea rapoartelor, cteva mai comune ar fi: totale document pentru uzul personal. periodice ale vnz|rilor, liste de stocuri, liste de restanieri la plat|, facturi. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Un raport are mai multe sectiuni. Acestea se elaboreaza, n faza de proiectare a raportului, 7 pot multiplica documentul- numai contra cost i cu acordul scris al autorului. n acest prin pozitionarea pe suprafata sectiunii de controale. Unele sectiuni ale rapoartelor sunt scop m| putei contact| la: optionale, altele obligatorii. Cteva dintre tipurile de sectiuni mai folosite sunt: Tiberiu Alexandru (report header): apare o singura data, la nceputul antetul raportului 7 7 ANTAL raportului. Cont tel.: 0040-264-530918 -ine, de obicei, elemente constante, valori de cmpuri care se vor afisa numai pe prima pagina a raportului. 7 e-mail: antaltiberiu@pcnet.ro sfrsitul raportului (report footer): apare o singura data, la sfrsitul raportului. 7 7 Va contine elemente constante, functii aplicate asupra tuturor cmpurilor sau valori de cmpuri care sunt concluzii trase pe marginea datelor din raport. sectiunea detaliu (detail): apare pentru fiecare nregistrare din sursa de date (tabel sau interogare). Va contine detaliile raportului si este cel mai des formata din 7 cmpuri si functii. ing. ANTAL Tiberiu Alexandruheader & footer): cnd mai multe nregistrari au sectiunea de grupuri (group 7 Conf. dr. aceeas valoare din Cluj-Napoca Universitateai Tenhic|ntr-un cmp se poate realiza gruparea lor pe baza continutului cmpului. Gruparea Maini realiza numai pentru nregistrari consecutive. Din acest se poate 7 Facultatea Construcii de motiv nregistrarile trebuie sa fie 7 Catedra de Mecanic|7i Programare sortate pe baza valorilor cmpurilor folosite la grupare (sortarea si gruparea din 7 Curs de baze de date Microsoft Accessrapoarte nu pot fi separata n Access). Fiecare grup are o sectiunile de antet (header) si sfrsit (footer). Antetul este folosit folosit pentru afis 2000. Toate pentru care se face gruparea, iar sfrs Copyrightarea valorilor drepturile sunt rezervate autorului.itul este folosit pentru afisarea unor concluzii specifice respectivului grup de nregistrari. 7 7 7 7 Multiplicarea sectiunea pagina (page): fiecare pagina scoasa la imprimanta are un antet si un acestui document n scop comercial 7 este interzis|. sfrsit. De exemplu, n sfrsitul de pagina se poate afisa numarul pagini de raport. 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Cel mai simplu mod de creare al unui raport este folosirea Generatoarelor din Access. Exist| document pentru uzul personal. mai multe variante de rapoarte. Metoda cea mai direct| de creare este AutoReport care genereaz| un raport din orice form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani lacmpurile unui tabel sau a unei interog|ri la simpla ap|sare a unui buton. Dintre variantele mai numai contra cost i cu acordul scris al autorului. n acest pot multiplica documentul complexe sunt rapoartele de forma unei coloane (Single Column), rapoarte cu grupuri scop m| putei contact| la: i totale (Groups/Totals) i rapoartele de form| tabelar| (Tabular Reports). ANTAL Tiberiu Alexandru Gruparea permite identificarea i organizarea datelor pe grupe logice i calcularea de totale tel.: 0040-264-530918 locale sau globale pe baza unor e-mail: antaltiberiu@pcnet.rovalori comune. Sunt permise cel mult 10 nivele de grupare. De asemenea, este posibil| includerea unor subrapoarte ca parte a unui raport. nainte de a ncepe s| creai rapoarte singuri, ar fi util s| explorai rapoartele din baza de date Northwind. Le putei vizualiza n mod previzualizare i proiectare pentru a v| forma o idee

189

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTALn care sunt construite. general| despre modul Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra Deschiderea i vizualizarea unui raport existent de Mecanic| i Programare deschidei baza de date Northwind Curs de baze de date Microsoft Access i clic pe butonul Reports, dup| cum se vede n figura care urmeaz|: Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic dublu pe raporul care dorii s| fie vizualizat, pentru exemplul nostru am selectat raportul Catalog;

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

190 Pentru deplasare Universitatea Tenhic|jos a Cluj-Napoca din ferestrei pentru n pagina Facultatea Construcii de Maini vizualizata 7

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru de defilare (scroll bars) din dreapta i partea de folosii barele a v| poziiona pe diferite poriuni ale paginii. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Copyright 2000. Toatedrepturile sunt rezervatede mouse oriunde pe suprafaa raportului. poziionai cursorul autorului. Acesta va lua forma unei lupe; document n scop comercial este interzis|. clic pe butonul stng al mouse-ului. Afiarea raportului se va modifica aa nct toat| pagina s| ncap| n ferestra de vizualizare a Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest raportului; document pentru uzul personal. pentru reafiarea raportului n forma iniial| cnd numai clic din nou pe butonul stng o poriune este vizualizat| din raport. Poziia cursorului de mouse determin| zona din pagin| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare care va fi vizualizat|. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: folosii butoanele de navigare (navigation buttons) din colul Pentru stnga-jos al raportului pentru vizualizarea altor pagini ale raportului: deplasarea pe o ANTAL Tiberiu Alexandru ; pagina noua 7 tel.: 0040-264-530918 clic pe s|geat| la dreapta pentru a trece la pagina urm|toare; e-mail: antaltiberiu@pcnet.ro pe s|geata la dreapta urmat| de o bar| vertical| pentru a clic s|ri la ultima pagin|; clic pe s|geata la stnga pentru a trece la pagina anterioar|; clic pe bara vertical| urmat| de s|geata la stnga pentru salt la prima pagin|.
Pentru vizualizarea Multiplicarea acestui ntregii pagini

Tip|rirea (Printing) rapoartelor


naintedr. ing. ANTAL Tiberiu Alexandru Conf. de prima tip|rire a raportului este posibil s| dorii modificarea marginilor paginii sau a orient|rii acesteia. Orientarea portret (Portrait) este cea normal|, dup| cum i numele Universitatea Tenhic| din Cluj-Napoca sugereaz|, un format A4de Maini Facultatea Construcii apare cu latura mai lung| pe vertical|. Varianta alternativ| de orientare de Mecanic| i Programare mai lung| pe orizontal|. Odat| ce orientarea paginii a Catedra peisaj (Landscape) are latura fost fixat|, aceasta va Microsoft raport. Curs de baze de datefi salvat| nAccess Dup| aceast| setare raportul poate fi tip|rit la imprimant| sau poate fi nchis i tip|rit ulterior, f|r| ca setarea s| se piard|. Copyright 2000. Toate drepturile sunt rezervate autorului. clic pe meniul File i Pentru a Multiplicarea acestui selectai Pagescop comercial este interzis|. document n Setup. mod ifica selectai butonul mar ginile paginii Margins; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest fixai document pentru uzul personal. marginile dorite modificnd valorile numerice din Top (sus), Bottom participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii(jos), Left (stnga) i Right (dreapta) i apoimultiplica documentul numai contra cost i cu acordul scris al autorului. n acest pot clic pe butonul OK. scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

191

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| Cluj-Napoca File i din clic pe meniul Setarea Facultatea Construcii de Maini Setup; selectai Page opt iunilor de Catedraade Mecanic| i Programare butonul selectai tipa rire 7 Curs de paginilorbaze de date Microsoft Access Page; fixai opiunile dorite Copyright 2000. Toate drepturileOK. rezervate autorului. apoi clic pe sunt Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe meniul File i selectai Page Setup; selectai butonul Columns; modificai opiunile Number of Colums (num|rul coloanelor), Row Spacing (spaierea dintre rnduri) etc. apoi clic pe OK. Pentru activarea tip|ririi de rapoarte sau etichete pe coloane trebuie ca valoarea setat| n Number of Colums s| fie mai mare dect 1. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Crearea unui Facultatea Construcii de Maini raport folosind AutoReport deschidei Catedra de Mecanic| i Programare baza de date Northwind i efectuai clic pe butonul Crearea unui Reports; Curs d tip raportdeebaze de date Microsoft Access clic pe butonul New; coloana cu 7 Auto W izard Copyright 2000. Toate drepturile sunt rezervate autorului.
Setarea opt iunilor de tipa rire pe 7 coloane

Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro selectai tabelul sau interogarea care va fi sursa de obiecte i de date. Pentru exemplul prezentat am selectat tabelul Orders; selectai AutoReport: Columnar;

192

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. butonul OK i raportul formatat pe coloane va fi generat i afiat pe ecran. clic pe ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Crearea unui raport d e tip tabelar cu Conf. izard Auto W dr. ing.

deschidei baza de date Northwind i efectuai clic pe butonul Reports; clic pe butonul New. ANTAL Tiberiu Alexandru sau interogarea care va fi sursa de obiecte i de selectai tabelul Universitatea Tenhic|date. Cluj-Napoca din Pentru exemplul prezentat am selectat tabelul Orders; Facultatea Construciide Maini selectai AutoReport: Tabular; Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:clic pe butonul OK i raportul sub form| de tabel va fi generat i afiat pe ecran. antaltiberiu@pcnet.ro

193

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Crearea unui Raport folosind Generatorul de Rapoarte (Report Wizard)


Crearea unui Universitatea Tenhic| Cluj-Napoca din clic pe butonul raport folosind Facultatea Construciide Mainipe butonul clic Generatorul de Catedra de Mecanic| Report; i Programare Rapoarte

Conf. dr. ing. ANTAL Tiberiu Alexandru de date Northwind; deschidei baza Reports din fereastra bazei de date; New i se va afia fereastra de dialog New Curs de baze de date Microsoft Access

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:selectai tabelul sau interogarea care va fi sursa de date a raportului; antaltiberiu@pcnet.ro clic pe Report Wizard; clic pe butonul OK; urm|toarea pagin| a Generatorului va fi afiat|;

194

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Selectarea s|geata la dreapta pentru ad|ugarea cmpului n seciunea Selected cmpu rilor care Fields a ferestrei de dialog; vor fi incluse n Conf. Tiberiu Alexandru raport dr. ing. ANTAL repetai procedura de mai sus pentru toate cmpurile care dorii

clic pe cmpul care dorii s| fie inclus n raport, apoi clic pe

Universitatea Tenhic|s| apar| n raport, n figura de mai sus am inclus cmpurile, din Cluj-Napoca Facultatea Construcii de Maini CompanyName, ContactName, Address i City. Catedra depe butonul Next pentru a continua; Mecanic| i Programare clic Curs de baze de date Microsoft Access

Adau garea 2000. Toate drepturile sunt rezervate autorului. Copyright nivelelor de grupare Multiplicarea acestui document n scop comercial este interzis|. (gro up ing levels )

nivelele de grupare vor fi discutate mai trziu n cadrul acestui

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

195

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL facei clic pe Next pentru a trece de la pagina afiat| mai sus la cea de capitol, pentru moment Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca selectare a cmpurilor de sortare; Facultatea Construcii de Maini Catedra de Mecanic| i Programare pagina care urmeaz| permite selectarea criteriilor de sortarea Sortarea baze de date Microsoft Access Curs de cresc|toare sau descresc|toare a nregistr|rilor din rapoarte; nregistrarilor pentru exemplul prezentat, am selectat sortarea cresc|toare, unui raport Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. oar|ing. baza cmpului CompanyName i apoi pe baza cmpului ContactName; prima dr. pe ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca permite specificarea formei de afiare a raportului; urm|toarea pagin| a Generatorului Facultatea Construcii de Maini Catedra de Mecanic| i Programare putei selecta dintre formele de afiare: coloan| (Columnar), Determ inarea de date Microsoft Access Curs de baze tabel (Tabular) i aliniat (Justified);
formei de afisare a raportului

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

196

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. poate seta i orientareaAlexandru se ing. ANTAL Tiberiu paginii la portret (Portrait) sau peisaj (Landscape); Universitatea Tenhic| dinse poate ajusta automat nct raportul s| ncap| pe pagin|; laimea cmpurilor Cluj-Napoca 7 Facultatea Construcii de opiunile dorite clic pe Next pentru a trece la pagina urm|toare a dup| ce ai selectat Maini Catedra de Mecanic| i Programare Generatorului; Curs de baze de date Microsoft Access pagina care urmeaz| permite selecia unui stil de afiarea a Pentru definirea Toate drepturile sunt rezervate autorului. Copyright 2000. cmpurilor din raport, pentru exemplul prezentat selectai Compact; stilului raport Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru dup| ce ai selectat stilul, clic pe butonul Next pentru a continua; Universitatea Tenhic| din Cluj-Napoca permind denumirea raportului; urm|toarea pagin| este i ultima ea Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro introducei la numele raportului RClieni; implicit este selectat| opiunea previzualizare raport (Preview the report); clic pe butonul Finish pentru a genera i previzualiza raportul.

197

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Generatorul de etichete (Label Wizard) Conf. dr. ing. ANTAL Tiberiu Alexandru Deseori bazele Tenhic|conin liste cu adresele firmelor i indivizilor care particip| n diferite Universitatea de date din Cluj-Napoca tranzacii. Unul dintre rapoartele care pot fi create pe baza acestor date specifice sunt Facultatea Construcii de Maini etichetelede Mecanic| i Programare Catedra cu adrese. Curs de baze de date Microsoft Access deschidei baza de date Northwind; Crearea unei liste drepturile sunt rezervate autorului. butonul Reports; din fereastra bazei de date selectai Copyright de etichete 2000. Toate clic pe butonul New i se va afia fereastra de dialog New Multiplicarea acestui Report; n scop comercial este interzis|. document selectai tabelul sau interograrea care va fi sursa de obiecte pentru raport; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.
Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

198

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru selectai Label Wizard; Universitatea butonul OK pentru a continua; clic pe Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare urm|toarea pagin| permite definirea dimensiunilor etichetelor Definireabaze de date Microsoft Access Curs de i a hrtiei: de tip pagin| (Sheet feed) sau cu tractor (Continuous). Se dim ensiun ii s i a pot modifica unit|ile de m|sur| folosite la afiarea dimensiunilor tipului etichetei Copyright 2000. Toate drepturile sunt rezervate autorului. noi dimensiuni; etichetei i din Customize se pot defini Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

dup| ce ai selectat opiunile dorite clic pe butonul Next pentru a continua; pagina care urmeaz| permite definirea tipurilor de caractere:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: selectai opiunile dorite i facei clic pe butonul Next pentru a continua;
Definirea tel.: 0040-264-530918 incluse n in fo rm at iilor e-mail: -antaltiberiu@pcnet.ro care vor fi incluse n eticheta 7

ANTAL Tiberiu Alexandru urm|toarea pagin| permite definirea cmpurilor care vor fi etichet|;

199

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: clic pe un cmp din Available fields, apoi pe s|geata la dreapta pentru ad|ugarea ANTAL Tiberiu Alexandru cmpului n etichet|; tel.: 0040-264-530918 de cte ori este nevoie; repetai procedura e-mail:clic pe Next pentru a continua; antaltiberiu@pcnet.ro
Sortarea cmp urilor din etichete

aceast| pagin| permite sortarea etichetelor pe baza a unui cmp sau a mai multora;

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alteNext pentru a continua; selectai cmpurile pe baza c|rora se face sortarea, apoi clic pe persoane doritoare pot multiplicapagin| din Generatrorcontra cost iea permite definirea numelui de raport; ultima documentul numai va fi afiat|, cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

200

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru pentru generarea raportului i previzualizarea rezultatelor. clic pe butonul Finish tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Generatorul de Grafice (Chart Wizard)

Uneori este de dorit ca rapoartele s| conin| reprezent|ri grafice ale unor mulimi de date stocate n baza de date. Access-ul pune la dispoziia utilizatorului generatoare de grafice care pot fi inserate n rapoarte sau formulare.
Crearea unui Conf. cu ing. ANTALselectai butonul Reports; Tiberiu Alexandru raport dr. grafic

dechidei baza de date Northwind i din fereastra bazei de date

Universitatea Tenhic| Cluj-Napoca din clic pe butonul New i ferestra de dialog New Report va fi afiat|; Facultatea Construcii de Maini selectai tabelul sau interogarea Catedra de Mecanic| i Programare care va fi sursa de date a obiectelor care vor fi reprezentate grafic. n Microsoft Access Curs de baze de date exemplul urm|tor am selectat Sales by Year; Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe butonul OK;

201

Introducere n Microsoft Access: Rapoarte - cursul 9

Adaugarea de Universitatea Tenhic|lista Available Fields: n Fields for Chart. Pentru c| este vorba de din Cluj-Napoca cmpu ri Facultatea Construcii de Maini toate cmpurile acest efect se poate obine i printr-o singur| ap|sare graficului

Conf. dr. ing. ANTAL Tiberiu Alexandru pe baza procedurii cunoscute deja, ad|ugai toate cmpurile din Catedra de Mecanic| butonului i Programare ; Curs de baze de date Microsoft Access a

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro ap|sai butonul Next pentru a trece la urm|toarea pagin| a Generatorului; aici se afieaz| toate tipurile de grafice pe care le poate crea Generatorul, de unde utilizatorul trebuie s| selecteze unul dintre tipuri; Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro clic pe butonul tipului de grafic pe care dorii s|-l realizai, apoi clic pe butonul Next; n pagina care urmeaz|, trebuie s| decidei asupra modului de aranjare a datelor n grafic;

202

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

putei folosi tehnica de tragere (drag and drop) cu butoanele din dreapta pentru modificarea cmpurilor din grafic; putei efectua clic dublu pe un buton al graficului pentru a modifica modul de nsumare sau grupare a datelor; Conf. dr. ing. ANTAL Tiberiu Alexandru SumOfSubtotal din stnga sus, pe ecran se va de exemplu, dac| facei clic pe butonul Universitatea Tenhic| din Cluj-Napoca afia o fereastr| de dialog de forma: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru fixat personal. prezentare a datelor, clic pe butonul Next; dup| ce ai uzul modul de ultima pagin| va fi afiat|, aici dai nume raportului, pentru exemplul nostru acesta va Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare fi Vnzari pe luni; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

203

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiuasemenea, s| decidei asupra afi|rii sau neafi|rii legendei graficului; putei, de Alexandru tel.: 0040-264-530918 Finish pentru ca Generatorul s| creeze raportul; clic pe butonul e-mail: antaltiberiu@pcnet.ro ntruct interogarea, Sales by Year, care este sursa de date a graficului are doi parametri de tipul dat|, la afiarea raportului cu grafic valorile celor doi parametri sunt cerui prin dou| ferestre de dialog. Pentru prima dat| introducei valoarea astfel:

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access iar pentru cea de a dou| sub forma: Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica butonului OK, pe ecran se va afia un raport cu scris al autorului. n acestc| Dup| ap|sarea documentul numai contra cost i cu acordul grafic de forma (menionez scop m| putei contact|continuare sunt generate folosind baza de date Northwind.mdb care rezultatele prezentate n la: vine cu Access 97 - n versiunile mai noi de Access, perioada pentru care se face ANTAL Tiberiu trebui schimbat|): reprezentarea, va Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

204

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Nivele de grupare (Grouping Levels) n rapoarte


Cea mai simpl| metod| de grupare a informaiilor n rapoarte este folosirea Generatorului de Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Rapoarte. Pentru prezentarea unor detalii este util ca nregistr|rile unui raport s| fie grupate pe baza valorilor stocate n unele cmpuri ale raportului. Pot fi definite cel mult 10 nivele de grupare ntr-un raport, dac| dorii este posibil ca datele s| i fie sortate n cadrul grupului.

205

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL unitar| a Alexandru fiind posibil| efectuarea de operaii de Grupul permite tratarea Tiberiu nregistr|rilor Universitatea Tenhic|num|rare a elementelor unui grup. nsumare, mediere sau din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare n Access, la nivelul rapoartelor, gruparea si sortarea nu pot fi despartite. Sortarea ne permite 7Curs de baze nregistrarile ntr-o Accessdiferita de cea de introducere a datelor. Desi datele Microsoft ordine sa vizualizam de date 7 7 7 7 afisate de raport ar putea fi sortate folosind o interogare, este mai avantajoasa sortarea directa 7 7 CopyrightDaca, dintr-un oarecare motiv,rezervate autorului. modificata, raportul va din raport. 2000. Toate drepturile sunt interogarea ar trebui 7 7 continua sa afiseze datele n ordinea corecta. Alaturi de sortare, numai n rapoarte, apare 7 7 7 Multiplicarea acestui document n scop comercial comune din cmpuri. Gruparea permite posibilitatea gruparii nregistrarilor pe baza valorilor este interzis|. 7 7 crearea a unei perechi antet (header), sfrsit (footer) de grup. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest documentcrearea unor grupuri trebuie definita ordinea de sortare, pentru cel putin un cmp al nainte de pentru uzul personal. 7 raportului, folosind fereastra de dialog Sorting and Grouping. Ea se afiseaza, n modul - 7 Sudenii participani la orice form| meniul View pe cu plat| and alte persoane doritoare proiectare a raportului, selectnd din de nv||mnt Sorting sau Grouping. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Defin irea ordin ii Universitatea Tenhic| din de sortare

Conf. dr. ing. ANTAL Tiberiu Alexandru de dialog Sorting and Grouping; afisati fereastra Cluj-Napoca rnd al coloanei cu numele Field/Expresssion, clic n primul Facultatea Construcii 7 geata n jos va fi afisata; de sa Maini - 7 Catedra de Mecanic| i Programare 7 geata pentru afisarea listei de cmpuri din sursa de clic pe sa 7 Curs de baze de(n fereastra de mai sus au fost selectatate cmpurile Nume Contact si date a raportului date Microsoft Access IDInfoContact). Aceste nume exista, deci pot fi selecate, numai daca fac parte din sursa 7 7 Copyright 2000. Toate drepturile sunt rezervate pentru selectia cmpurilor de sortare si autorului. de date a raportului n lipsa unei surse de date, lista grupare va fi vida; 7 Multiplicarea-i din lista cmpul dorit; selectat acestui document n scop comercial este interzis|. 7 pentru cmpul selectat, din coloana Sort Order, alegeti Ascending, pentru sortarea Sudenii participani la orice form| de nv||mnt toare. superior bugetar pot multiplica acest crescatoare sau Descending pentru sortarea descresca 7 7 document pentru uzul personal.

Crearea unui Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare gruparea pe Nume Contact: antet de grup documentul numaibaza lui cost i cu acordul scris al autorului. n acest pot multiplica contra

Pentru crearea unui antet de grup care sa permita sorytarea si 7 7 -

afisati fereastra de dialog Sorting and Grouping; - scop m| putei contact| la: clic pe Nume Contact din coloana Field/Expression; clic pe proprietatea Group Header din partea de jos a ferestrei; sageata n jos va fi 7 ANTAL Tiberiu Alexandru afisata; - 7 tel.: 0040-264-530918 clic pe sageata n jos din dreapta, o lista de valori posibile va fi afisata; 7 7 - 7 e-mail: antaltiberiu@pcnet.ro selectati Yes din lista, sectiunea de antet (header section) va fi afisata n raport. 7 - 7

206

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. -ial ANTAL Tiberiu Alexandru ing. Raport init Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Raport cu antetul Nume Contact

Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu proprieta-i: n fereastra Group Properties sunt vizibile urmatoarele plat| sau alte persoane doritoare 7 7t pot multiplica Header: valoarea Yes creeaza antetul grupului, scris al autorului. n antetul; documentul numai contra cost i cu acordul iar valoarea No sterge acest Group 7 scop m| puteiFooter: valoarea Yes creeaza sfrsitul grupului, iar valoarea No sterge Group contact| la: 7 sfrsitul; ANTAL Tiberiu Alexandrumodul de grupare a valorilor. Optiunile afisate depind de tipul de Group On: specifica 7 tel.: 0040-264-530918 folosit pentru grupare. La gruparea pe baza unei expresii sunt afisate data a cmpului 7 e-mail:toate optiunile, altfel: antaltiberiu@pcnet.ro - pentru tipuri de date Text: ! Each Value: gruparea se face pentru aceeasi valoare n cmp sau n expresie; ! Prefix Character: gruparea se face pentru primele n caractere ale cmpului. - pentru tipuri de date Date/Time: Conf. dr. ing. ANTAL Tiberiu Alexandru ! Each Value: gruparea se face pentru aceeasi valoare n cmp Universitatea Tenhic| din Cluj-Napoca sau expresie; Facultatea Construcii de Maini ! Year: gruparea se face pentru datele aceluiasi an calendaristic; Catedra de Mecanic| i Programare ! Qtr: gruparea se face pentru patrimile aceluiasi an 7 Curs de baze de date Microsoft Access calendaristic; ! Month: gruparea se autorului. Copyright 2000. Toate drepturile sunt rezervateface pentru datele aceleiasi luni; ! Week: gruparea se face pentru datele din aceeasi saptamna; - 7 7 7 ! Day: gruparea se face pentru datele din aceeasi zi; Multiplicarea acestui document n scop comercial este interzis|. ! Hour: gruparea pentru aceleasi ore; ! Minute: nv||mnt superior minute. Sudenii participani la orice form| degrupare pentru aceleasi bugetar pot multiplica acest - pentru personal. document pentru uzultipurile AutoNumber, Currency si Number: ! Each Value: gruparea se face pentru aceeasi valoare n cmp Sudenii participani sau expresie; de nv||mnt cu plat| sau alte persoane doritoare la orice form| ! Interval: cost i cu acordul scris al autorului. n acest pot multiplica documentul numai contra gruparea se face pentru valorile din intervalul specificat; scop m| putei contact| la: ! Group Interval: defineste un interval valid pentru valorile ANTAL Tiberiu Alexandru sau expresiei folosite la grupare; cmpului tel.: 0040-264-530918 ! Keep Together: aceasta optiune face ca sectiune de antet sa 7 7 e-mail: antaltiberiu@pcnet.ro-ata la sfrsitul de pagina respectiv sectiunea de sfrsit sa nu nu fie afis 7 7 - 7 fie afisata la nceputul unei pagini noi; - 7 ! Whole Group: tipareste atetul si sfrsitul de grup pe o singura 7 7 pagina; 7 ! With First Detail: opreste tiparirea continutului 7 -

207

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiude grup daca sectiunea detaliilor nu are nregistrari; antetului Alexandru 7 7 Universitatea Tenhic| se face grupare. - No: nu din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| Access permite modificarea ordinii de sortare si grupare fara a i Programare 7 7 Operat ii baze de date Microsoft Access Curs -de modifica controalele individuale corespunzatoare din atetele si 7 elementare cu sect iuni -

sfrsiturile asociate unei pagini. Pentru aceasta: - Copyright 2000. Toatedrepturile sunt rezervate-ie a a cmpului sau a expresiei care doriti clic pe bara de select autorului. sa fie muata n fereastra Sorting and Grouping; 7 7 Multiplicarea acestui bara si -innd scop comercial este interzis|. document n apasat butonul stng trageti rndul pe noua pozitie; clic din nou pe 7- t 7 eliberati butonul stng. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. sau a unui sfrsit de pagina sau de raport, fara Stergerea unei sect iuni de antet 7 7 7 afectarea sortarii, se poate face din View, Page Header/Footer respectiv din View, Report 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Header/Footer. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: are rolul pastrarii gruparii datelor fara afisarea informatiilor Ascunderea unei sect iuni 7 7 7 7 7 legate de grupul n sine si se realizeaza astfel: 7 ANTAL Tiberiu Alexandru clic pe suprafata sectiunii de ascuns; tel.: 0040-264-530918 vizualizati proprieta-ile sectiunii; 7t e-mail:clic pe proprietatea Visible; antaltiberiu@pcnet.ro clic pe sageata n jos, din lista afisata selecati pe No. 7 - 7 Access permite adaugarea de ntreruperi de pagina pe baza ntreruperilor din grupuri, de 7 7 asemenea, se pot insera ntreruperi n cadrul sectiunilor, cu exceptia celor de pagina. De 7 exemplu, daca doriti ca fiecare grup nou sa nceapa pe o pagina noua se va folosi proprietatea 7 7 7 7 7 Force New Page. Aceasta poate lua urmatoarele valori: 7 Conf. dr. ing. ANTAL Tiberiu Alexandru ! None: nu se forteaza trecerea la pagina noua (implicit); - 7 7 7 Universitatea Tenhic| din Cluj-Napoca ! Before Section: sectiunea curenta se va tipari la nceputul unei noi pagini 7 7 Facultatea Construcii de Maini pentru fiecare grup nou; Catedra de Mecanic| i Programare After Section: sectiunea urmatoare se va tipari la nceputul unei noi 7 7 Curs de! baze de date Microsoft Access pagini pentru fiecare grup nou; ! Before & After: combina efectele celor doua 7 Copyright 2000. Toate drepturile sunt rezervate autorului. 7 valori anterioare. Multiplicarea acestui document n scop comercial este interzis|.

Rapoarte f|r| Generator


Crearea unui document pentru raport fa ra 7 7 Generator

Sudenii participani la orice deschidei nv||mnt superior bugetar pot multiplica de form| de baza de date Northwind i din fereastra bazei acest uzuldate selectai butonul Reports; personal. clic pe butonul Next pentru afiarea ferestrei de dialog New Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Report; pot multiplica documentul numai contratabel sau o interogare din al autorului. n acest selectai un cost i cu acordul scris list|; scop m| putei contact| la: View; clic pe opiunea Design clic pe butonul OK; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 f|r| controale sub forma: Access va afia un raport e-mail: antaltiberiu@pcnet.ro

208

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. pe vizualizarea n mod Alexandru Afiai cutia cu instrumente (Toolbox) din Comutai ing. ANTAL Tiberiu proiectare. Universitatea Tenhic| din Cluj-Napoca meniul View. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Crearea de controale Curs de baze de date Microsoft Access Sunt trei tipuri de controale care pot fi puse pe suprafaa unui formular: 1. Controale legate (Bound Controls): se folosesc pentru afiarea datelor din cmpurile Copyright 2000. Toate drepturile sunt rezervate autorului. tabelelor sau a interog|rilor. Valorile pot fi texte, numere, date, valori de adev|r sau logice, imagini sau grafice. Cel mai comun control legat este cutia cu text (Text Box). Este mai Multiplicarea acestui document n scop comercial este interzis|. eficient ca prima oar| s| creai controalele legate; 2. Controale nelegate (Unbound Controls): se folosesc pentru afiarea unor informaii Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest cum sunt texte, linii, dreptunghiuri i imagini. Un control nelegat nu este derivat dintr-un document pentru uzul personal. tabel; 3. Controale calculate (Calculated Controls): rezultatul acestora vine din evaluarea Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare unei expresii. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Cutia cu instrumente este identic| cu cea de la formulare. Toate Cutia cu tipurile de controale pot fi create cu ajutorul cutiei cu instrumente. instrumen te ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro dac| lista cmpurilor nu este afiat| selectai Field List din Crearea unei meniul View; cutii cu text selectai cmpul sau cmpurile n unul din urm|toarele feluri: legate

209

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Clic pe cmp. Universitatea Tenhic|un cmp din Cluj-Napoca Facultatea Construcii de Maini cmpuri un grup de Clic pe primul cmp, cu tasta Shift ap|sat|, Catedra de Mecanic| adiacente i Programare clic pe ultimul cmp din grup. Curs de baze de date Microsoft Access grup de cmpuri inei ap|sat| tasta Ctrl n timp ce facei neadiacente clic pe fiecare Copyright 2000. Toate drepturile sunt rezervate autorului. cmp dorit. Clic pe bara cu titlul listei de cmpuri. Multiplicarea acestui toate cmpurile din document n scop comercial este interzis|. list| Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest tragei cmpul sau cmpurile document pentru uzul personal. pe suprafaa raportului acolo unde dorii s| fie plasate. Dac| ai selectat mai multe cmpuri, ordinea lor este semnificativ|; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare clic pe pictograma Text Box din Toolbox. Cnd cursorul a pot multiplica Crearea unei documentul numai contra cost i cu acordul scris al autorului. n acest ajuns scop m| putei contact| la: pe suprafaa raportului forma lui se va modifica ntr-un semn + cutii cu text urmat de un dreptunghi care conine textul ab*; folosind cutia cu instrumen te ANTAL Tiberiu Alexandru clic pe raport acolo unde dorii s| plasai cutia. tel.: 0040-264-530918 clic pe pictograma Label din Toolbox; e-mail: unei Crearea antaltiberiu@pcnet.ro clic pe suprafaa raportului, acolo unde dorii s| plasai etichete eticheta; introducei textul etichetei. O alternativ| la crearea etichetelor este inerea ap|sat| a butonului stng i desenarea unui dreptunghi, de orice dimensiune, n care se va putea tasta textul dorit. Conf. dr. ing. ANTAL Tiberiu Alexandru selectai Field List din meniul View pentru afiarea listei Universitatea Crearea unui Tenhic| din Cluj-Napoca cmpurilor; Facultatea Construcii de Maini control legat clic pe instrumentul dorit din Toolbox; folosind cutia cu Catedra de Mecanic| i Programare instrumen te de date Microsoft Access cmp din list| i tragei-l pe suprafaa raportului. selectai un Curs de baze
Mod ificarea textului unei Multiplicarea etichete

clic dublu rezervate autorului. Copyright 2000. Toatedrepturile sunt pe etichet|; introducei textul etichetei. acestui document n scop comercial este interzis|.

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest poziionai cursorul peste cutia cu text i selectai-o; document pentru uzul personal. Crearea unei introducei o expresie, cursorul va lua forma I, apoi ap|sai cutii cu text Enter. Sudenii calculate participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Setarea propriet|ilor raportului La crearea unui raport, Access presupune anumite valori pentru unele propriet|i pentru ANTAL Tiberiu Alexandru seciunile raportului i raportul n sine. Controalele legate fiecare din controalele i pentru tel.: 0040-264-530918 din tabele sau din interog|rile la care sunt legate. Propriet|ile pot fi motenesc propriet|ile e-mail: antaltiberiu@pcnet.ro (Property Sheet). Aceasta se poate afia din View, setate folosind lista propriet|ilor selectnd Properties.

210

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Pentru a vedea mai multe propriet|i, folosii bara de defilare, prin selectarea butoanelor de sus (Format, Data, Event, Other, All) putei vedea numai o parte sau toate propriet|ile obiectului selectat. Conf. dr. ing. ANTAL Tiberiu Alexandru sunt: Cteva din propriet|ile specifice rapoartelor Universitatea Tenhic| din Cluj-Napoca Se folosete pentru ascunderea datelor dintr-un control dac| HideDuplicate Facultatea Construcii de Maini acesta are Catedra de Mecanic| i Programare aceeai valoare cu cea din nregistrarea anterioar|. Curs de baze de date Microsoft Access Specific| efectuarea unui sume n cutia cu text. Se poate seta la RunningSum valoarea Over Group, cnd suma se va face pe grupuri. Copyright 2000. Toate drepturile sunt rezervate autorului. Specific| dac| textul, seciunea unui raport sau subraport i CanGrow, CanShrink poate modifica dimensiunile pentru a se Multiplicarea acestui document n scop comercial este interzis|. acomoda la datele pe care le afieaz|. Nu se poate folosi pentru nceputuri (headers) i sfrituri nv||mnt superior Sudenii participani la orice form| de (footers) de pagini. bugetar pot multiplica acest document pentru uzul personal.

Aplicaia 1 cu rapoarte Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Vom continua aplicaia creat| n cursul 8 prin ad|ugarea a dou| rapoarte: primul va afia pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest numereleputei contact| format "carte de telefon", iar al doilea adresele de web i pot| scop m| de telefoane n la: electronic| din baza de date. n acest scop trebuie s| cre|m dou| interog|ri care vor fi sursele de date pentru cele dou| rapoarte. ANTAL Tiberiu Alexandru
tel.: 0040-264-530918 Interog|ri e-mail: antaltiberiu@pcnet.ro Creai interogarea din figura care urmeaz| i salvai-o sub numele de QMobilTelefon:

211

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Observai c| ea va conine numai nregistr|ri care au ca denumire tipurile de contacte: "telefon" sau "mobil". Dup| ce ai salvat interogarea, lansai-o n execuie pentru a verifica dac| informaiile afiate de aceasta sunt corecte. Copiai obiectul QMobilTelefon sub numele de QAdreseElectronice i modificai interogarea din urm| aa nct vizualizat| n mod proiectare s| fie de forma: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

212

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Rapoarte Facultatea Construcii de Maini parcurgnd etapele din figuri. Creai un raport folosind Generatorul Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

213

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL i primulAlexandru fi de forma: Ap|sai butonul Finish Tiberiu formular va Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Redenumii raportul din TContacte n RAdreseElectronice. Creai cel de al doilea raport avnd ca surs| de date interogarea QMobilTelefon aa nct n Conf. dr. ing. ANTALina sectiunile si controalele din figura urmatoare. mod proiectare s| cont Tiberiu Alexandru - 7 7 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

214

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Observati ca n fereastra Sorting and Grouping numele cmpului Nume Contact apare de - 7 Facultatea Construcii caz Maini -a antetul cmpului (proprietatea Group Header va lua doua ori. Pentru fiecare de se va afis 7 Catedra Yes), dar, pentru prima aparitie proprieta-ile vor fi setate dupa cum se observa n valoarea de Mecanic| i Programare7t 7 7 Curs de baze sus.date Microsoft Access figura de mai de Copyright 2000. Toate drepturile sunt rezervate autorului. Raportul face sortarea nregistr|rilor pe baza celor scrise Multiplicarea acestui document n scop comercial este interzis|. n fereastra Sorting and Grouping. Se observ| c| Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest nregistr|rile vor fi grupate pe document pentru uzul personal. baza cmpului primului caracter (Prefix Characters) din cmpul Sudenii participani lace Nume Contact, ceea orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentulun nseamn| c| Access ncepe numai contra cost i cu acordul scris al autorului. n acest scop nou putei contact| la: grup m| de cte ori primul caracter din numele contactelor ANTAL Tiberiu Alexandru de schimb|. Cnd aceasta se tel.: 0040-264-530918 din seciunea de sfrit a grupului (Group Footer) i valorile petrece va afia valorile e-mail: antaltiberiu@pcnet.ro corespunz|toare seciunii de nceput a urm|torului grup (Group Header). Pentru ca Access s| sorteze numele de contact n cadrul grupului trebuie ca Nume Contact s| fie ad|ugat din nou n fereastra Sorting and Grouping. La fiecare nceput de grup nou, n seciunea Conf. dr. ing. ANTAL Tiberiu Alexandru NumeContact Header, Access Universitatea Tenhic| din Cluj-Napoca va afia o copie mare a primei Facultatea Construcii de Maini litere din numele de contact Catedra de Mecanic| i Programare corespunz|tor grupului actual. Curs de baze de date Microsoft Access Lista propriet|ilor pentru controlul din prima seciune Copyright 2000. Toate drepturile sunt rezervate autorului. Nume Contact Header este cea din figura al|turat|. Proprietatea Multiplicarea acestui document n scop comercial este interzis|. nume (Name) are valoarea PimaLitera, iar ceala orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani surs| controlului pentru uzul personal. document (Control Source) = Left([Nume Contact], 1). Left() este o funcie care form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice extrage un caracter din primul pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest argument, n cazul de fa|la: scop m| putei contact| valoarea din cmpul [Nume Contact]. Previzualizarea ANTAL Tiberiu Alexandru raportului se prezint| n figura tel.: 0040-264-530918 al|turat|. e-mail: antaltiberiu@pcnet.ro Se observ| c| raportul se ntinde pe mai multe pagini. Dac| dorii s| folosii modul de afiare pe coloane pentru a face raportul mai compact (eliminnd risipa

215

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. facei set|rile urm|toare, slectnd Coulmns din Page Setup: de hrtie) ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Num|rul de coloane (Number of Catedra de Mecanic| 2; Programare Columns) este setat la i La fel cu Curs de (Same as Detail) determin| detaliile baze de date Microsoft Access dac| fiecare coloan| va avea sau nu Copyright 2000. Toate drepturile sunt rezervate autorului. aceeai l|ime (width) cu cea a seciunii Detail din proiectul raportului; Width Multiplicarea acestui document 3; scop comercial este interzis|. l|imea coloanelor - este setat| la n Aezarea Coloanelor (Column Layout) Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest determin| dac| coloanele merg de sus n document la dreapta (Down) sau de la jos i apoi pentru uzul personal. stnga la dreapta i apoi n jos (Across). Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Realizai aceste modific|ri i raportul va pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ar|ta ca n figura urm|toare. Dac| dorii scop m| putei contact| la: ca cele scrise n seciunile header i footer s| fie afiate pe toat| suprafaa ANTAL Tiberiu Alexandru de fa|) raportului (cum este i n cazul tel.: 0040-264-530918 suprafeei trebuie s| setai l|imea e-mail: antaltiberiu@pcnet.ro raportului la l|imea ntregului raport, apoi plasai controale n seciunile Detail numai cu l|imea pe care o vor avea coloanele. Nu uitai s| invalidai opiunea Same as Detail i s| realizai setarea l|imii controalelor aa nct fiecare coloan| s| ncap| n l|inea dat|. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca grup s| fie afiate mpreun| pe aceeai coloan|, nu n cazul n care dorii ca nregistr|rile unui Facultatea Construciiunde pentru litera M, acestea sunt sparte pe dou| coloane, comutai pe ca n figura urm|toare, de Maini Catedra de Mecanic| i Programare vizualizarea n mod proiectare al raportului, iar n fereastra Sorting and Grouping, pentru Curs de baze de date Microsoft Access primul cmp Nume Contact, modificai proprietatea cu numele Keep Together la Whole Group. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

216

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

217

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Aplicaia Universitatea Tenhic| din Cluj-Napoca 2 cu rapoarte Aplicatia care urmeaza si propune sa gestioneze elevii unei clase mpreuna cu notele pe care 7 7 Facultatea Construcii de Maini 7 le-au primit. Mecanic| i Programare nva-a sa creati, repede, un formular cu subformular si 7t 7 Catedra de Scopul aplicatiei este de a de a prezenta noi operatii care se pot la nivelul rapoartelor. Generatoarele din figurile care Curs de baze de date Microsoft Access urmeaza sunt specifice lui Access 2002 din Microsoft Office XP Professional. 7 Copyright 2000. Toate drepturile sunt rezervate autorului. Creati urmatoarele tabele: 7 Multiplicarea acestui document n scop comercial este interzis|. Nume tabel Nume cmp Proprietati 7IDElev Data type: multiplica acest Elevi Sudenii participani la orice form| de nv||mnt superior bugetar potAutoNumber Primary Key document pentru uzul personal. Nume Data type: Text Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Prenume pot multiplica documentul numai contra cost i cu acordul scris altype: Text n acest Data autorului. scop m| putei contact| la: Adresa Data type: Text ANTAL Tiberiu Alexandru IDElevNote Note tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Nota Data IDMaterie Conf. dr. ing. ANTAL Tiberiu Alexandru IDMaterie Materii Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Materie Curs de baze de date Microsoft Access Creati urmatoarele relat drepturile sunt rezervate autorului. Copyright72000. Toateii: Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru Creati doua formulare, primul va fi folosit pentru introducerea materiilor de studiu (n tabelul 7 tel.: 0040-264-530918 Materii), al doilea va fi folosit pentru intreoducerea elevilor si a notelor pe care acestia le-au e-mail: antaltiberiu@pcnet.ro primit la anumite materii. Ambele formulare vor fi create folosind generatoare de formulare. Pentru crearea primului formular parcurgeti etapele: Data type: Number Field Size: Long Integer Data type: Number Field Size: Long Integer Data type: Date/Time Data type: Number Field Size: Long Integer Data type: AutoNumber Primary Key Data type: Text

218

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru din Object, selectati Forms; Universitatea Tenhic| din Cluj-Napoca apoi, New, Facultatea Construcii de Maini AutoForm:Tabular, iar sursa de date Catedra de Mecanic| i Programare va fi tabelul Materii; Curs de baze de date Microsoft Access clic pe butonul OK; Copyright 2000.-at nou drepturile sunt rezervate autorului. Pe ecran va fi afisToate formular care va fi salvat n baza de date sub numele Multiplicarea acestui document n scop comercial este interzis|. de Materii atunci cnd se va realiza nchiderea lui. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest documentapentru uzul personal. de nainte de trece la realizarea celui al doilea formular deschideti formularul Sudenii salvat mai nainte si form| de nv||mnt cu plat| sau alte persoane doritoare Materii, participani la orice pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ntroduceti cteva materii n el. scop m| putei contact| la: Tabelul Note nu contine, explicit, ANTAL Tiberiu Alexandru da nota numele materiei pentru care s-a tel.: 0040-264-530918 ci doar un cod al ei. Pentru ca n locul e-mail:cod sa fie afisata denumirea acestui antaltiberiu@pcnet.ro 7 - 7 materiei corespunzatoare din Materii, 7 vom crea un Lookup. Urmatoarele 7 etape trebuie parcurse: din Objects, selectati Tables; clic pe Design, apoi slectati Conf. dr. ing. ANTAL Tiberiu Alexandru cmpul IDMaterie; Universitatea Tenhic| din Cluj-Napoca n lista proprieta-ilor cmpului 7t Facultatea Construcii de Maini (Field Properties), clic pe Lookup; Catedra de Mecanic| i Programare clic pe va valoarea proprieta-ii 7t Curs de baze de date Microsoft Access Display Control, o sageata n jos va fi 7 afisata n dreapta; - 7 Copyright 2000. Toate drepturile sunt rezervate autorului. clic pe sageata din dreapta si selectati din lista Combo Box, n acest moment, se vor 7 afisa noi proprieta-i corspunzatoare afisarii valorii acestui cmp prin intermediul unui control 7t 7 -7 Multiplicarea acestui document n scop comercial este interzis|. de tipul Combo Box; setati urmatoarele proprieta-i: 7 7t Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Nume proprietate Valoare Semnificatie document pentru uzul personal. Materii Sursa de date pentru sau alte7 rile care vor fi Row Source Sudenii participani la orice form| de nv||mnt cu plat| nregistrapersoane doritoare afisate de controlul Combo Box. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| Column 1 Coloana din sursa de date, la noi tabelul Materii, Bound putei contact| la: care va da valori controlului Combo Box atunci ANTAL Tiberiu Alexandru cnd se va selecta o valoare din lista afisata de - 7 tel.: 0040-264-530918 acesta e-mail: antaltiberiu@pcnet.ro 2 Numarul de coloane din sursa de date 7 Column Count Column Widths 0, 2 La-imea folosita pentru afisarea valorilor din 7t 7 coloanele. Pentru la-imea 0 coloana nu se va afisa. 7t -

219

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru 7t 7 List Width Universitatea Tenhic| din2Cluj-NapocaLa-imea folosita pentru afisarea tuturor coloanelor. Facultatea Construcii de Maini Salvati modificarile aduse tabelului. Acum vom trece la realizarea celui de al doilea formular. 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access din Objects, selectati Forms; clic pe New, din drepturile sunt Copyright 2000. Toate lista selectati rezervate autorului. Form Wizard, iar la "Choose table or query where the object's data comes Multiplicarea acestui document n scop comercial este interzis|. from:" selectati tabelul Elevi (vezi figura alaturata); 7 participani la orice form| de nv||mnt superior bugetar pot multiplica acest 7 Sudenii clic pe OK; document pentru uzul personal. n figura participani la orice form| de 7 - 7 Sudenii urmatoare, observati ca, dintre nv||mnt cu plat| sau alte persoane doritoare cele patru cmpuri tabelului numai contra cost i cu acordul scris al autorului. n acest pot multiplica documentul elevi, au fos selectate cmpurile Nume, scop m| putei contact| la: Prenume si Adresa pentru a fi puse ANTAL Tiberiu tabelul Elevi si tabelul n formular. ntre Alexandru tel.: 0040-264-530918 Note este o relatie unu-la-multi prin e-mail: antaltiberiu@pcnet.ro si intermediul cmpurilor IDElev IDElevNota. Generatorul de formulare va -ine cont de aceasta relatie, iar daca n aceasta t 7 7 7 etapa, din Tables/Querie se va selecta tabelul Note si vor fi trecute n Selected Fields si 7 cmpurile Nota, Data si IDMaterie, ale lui Note, generatorul va crea automat un subformular cu aceste cmpuri. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. n final, aceasta pagina a generatorului, n 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare care se vor selecta cmpurile de afisat pe pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest suprafata formularului trebuie sa arate astfel: 7 scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

220

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. Finish. Tiberiu Alexandru clic pe ANTAL Universitatea Tenhic| din Cluj-Napoca Facultatea va afisa formularul: Pe ecran se Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Observati ca pentru cmpurile corespunzatoare tabelului Note s-a creat, automat, un 7 e-mail: antaltiberiu@pcnet.ro subformular. Daca doriti ca n subformular, n loc de IDMaterie, sa fie afisat textul Materie, 7 7 treceti n modul proiectare si modificati denumirea etichetei (label) cmpului IDMaterie de la IDMaterie la Materie. Pentru ca acest formular sa afiseze media pe semestrul unu si pe semestrul doi a elevilor 7 treceti n modul proiectare si adaugati controalele din figura care urmeaza. 7 7 Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

Datas11 Datas12 Medias1

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Observati ca primele doua controale sunt de tipul Text Box "Unbound", acestea vor stoca - 7 7 doua date avnd numele Datas11 si Datas12. Acestea reprezinta limita inferioara si cea 7 7 7superioara pentru definitrea semestrului 1. Urmatorul control, cu numele Medias1, este 7 7 calculat dupa formula: 7

221

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru =DSum("[Nota]","Note", "[IDElevNota] = " & [IDElev] & " AND Universitatea Tenhic| din Cluj-Napoca AND [Data] <= #" & [Datas12] & [Data] >= #" & [Datas11] & "# Facultatea Construcii de Maini "#")/DCount("Nota","[Note]", "[IDElevNota] = " & [IDElev] & " Catedra de Mecanic| i & [Datas11] & "# AND [Data] <= #" & [Datas12] AND [Data] >= #" Programare Curs de baze de date Microsoft Access & "#"). Copyright 2000.-iile DSum() si DCount() pentru a calcula media unui elev pentru un El foloseste funct Toate drepturile sunt rezervate autorului. anumit semestru. Functia DSum() realizeaza suma tuturor notelor, iar functia DCount() 7 Multiplicarea acestuintr-un semestru (decomercial forma generala pentru DSum() este document n scop exemplu, este interzis|. numara cte note sunt 7 7 7 DSum("[nume cmp]","nume tabel","criteriu de selectie"). Aceste Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest calcule pot fi realizate doar daca n controalele Datas11 si Datas12 sunt stocate date. 7 document pentru uzul personal. Cel mai simplu mod de a pune date n aceste doua controale este initializarea (prin folosirea 7 proprieta-ii Default Value) lor cu data curenta folosind functia Date(). n lipsa unei date 7t 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare functiile de mai sus nu vor putea lucra si n locul mediei va fi afisat textul #Error. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Introducerea datei curente n aceste controale rezolva evitarea aparitiei erorii, dar, n mod 7 scop m| putei contact| la: sigur, aceste valori nu delimiteaza corect semestrul. Deci, utilizatorul va trebui sa modifice 7 7 aceste valori la cele corecte. n acest caz apare urmatoarea problema. Valoarea controlului 7 7 ANTAL Tiberiu Alexandru Medias1 se calculeaza pe baza valorilor intiale din controalele Datas11 si Datas12. 7 tel.: 0040-264-530918 Cum aceste valori, sigur, nu sunt bune si trebuie sa le modificam ce se va petrece cu valoarea 7 7 e-mail: antaltiberiu@pcnet.ro din controlul Medias1 ca urmare a modificarii valorilo celor doua controle. Daca testati 7 7 7 efectul modificarii veti vedea ca nu se petrece nimic, adica valoarea lui Medias1 nu se 7 7 7 modifica, desi valorile din Datas11 si Datas12 au fost schimbate. Pentru ca modificarile 7 7 aduse valorilor stocate n acestor controale sa duca la recalcularea contintului Medias1 7 7 trebuie sa definim doua proceduri de tratare a evenimentelor de actualizare a controalelor 7 7 Datas11 si Datas12. Un eveniment este rezultatul sau consecinta unei actiuni realizate de utilizator. Access raspunde la evenimente prin 7 Conf. dr. ing. ANTAL Tiberiu Alexandru intermediul unor comportamente definite la nivelul unor proprieta-i de controale. De exemplu, evenimetul de actualizare a valorilor 7t Universitatea Tenhic| din Cluj-Napoca stocate ntr-un control este Maini 7t 7 Facultatea Construcii de tratat prin intermediul proprieta-ii After Update. Urmatoarele etape vor de parcure pentru ambele controale: fi Mecanic| i Programare Catedra din lista proprieta-ilor, clic pe proprietatea After Update, n dreapta apare o sageata n 7t 7 7 Curs de baze de date Microsoft Access jos; clic pe sa Toate jos, din lista selectati [Event Procedure]; 7 7 Copyright 2000.geata ndrepturile sunt rezervate autorului. clic pe butonul cu cele trei puncte din dreapta; tastati acestui document n scop comercial este interzis|. Multiplicarealinia: Me.Medies1.Requery. Reluati etpatele de mai sus si pentru al doilea control. Linia Me.Medies1.Requery acest Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica va document pentru sa fie personal. dupa terminarea modificarilor aduse valorilor celor doua face ca Medias1 uzul reactualizat 7 7 7 7 controale. Acest cod este adaugat formularului Elevi si, n final, va fi trebuie sa fie de forma 7 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare urmatoare. 7 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m|control contact| la: de cmpul IDElev a tabelului Elevi. El va fi invizibil, pentru Ultimul putei este unul legat aceasta proprietatea Visible, a lui, va fi setata la valoarea No. Introducerea lui este necesara 7 7 ANTALselecta din Note numai notelor elevului curent. Acesta este identificat unui prin Tiberiu Alexandru pentru a tel.: 0040-264-530918 valoarea stocata n cmpul IDElev a tabelului Elevi. Functiile au aceleasi argumente, primul 7 e-mail: antaltiberiu@pcnet.roeste numele cmpului, iar al treilea este conditia de respectat este numele tabelului, al doilea pentru ca valorile cmpului sa fie nsumate respectiv numarate. Toate argumentele trebuie sa 7 7 7 fie siruri de caractere. Acesta este motivul pentru care textele sunt cuprinsa ntre ghilimele. 7

222

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Codul adaugat pentru 7 Multiplicarea acestui document n scop comercial este interzis|. actualizarea lui Medias1 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Ultimul argument, pe lnga buca-i de texte cuprinse ntre ghilimele mai contine simbolul & 7 7t Conf. dr.un operator pentru prelucrarea sirurilor. El face concatenarea (alaturarea operanzilor, ing. ANTAL Tiberiu Alexandru care este 7 Universitatea Tenhic| din Cluj-Napoca din doua siruri face unul singur prin alaturarea continutului celor doua siruri; detalii cu privire 77 7Facultatea Construcii den cursul 10, care prezinta elementele limbajului de programare la acest operator se gasesc Maini 7 7 Catedra de Mecanic| i Programare VBA). Curs de baze de date Microsoft Access Pentru realiza calculul mediei pe semestrul doi, vom copia, la dreapta, primele trei controale. Copyright 2000. Toate drepturile sunt rezervate autorului. n modul proiectare formular Numele noilor controale vor fi: Datas21, Datas22, Medias2. va arata astfel: 7 Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

223

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca lucreze cu valorile din Datas21 si Datas22 ntruct controlul Medias2 va trebuie sa 7 Facultateacorespunzator expresia de calcul a acestuia. n figura care urmeaza se prezinta Construcii de Maini modificati 7 7 7 Catedra de Mecanic| i Programare rezultatele afisate de controalele calculate, pe baze cel spuse pna acum, n cazul concret a 7 Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro unui elev. Raportul aplicatiei, si propune pentru nceput, sa afiseze toti elevii clasei, cu toate notele lor, 7 sortate si grupate pe baza numelui elevilor si a materiiilor. La nivelul materiilor, notele, vor fi sortate n ordinea crescatoare a datelor. Pe baza celor spuse se poate deduce ca raportul va 7 7 avea urmatoarele sectiuni: 7 Conf. dr. ing. ANTAL Tiberiu raport (Report Header si Report Footer); ! antet si sfrsit de Alexandru Universitatea Tenhic| dinit de pagina (Page Header si Page Footer); Cluj-Napoca ! antet si sfrs 7 Facultatea Construcii de grupare pe baza cmpului Nume (Nume Header); ! antet pentru Maini Catedra de Mecanic| i Programarebaza cmpului IDMaterie (IDMaterie Header); ! antet pentru grupare pe Curs de! baze de date Microsoft Access sectiune pentru detalii (Detail). Copyright 2000. Toatemai sus, folositi generatorulautorului. pentru a crea un raport ct Pe baza elementelor de drepturile sunt rezervate de rapoarte mai apropiat de cel dorit. Treceti, apoi, n modul proiectare si modificati raportul pentru a-l Multiplicarea acestui document n scop comercial este interzis|. aduce la forma din figura care urmeaza. 7
Num erotarea document pentru nregistra rilor 7 unei sect iuni -

Sudenii participani la orice plasati un control Unbound, de tipul Text Box, n dreapta form| de nv||mnt superior bugetar pot multiplica acest uzulcontrolului Nota; personal. modificati urmatoarele proprieta-i: 7 7t Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Nume proprietate Valoare Semnificatie ANTAL Tiberiu Alexandru =1 Numele cmpului sau expresia folosita pentru 7 Control Source tel.: 0040-264-530918 calcularea valorii. n cazul nostru controlul e-mail: antaltiberiu@pcnet.ro primeste valoarea expresiei constante 1. Format #) Formatul folosit pentru afisarea valorii controlului. n cazul nostru se va afisa valoarea numerica urmata de caracterul ")". 7 7

224

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Over Group 7 7 Running Sum Universitatea Tenhic| din Cluj-Napoca Daca se realizeaza afisarea unui total si modul de calcul al acestuia. n cazul nostru se va realiza o Facultatea Construcii de Maini nsumare la nivel de grup, adica valoarea afisata 7 - 7 Catedra de Mecanic| i Programare 7 Curs de baze de date Microsoft Access de acest control va fi crescuta cu 1 pentru fiecare nregistrare noua din grup. Se realizeaza astfel 7 7 numerotarea fiecarei note primite de un elev la o 7 Copyright 2000. Toate drepturile sunt rezervate autorului. materie. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. n figura participani se vede ca fiecare nota primita de un elev, alte persoane doritoare 7 7 7 7 Sudenii care urmeaza,la orice form| de nv||mnt7cu plat| saula o anumita materie, va numerotata. La documentul numai contra cost schimbarea materiei, numerorarea se reia cu 7 trecerea la un nou grup, adica la i cu acordul scris al autorului. n acest 7 pot multiplica valorea calculata 7t scop m| putei 7 pentru control, la noi valoarea 1. Prin setarea proprieta-ii Running Sum la contact| la: valoarea Over Group, la valoarea curenta a controlului, care la noi este ntotdeauna 1, se 7 aduna valorile anterioare. 7 ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Sa presupunem, ca n raportul urmator, dorim sa calculam media 7 7 7 7 7 e-mail: antaltiberiu@pcnet.ro Crearea unui aritmetica pentru fiecare materie. Daca elevul are mai multe note la o 7 7 total la nivel de materie acestea trebuie nsumate, apoi suma trebuie mpartita la 7- 7 grup numarul de note. Urmatoarele etape trebuie parcurse: 7 7

225

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de bazeun nou control n antetul grupului (sau n sftsitul lui); creati de date Microsoft Access introduceti expresia =Sum([Nota])/Count([Nota]) n proprietatea Control Copyright 2000. Toate fie un numesunt rezervate din sursa de date; modificati proprietatea Name; Nota trebuie sa drepturile de cmp valid autorului. 7 Format la #.00. Multiplicarea acestui document n scop comercial este interzis|. Pentru exemplul prezentat, controlul a fost introdus n antetul grupului IDMaterie Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest (IDMaterie Header). Functia Sum() realizeaza nsumarea valorilor acestui control, la nivel 7 document pentru uzul personal. de grup, iar functia Count() va numara nregistrarile grupului. 7 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Nota: Daca numele controlului este calculat, trebuie repetata expresia de calcul a lui. De 7 7 7 exemplu, daca dorim sa realizam totalul pentru un control numit PretcuTVA calculat cu 7 7 7 formula [Pret]*[TVA], n loc de =Sum([Pretcu TVA]) se va scrie =Sum([Pret]*[TVA]).

226

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea ne propunem Cluj-Napoca n continuare, Tenhic| din sa calculam media generala a unui elev. Pentru aceasta, din 7 7 7 Facultatea Construcii de Maini fereastra Sorting and Grouping, vom selecta pe Nume. Aici, vom seta proprietatea Group Catedra de Mecanic| i Programare -iunii de sfrsit (Nume Footer) pentru grupul Nume Footer pe Yes. Efectul va fi aparitia sect Curs de baze de date Microsoft7 Access controlul care realizeaza media aritmetica pentru n formular. Vom copia n aceasta sectiune 7 7 fiecare materie. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Media generala a unui elev va fi calculata facndu-se suma tuturor notelor lui, care apoi se va 7 7 7 ANTAL Tiberiu Alexandruelevului. mparti la numarul de note a 77 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Daca dorim sa calculam media generala a unui elev, facnd media aritmetica a mediilor la 7 7 7 7 7 7 nivel de materii, strategia de mai sus nu mai este de folos. Urmatoarele etape trebuie urmate n 7 acest caz: copiati controlul care face media aritmetica la nivel de materii, n aceeasi sectiune, si 7 dati numele de SumaMedii acestui nou control; apoi, setati proprietatea Running Sum la valoarea Over Group; creati un nou control de tipul Text Box cu numele ContorMaterii, tot n sectiunea Conf. dr. ing. ANTAL Tiberiu Alexandru IDMaterie Header cu proprietatea Running Sum setata la valoarea Over Group; 7 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

227

Introducere n Microsoft Access: Rapoarte - cursul 9

Conf. dr. sectiunea Nume Footer, realizati o copia a controlului care realizeaza calculul n ing. ANTAL Tiberiu Alexandru 7 Universitatea Tenhic| modificati proprietatea Control Source la din Cluj-Napoca mediei aritmetice, apoi Facultatea Construcii de Maini =[SumaMedii]/[ContorMaterii]. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Rezultatele vor fi afisate astfel: Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

228

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 10 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! cum s-a n|scut limbajul de programare BASIC i ce este VBA; Copyright 2000. Toate drepturile sunt rezervate autorului. ! ce este programarea orientat| pe evenimente; Multiplicareace sunt procedurile de evenimente; acestui document n scop comercial este interzis|. ! ! ce sunt i cum se definesc procedurile utilizator; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. cum se declar|; ! ce sunt variabilele i ! care sunt tipurile de date n VBA; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ! ce sunt constantele simbolice i intrinseci; scop m| putei contact| la: ! care sunt operatorii limbajului VBA; ANTAL Tiberiu Alexandru ! care sunt instruciunile limbajului VBA; tel.: 0040-264-530918 ! ce este o clas| VBA i cum se definete aceasta; e-mail: antaltiberiu@pcnet.ro ! ce este o colecie VBA.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

229

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Limbajul de programare Universitatea Tenhic| din Cluj-Napoca Visual Basic for Applications BASIC sau Facultatea Construcii de MainiBeginner's All-purpose Symbolic Instruction Code este un ncepu tur ile Catedra i BA SIC i Programare limb ajulude Mecanic| limbaj simplu, creat de John G. Kemeny i Thomas E. Kurtz de la Dartmouth College Curs de baze de date Microsoft Access n 1963. Dei din numele limbajului se pare c| a fost scris pentru a permite programarea ct mai simpl| pentru studeni i ncep|tori, iniial a fost proiectat ca un rezervate autorului.cu time sharing (time sharing: Copyright 2000. Toate drepturile sunt sistem experimental facilitate a unui sistem de operare care permite mai multor utilizatori s| execute mai multe programe concurent, pe un singur n scop sau, n paralel, pe mai multe procesoare. De obicei Multiplicarea acestui document procesorcomercial este interzis|. fiecare utilizator are propriul lui terminal pentru operaii de intrare/ieire. time sharing este multitasking pentru utilizatori form| demultitasking: o tehnic| folosit|pot multiplica de Sudenii participani la orice multipli. nv||mnt superior bugetar ntr-un sistem acest operare pentru partajarea unui singur procesor ntre mai multe programe independente. document pentru uzul personal. Programele n multitasking pot fi ale unui singur utilizator sau ale mai multor utilizatori, prin aceasta separticipani la de procesarea paralel| - paralell processing, unde un singur Sudenii face distincia orice form| de nv||mnt cu plat| sau alte persoane doritoare utilizator execut| mai multe programe pe mai multe procesoare). Cu al autorului. n cauza pot multiplica documentul numai contra cost i cu acordul scris timpul a devenit acest principal| a "reducerii i la: scop m| putei contact| deform|rii mentale" a programatorilor ncep|tori. Cazul este oarecum similar cu cel al limbajului Pascal, cnd un limbaj proiectat exclusiv cu scop educaional, a fost luat prea n ANTAL Tiberiu Alexandru serios. Un novice poate scrie n BASIC programe scurte, de 2040 linii, foarte simplu; scrierea unor programe mai lungi este: (a) chinuitoare i (b) duce la tel.: 0040-264-530918 formarea unor deprinderi care nu e-mail: antaltiberiu@pcnet.ro pot fi utilizate n cadrul unor limbaje de programare de nivel nalt mai puternice.
Renas terea BASIC-ului

Visual Basic pentru Aplicaii - VBA - a fost transformat de firma Microsoft n limbajul de programare al ntregii familii de produse Microsoft Office (Access, Excel, Word, PowerPoint). Nucleul limbajului, componentele sale i mediul sunt aceleai pentru toate aceste dr. ing. ANTAL n plus, fa| de macro comenzi urm|toarele facilit|i: aplicaii, oferind Tiberiu Alexandru Conf. 1. apelarea funciilor API; Universitatea Tenhic| din Cluj-Napoca 2. tratarea erorilor; Facultatea Construcii de Maini 3. manipularea datelor din baz| sub Catedra de Mecanic| i Programare controlul unor instruciuni folosind metode de acces la date specifice date Microsoft Access Curs de baze desau generale; 4. manipularea structurii bazei de date prin program. Copyright 2000. Toate drepturile sunt rezervate autorului. Macro comenzile ofer| soluii rapide i simple, dar cu limit|ri multiple. Limbajul VBA ofer| facilit|i i control mai eficace asupra aciunilor pe care le derul|m Multiplicarea acestui document n scop comercial este interzis|.cu datele din baz|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Programarea orientat| pe evenimente document pentru uzul personal. n programarea procedural| tradiional|, controlul evoluiei programului este determinat chiar de el nsui. Execuia ncepe cu prima instruciune i urmeaz| o linie secvenial| sau cu Sudenii participani la orice form| de nv||mnt cu plat| sau altepe evenimente, salturi, funcie de instruciunile programului. n programarea orientat| persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al genereaz| evenimente. aciunile utilizatorului sau ale sistemului pe care se execut| programul autorului. n acest scop m| cunoate care poriune de cod este executat|, trebuie s| tim ce eveniment a ap|rut, Pentru a putei contact| la: iar dac| sunt mai multe, ordinea lor de apariie. Putem spune c| poriunea de cod executat| ANTALde aciunile utilizatorului, aceasta fiind esena interfeelor grafice cu utilizatorul i a depinde Tiberiu Alexandru tel.: 0040-264-530918 evenimente. Pentru c| nu se poate ti ce va face utilizatorul, codul program|rii orientate pe e-mail:s| fac| anumite presupuneri cu privire la starea mediului n care funcioneaz|. Din trebuie antaltiberiu@pcnet.ro acest motiv codul fie testeaz| dac| presupunerile f|cute sunt corecte, fie le aranjeaz| ntr-o ordine n care acestea s| fie ntotdeauna corecte.

230

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu (Event Procedures) Proceduri de evenimente Alexandru Universitatea Tenhic| din apariia unui eveniment de formular, raport sau control, apeleaz| Cnd Access-ul recunoate Cluj-Napoca Facultatea Construcii de Maini automat procedura de eveniment denumit| dup| numele obiectului i al evenimentului care a Catedra de Mecanic| i Programare un formular (Form) i de evenimentul clic (Click) pe ap|rut. De exemplu, dac| este vorba de Curs de baze de date Microsoft Access suprafaa acestuia, numele procedurii de tratare a evenimentului va fi Form_Click. Dac| n locul formularului am fi avut un raport (Report), pentru acelai eveniment, numele procedurii Copyright 2000. Toate drepturile sunt rezervate autorului. ar fi Report_Click. n cazul unui control, numele acestuia se combin| cu caracterul underscore (_) i cu numele evenimentului pentru a forma numele procedurii de eveniment. Multiplicarea acestui document n scop comercial este interzis|. De exemplu, dac| avem un buton cu numele Binchide, procedura de eveniment care trateaz| evenimentul Click pe buton se va numi Binchide_Click. Numele obiectelor sunt stocate n Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest proprietatea Name, dac| intenionai s| modificai acest nume, trebuie s| o facei nainte de document pentru uzul personal. scrierea primei proceduri de eveniment. Dac| modificai numele obiectului dup| ce ai scris cel puin o procedur| de eveniment, trebuie s| modificai i numele procedurilor scrise pn| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare atunci. Din cele discutate observai c| Access-ul folosete aceeai strategie pentru construirea pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest numelor procedurilor de evenimente: scop m| putei contact| la: Tip obiect ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Formular e-mail: antaltiberiu@pcnet.ro Numele procedurii de eveniment Sub Form_numeeveniment() instruc iuni End Sub Sub Report_numeeveniment() instruc iuni End Sub

Raport

Conf. dr. ing. ANTAL Tiberiu Alexandru Control Sub NumeControl_numeeveniment() Universitatea Tenhic| din Cluj-Napoca instruc iuni Facultatea Construcii de Maini End Sub Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Cuvintele Sub i End Sub marcheaz| nceputul i sfritul procedurii. Cuvintele care Copyright 2000. Toate drepturile sunt rezervate autorului. urmeaz| pe aceeai linie cu Sub sunt numele procedurii de eveniment, iar instruc iuni reprezint| codul scris de programator prin care se trateaz| evenimentul ap|rut. Multiplicarea acestui document n scop comercial este interzis|.

Proceduri definite de utilizator (General Procedures)

Sudenii participani la orice form| de nv||mnt apare evenimentul pot multiplica acest Procedurile de evenimente sunt apelate automat cnd superior bugetar corespunz|tor document pentru uzul personal. de proceduri definite de utilizator, care trebuie apelate acestora. Access-ul permite crearea explicit, prin cod, pentru ca s| fie executate. Acestea nu sunt legate de evenimentele generate Sudenii participani la orice form| degrupuri de linii de programalte persoane doritoare de utilizator, ci mai degrab| de anumite nv||mnt cu plat| sau care se repet| n mai pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest multe locuri. Pentru eliminarea duplic|rii acestor linii se folosesc proceduri de tipul funcie scop m| putei subrutin| la: (Function) sau contact| (Sub). Procedurile utilizator pot fi create oriunde n formulare, rapoarte sau module (Modules). Modulul este un obiect Access care stocheaz| numai ANTAL Tiberiu Alexandru proceduri definite de utilizator. Procedurile din module pot fi referite din orice alte obiecte tel.: 0040-264-530918 Access, n timp, permind scrierea unor biblioteci de proceduri utile pentru rezolvarea unor e-mail: antaltiberiu@pcnet.ro sarcini care se repet| des.
Crearea unui proceduri

deschidei baza de date Northwind; clic pe butonul Modules din fereastra bazei de date;

231

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. butonul New pentru a crea un modul nou; clic pe ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca din meniul Insert selectai Procedure..., fereastra de dialog Insert Procedure va fi Facultatea Construcii de Maini afiat| dup| cum urmeaz|: Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact|implicite i tastai DatadeAzi n cutia de texte Name, apoi clic pe OK. acceptai set|rile la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Access-ul va crea corpul unei funcii cu numele DatadeAzi. Dac| n loc de tipul de Copyright 2000. Toate drepturile sunt Sub, Access-ul va crea un subprogram de tipul subprogram Function selectai opiunea rezervate autorului. subrutin|. Multiplicarea acestui document n scop comercial este interzis|.
Editarea participani la orice form| de nv||mnt superior bugetar pot multiplica Sudenii clic pe butonul Modules; procedurilor document pentru uzul personal. din list| numele modului care dorii s|-l editai; selectai existente

deschidei baza de date;

acest

clic pe Design. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Proceduri de tip Sub i Function scop m| putei contact| la: n Access procedurile pot fi de tipul Sub sau Function. Procedura Sub nu ntoarce valoare fiind asem|n|toare unei instruciuni. Procedurile de eveniment sunt ntotdeauna de tipul Sub. ANTAL Tiberiu Alexandru Procedura Function ntoarce o valoare. Atunci cnd se calculeaz| valori de expresii tipul tel.: 0040-264-530918 procedurii va fi Function. e-mail: antaltiberiu@pcnet.ro

Procedura de tip Sub


Sintaxa procedurii Sub este:

232

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Sub numeprocedur|(parametri) Universitatea Tenhic| din Cluj-Napoca [instruc iuni] Facultatea Construcii de Maini [Exit Sub] Catedra de Mecanic| i Programare [instruc iuni] Curs de baze de date Microsoft Access End Sub Copyright 2000. Toate drepturile sunt rezervate autorului. Numele procedurii este numeprocedur|, instruciunile instruc iuni grupate sub acest Multiplicarea acestui document n scop comercial list| de nume de parametri separate prin nume se numesc corpul procedurii. parametri sunt o este interzis|. virgule. Fiecare parametru respect| sintaxa declaraiei de variabil| i este echivalentul unei Sudenii n corpul procedurii. Sintaxa de nv||mntparametru bugetar pot multiplica acest variabile participani la orice form| pentru fiecare superior este: document pentru uzul personal. [ByVal] numevariabil| [()] [As tip] Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest tip poate fi oricare dintre tipurile fundamentale de date (Integer, Long, Single, Double, scop m| putei contact| la: Currency, String, Variant sau Obiect). Dac| tipul nu este specificat explicit, parametrul va avea tipul Variant care poate stoca orice tip de date. Parantezele drepte specific| faptul c| ANTAL Tiberiu Alexandru elementele cuprinse ntre ele sunt opionale. Parantezele rotunde opionale dup| tel.: 0040-264-530918 numevariabil| indic| un argument de tipul tablou. e-mail: antaltiberiu@pcnet.ro
Ap elul lui Sub

Procedura de tipul Sub se apeleaz| prin numele ei i prin specificarea parametrilor ei. De exemplu, procedura Sub cu numele Numara:

Public Sub Numara(ByVal n As Integer) Dim i As Integer For i = 1 To n Conf. dr. ing. ANTAL Tiberiu Alexandru Debug.Print i Universitatea Tenhic| din Cluj-Napoca Next i Facultatea Construcii de Maini End Sub Catedra de Mecanic| i Programare Cursapelat| prin Numara 5 (observai c| nu se pun paranteze n jurul argumentelor). va fi de baze de date Microsoft Access Execuia procedurii i rezultatele ei se pot afia n fereastra imediat|. Se apas| Ctrl+G, apoi Copyright 2000. Toate drepturile sunt rezervate autorului. n ferestr| se scrie Numara 5 dup| care se apas| Enter. Multiplicarea acestui document n scop comercial este interzis|. Instruciunile din corpul lui Sub sunt executate secvenial, dac| se Ies irea fort ata - 7 dorete de execuia din Sub participani la orice p|r|sirea procedurii Sub nainte bugetar potultimei Sudenii form| de nv||mnt superior multiplica acest document pentru uzulinstruciuni se poate folosi instruciunea opional| End Sub. Aceasta personal. are ca efect revenirea din procedur|. n corpul procedurii, num|rul de End Sub-uri nu este limitat. form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Procedura de tip Function scop m| putei contact| la: Sintaxa procedurii Function este: ANTAL Tiberiu Alexandru Function numeprocedur|(parametri) [As tip] tel.: 0040-264-530918 e-mail:[instruc iuni] antaltiberiu@pcnet.ro [Exit Function] [instruc iuni] End Function

233

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Semnificaia elementelor sintactice ale procedurii Function sunt aceleai cu cele ale FacultateaSub, cu urm|toarele excepii: procedurii Construcii de Maini Catedra de Mecanic| i Programare variabilelor, au tipuri de date care determin| tipul 1. procedurile Function, asemenea Curs de baze de date Microsoft Access valorii ntoarse; 2. valoarea se ntoarce atribuind numelui procedurii Function o valoare n corpul Copyright 2000. Toate drepturile suntFunction prin numele ei se poate folosi n expresii; funciei. Valoarea ntoars| de procedura rezervate autorului. 3. argumentele procedurii Function se scriu ntotdeauna ntre paranteze rotunde. Multiplicarea acestui document n scop comercial este interzis|. Dac| dorim s| scriem o funcie ArieCerc pentru calculul ariei unui cerc de raz| R , codul Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest corespunz|tor unei implement|ri prin procedur| Function este: document pentru uzul personal. Public Function ArieCerc(R As Double) As Double Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dim pi As Double pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest pi = 4# * Atn(1#) scop m| putei contact| la: R ^ 2 ArieCerc = pi * End Function ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Apelul procedurii Function se face sub forma: x=ArieCerc(5). e-mail: antaltiberiu@pcnet.ro
Ies irea fort ata - 7 din Function

Instruciunile din corpul lui Function sunt executate secvenial, dac| se dorete p|r|sirea procedurii Function nainte de execuia ultimei instruciuni se poate folosi instruciunea opional| End Function. Aceasta are ca efect revenirea din procedur|. n corpul procedurii, num|rul de End Function-uri nu este limitat. Conf. dr. ing. ANTAL Tiberiu Alexandru Proceduri private (Private) i publice (Public) Universitatea Tenhic| din Cluj-Napoca Procedurile unui formular sau raport sunt private, adic| pot fi folosite numai n expresii ale Facultatea Construcii de Maini codului coninut de formularul sau raportul n cauz|. Procedurile unui modul sunt publice, pot Catedra de Mecanic| i Programare fi apelate din orice poriune a aplicaiei, mai puin n cazul n care au fost f|cute private prin Curs de baze de date Microsoft Access folosirea lui Private naintea de Sub sau Function. Pentru c| procedurile formularelor i rapoartelor sunt private este posibil s| se scrie proceduri cu acelai nume n formulare sau Copyright 2000. Toate drepturile sunt rezervate autorului. rapoarte distincte. Numele procedurilor publice trebuie s| fie unice ntr-o aplicaie. Este posibil ca o procedur| dintr-un formular sau raport s| aib| acelai nume cu una dintr-un Multiplicarea acestui document n scop comercial este interzis|. modul. n acest caz Access-ul va decide asupra procedurii apelate c|utnd astfel: formularul curent, raportul curent, modulele aplicaiei. O procedur| privat| poate fi apelat| numai de Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest proceduri ale modulului din care face parte. document pentru uzul personal.

Variabile Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica prelucreaz| o numai contra costiniiale pentru a produce valorile den acest Orice program documentul mulime de valori i cu acordul scris al autorului. ieire. De scop m| putei de la valorile iniiale la cele de ieire se face prin unele temporare, care n obicei, trecerea contact| la: procesul de calcul i modific| valoarea. Aceste valori temporare vor fi stocate n variabile. ANTALde variabil| sugereaz| c| valorile stocate n acestea se modific| pe timpul execuiei Numele Tiberiu Alexandru tel.: 0040-264-530918 variabilele pentru stocarea valorilor. Variabilele sunt asemenea aplicaiei. VBA folosete e-mail: antaltiberiu@pcnet.ro un tip, dar pot stoca numai o singur| valoare. cmpurilor din tabele au un nume,
Declararea variabilelor
Exist| mai multe metode pentru declararea variabilelor n VBA. Sintaxa declaraiei de variabil| este:

234

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Dim numevariabil| [As tip] Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini numevariabil| trebuie s| nceap| cu o liter| i nu poate conine spaii sau punctul zecimal. Catedra de Mecanic| i Programare Programatorul nu trebuie s| declare explicit o variabil| n VBA (iat| dintre "strategiile" care Curs de baze de date Microsoft Access nu "merg" n limbajele adev|rate - declaraia implicit|, de care "beneficiaz| din plin" BASICul i FORTRAN-ul ). Dac| folosii un nume care nu este nume de variabil| deja declarat|, Copyright 2000. Toate drepturile sunt rezervate autorului. VBA creeaz| automat o variabil| cu acel nume de tipul Variant. Acest tip poate stoca orice valoare: num|r, text, dat|, ir. Atunci cnd o astfel de variabil| este atribuit| unei variabile de Multiplicarea acestui document n scop comercial este interzis|. alt tip, VBA se ocup| de toate conversiile necesare. n cazul cnd cunoatem ce fel de valori se vor stoca ntr-o variabil| este bine s| i se specifice tipul particular. VBA va putea gestiona Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest mai eficient datele stocate n variabil|. Variabilele declarate cu Dim exist| att timp ct se document pentru uzul personal. execut| procedura n care au fost declarate. La terminarea execuiei procedurii, valorile acestor variabile dispar. n plus, valorile acestor variabile sunt locale procedurii din care fac Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare parte, adic| nu se pot accesa din alte proceduri. Datorit| acestor caracteristici acelai nume de pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest variabile poate s| apar| n proceduri disticte far| s| apar| conflicte. scop m| putei contact| la:
1 2 3 4

Dim i ANTAL Tiberiu Alexandru Dim x,y,j As Integer tel.: 0040-264-530918 Dim x As Double e-mail: antaltiberiu@pcnet.ro Dim sir As String Liniile 1 i 2 prezint| declaraii pe care NU trebuie s| practicai! n linia 1 tipul a fost omis i este, conform celor spuse, Variant. n linia 2, x i y sunt de tipul Variant, iar j de tipul Double, faptul c| cele trei nume sunt scrise pe aceeai linie nu nseamn| c| toate au tipul ultimei variabile. Liniile 3 i 4 sunt cazul normal, pentru care trebuie s| v| formai un automatism de scriere. Depanarea programelor este mult mai uoar| dac| fiecare variabil| are asociat un tip Conf. dr. de dat|, n plus, resursele pentru gestionarea variabilelor sunt folosite mult mai particular ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca eficient de VBA rezultnd o cretere n vitez| a execuiei codului i o sc|dere a spaiului de Facultatea Construcii de Maini RAM folosit pentru stocarea variabilelor. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Scop i durat| de existen|

Cnd o variabil| este declarat| ntr-o procedur|, numai codul din acea procedur| poate citi sau Copyright 2000. Toate drepturile sunt rezervate autorului. modifica valoarea variabilei. Se spune c| scopul este local procedurii. Uneori este de dorit ca o variabil| s| poat| fi folosit| din mai multe proceduri aleinterzis|. modul sau chiar din Multiplicarea acestui document n scop comercial este aceluiai module diferite. Funcie de locul n care este declarat| o variabil| poate avea scopurile: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Locul declaraiei Scop Local Dim n participani Sudenii procedur| la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost Formular, procedur| sau modul n acest i cu acordul scris al autorului. Dim n formular, procedur| sau modul scop m| putei contact| la: Global Public n modul ANTAL Tiberiu Alexandru tel.: 0040-264-530918 se poate schimba n timpul execuiei aplicaiei, dar este posibil ca o Scopul unei variabile nu e-mail: antaltiberiu@pcnet.ro n scopuri diferite. variabil| cu acelai nume s| apar| Pe lng| scop, variabilele au i durat| de existen|. Valorile din variabilele globale sau de module sunt p|strate ct timp baza de date este deschis| (mai puin n cazul cnd codul este reiniializat). Variabilele locale, exist| numai ct timp procedura n care s-au declarat se

235

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru variabilelor locale sunt desc|rcate din RAM iar execut|. Cnd procedura se termin|, valorile Universitateaacestora este refolosit, dac| este cazul, pentru stocarea altor variabile. La spaiul alocat Tenhic| din Cluj-Napoca Facultatea Construcii de Mainivariabilele locale sunt reiniializate. Dac| dorii ca VBA s| urm|torul apel al procedurii, toate Catedravaloarea unei variabile locale trebuie s| o declarai Static. De exemplu, n loc de Dim p|streze de Mecanic| i Programare Curs de baze de date Microsoft Access Double . O astfel de variabil| poate s| apar| numai pi As Double vom scrie Static pi As n interiorul unei proceduri i se folosete, de obicei, pentru acumularea unor valori care altfel Copyright ntre apelurile procedurii. s-ar pierde 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

Tipuri de date

Dup| cum ai v|zut deja, orice se declar| nv||mnt superior bugetar pot multiplica acest Sudenii participani la cnd form| de o variabil| se poate specifica un tip de dat| corespunz|tor ei. Tipul determin| valorile pe care variabila le poate stoca. Dac| tipul nu este document pentru uzul personal. specificat, implicit, VBA asociaz| variabilei tipul Variant. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Tipul Variant pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest La fel cum o cutie cu text poate stoca texte, numere sau date, la fel variabilele de tipul Variant scop m| putei contact| la: pot stoca date de tipul numeric, ir, dat|/or|, valori Null. n general VBA face toate conversiile necesare cnd se fac ANTAL Tiberiu Alexandru manipul|ri ale datelor de acest tip, totui sunt cteva cazuri de evitat: tel.: 0040-264-530918 1. e-mail:operaii aritmetice se pot efectua numai dac| tipul Variant stocheaz| o valoare antaltiberiu@pcnet.ro numeric|; se poate determina dac| valoarea stocat| ntr-un tip Variant este numeric| prin funcia IsNumeric() 2. operaii cu date se pot efectua numai dac| tipul Variant stocheaz| o dat|; datele pot fi adunate, sc|zute, sau se poate extrage anul, luna, ziua unei date, pentru ca aceste operaii s| fie corecte se poate folosi funcia IsDate() pentru a determina dac| valoarea este de tip dat|. Conf. dr. ing. ANTALVariabilele Variant au valoarea Empty din momentul n care s-au Tiberiu Alexandru Universitatea Tenhic|declarat i pn| cnd le-am atribuit o valoare. Aceasta este o valoare din Cluj-Napoca Facultatea Construcii de Maini ne permite s| verific|m dac| pn| n acel moment am special| care Catedra de Mecanic| i Programarei se poate testa prin funcia IsEmpty(). Folosirea unui atribuit o valoare variabilei respective Curs decu valoarea Empty ntr-o Access este echivalent| cu valoarea numeric| 0. Dup| ce Variant baze de date Microsoft expresie variabila Variant a primit o valoare, valoarea Empty dispare. Fiind o valoare, dar una Copyright 2000. Toate drepturiledar este posibil s| atribuim valoarea Empty dintr-o special|, nu se poate atribui direct, sunt rezervate autorului. variabil| Variant unei alte variabile Variant care i-a pierdut-o deja. Multiplicarea acestui document n scop comercial este interzis|. Variabila Variant poate conine valoarea special| Null. Aceasta se Valoarea Nu ll Sudenii participani la orice form| dede date pentru a marca bugetar potsau necunoscute. folosete n baza nv||mnt superior datele lips| multiplica acest document pentru uzulCmpurile i controalele care nu au fost iniializate au valoarea personal. implicit| Null. Dac| dorii s| fii siguri c| un control sau un cmp are date trebuie s| verificai Sudeniiconin valoarea Null. Pentru aceasta folosii funcia IsNull(). Null are cteva dac| nu participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest propriet|i interesante: scop m| putei contact| la: Null dau valoarea Null. Din acest motiv se zice c| Null se 1. expresiile care conin propag| prin expresie, dac| orice parte a ei este Null, toat| expresia va fi Null; ANTAL Tiberiu Alexandrucare primesc un argument Null ntorc valoarea Null; 2. majoritatea funciilor tel.: 0040-264-530918 3. valoarea Null poate fi atribuit| unei variabile Variant. e-mail: antaltiberiu@pcnet.ro
Valoarea Em pty

Tipuri numerice
Tipul specific| pe lng| ce fel de valori poate lua o variabil| i domeniul n care pot varia acestea, operatorii care pot avea ca operanzi aceste variabile i spaiul de RAM ce se folosete pentru stocarea ei.

236

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Tip Spaiu de Domeniu Universitatea Tenhic| din Cluj-Napoca stocare Facultatea Construcii de Maini Catedra de Mecanic| i Programare Byte 1 octet 0 la 255 Curs de baze de date Microsoft Access Boolean 2 octei True sau False Copyright 2000. Toate drepturile sunt rezervate autorului. Integer 2 octei -32,768 la 32,767 Multiplicarea acestui document n scop la 2,147,483,647 Long 4 octei -2,147,483,648 comercial este interzis|.

Valoare iniial| 0 False 0 0

Single 4 octei 3.402823E38 nv||mnt superior bugetar 0 Sudenii participani la orice form| dela -1.401298E-45 pentru valori pot multiplica acest negative; document pentru uzul personal. 1.401298E-45 la 3.402823E38 pentru valori pozitive Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Double 8 octei -1.79769313486232E308 la 0 scop m| putei contact| la: -4.94065645841247E-324 pentru valori negative; ANTAL Tiberiu Alexandru 4.94065645841247E-324 la tel.: 0040-264-530918 1.79769313486232E308 pentru valori pozitive e-mail: antaltiberiu@pcnet.ro Currency 8 octei -922,337,203,685,477.5808 la 922,337,203,685,477.5807 +/-79,228,162,514,264,337,593,543,950,335 f|r| punct zecimal; +/-7.9228162514264337593543950335 cu 28 de zecimale; Conf. dr. ing. ANTAL Tiberiu Alexandru cel mai mic num|r nenul este Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de+/-0.0000000000000000000000000001 Maini Decimal 14 octei

0 0

Catedra de Mecanic| i Programare Curs de baze Tipul ir de date Microsoft Access Variabilele care conin un text se declar| de tipul ir (String). Copyright 2000. Toate drepturile sunt rezervate autorului. Dim sir As String Multiplicarea acestui document n scop comercial este interzis|. irul se poate atribui unei variabile de tipul ir i poate fi manipulat prin funcii specifice Sudeniide caractere. la orice form| de nv||mnt superior bugetar pot multiplica acest irurilor participani document pentru uzul personal. sir="Salut bade!" sir=Right$(5) Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| o variabil| de tipul ir are lungimea variabil|, adic| lungimea ei poate crete dac| se Implicit, putei contact| la: adaug| noi date n variabil|. Este posibil| declararea de variabile ir cu lungime fix| prin ANTAL sintaxei: Alexandru*lungime. De exemplu, o variabil| cu numele linie de 80 folosirea Tiberiu String tel.: 0040-264-530918 astfel: Dim linie As String*80. Dac| un ir mai scurt se de caractere se declar| e-mail: antaltiberiu@pcnet.ro atribuie unuia mai lung, caracterele lips| se completeaz| automat cu spaii. Dac| un ir mai lung se atribuie unuia mai scurt caracterele n plus se trunchiaz|. Pentru c| irurile cu lungime fix| se completeaz| automat n unele operaii cu spaii, exist| un set de funcii utile pentru eliminarea acestora: LTrim(), RTrim(), Trim(). Access-ul compar| irurile n mod diferit funcie de instruciunea Option Compare specificat| n seciunea declaraiilor de modul.

237

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr.posibilit|i pentru specificarea ordinii relative n comparaii sunt Option Cele trei ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Compare Database, Option Compare Binary i Option Compare Text. Facultatea Construcii de Maini Access-ul insereaz| automat la nceputul fiec|rui modul Option Compare Database Catedra de Mecanic|de iruri n modul se fac pe baza modalit|ii de sortare a Access-ului. prin care comparaiile i Programare Curs de dou| opiuni fac ca sortarea s| fie dependent| sau nu de scrierea cu litere mici i Celelate baze de date Microsoft Access majuscule. Copyright 2000. Toate drepturile sunt rezervate autorului.

Tipul dat|/or| Multiplicarea acestui document n scop comercial este interzis|.

Variabilele de tipul dat| se stocheaz| pe 8 octei sub form| de numere reale i au domeniul ntre 1 ianuarie 100 i 31 decembrie 9999 i ora de la 0:00:00 la 23:59:59. Constantele de Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest tipul dat| trebuie cuprinse ntre caractere # nainte de a fi atribuite variabilelor de tipul dat| document pentru uzul personal. sub forma #12/21/1999#. Aceste variabile se afieaz| conform set|rilor formatului short date recunoscute de calculator. Orele vor fide ele afiate conform set|rilor formatului de timp Sudenii participani la orice form| i nv||mnt cu plat| sau alte persoane doritoare recunoscut de calculator (12 numai contraore). Dateleacordul scris al autorului.folosind pot multiplica documentul ore sau 24 de cost i cu pot fi adunate sau sc|zute n acest funciile DateAdd() i DateDiff(). Ziua, luna i anul pot fi extrase folosind funciile Day(), scop m| putei contact| la: Month() i Year(). Funcia Now() ntoarce data i ora curent|. Operaii de formatare pot fi f|cute asupra datelor folosind funcia Format(). Funciile DateSerial() i TimeSerial() se pot ANTAL Tiberiu Alexandru folosi pentru crearea unor date i ore din valori numerice ntregi. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Tipul Object

Tipul de dat| obiect se stocheaz| pe 4 octei i are ca valoare adresa unui obiect. Folosind instruciunea Set, o variabil| declarat| de tipul Object va putea stoca adresa oric|rui obiect.

Tipul parametru de procedur|


Dac| procedura are specificate tipuri pentru parametri, n apelul procedurii argumentele Conf. dr. ing. ANTAL variabile Alexandru Un parametru se poate declara folosind ByVal trebuie s| fie valori sau Tiberiu de acel tip. Universitatea Tenhic| din Cluj-Napoca prin valoare i nu prin referin|. Cnd un pentru a specifica c| argumentul se transfer| Facultatea Construcii de Maini o copie a acestuia se transfer| procedurii. Dac| argument este transferat prin valoare, Catedra de Mecanic| i Programare va afecta numai copia valorii i nu valoarea procedura modific| valoarea, modificarea Curs de baze de dateDac| argumentul este transferat prin referin|, valoarea acestuia se poate original| a variabilei. Microsoft Access modifica prin instruciunile din procedur|. Dac| nu dorim ca o procedur| s| modifice valorile Copyright 2000. Toate drepturile sunt rezervate autorului. argumentelor folosii ByVal la declararea acestora. Multiplicarea acestui document n scop comercial este interzis|.

Tabloul

Tabloul ne permite s| referim un grup de variabile de acelai tip cu un singur nume realiznd Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest diferenierea lor printr-un num|r numit indice. Tablourile au limite superioare i inferioare document pentru uzul personal. pentru indice, iar elementele de tablou sunt alocate continuu ntre acele limite. VBA aloc| spaiu pentru fiecare indice, din acest motiv nu este bine s| declarai un tablou mai mare dect Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare este cazul s| fie. Toate elementele tabloului au acelai tip, numit i de baz|, mai puin cnd pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest acest tip este Variant, caz n care elementele pot avea tipuri de date diferite. Tipul de baz| scop m| putei contact| la: poate s| fie oricare dintre tipurile prezentate. Exist| trei metode de creare a tablourilor cu dimensiune fix|: ANTAL Tiberiu Alexandru 1. tablou public care are Public n declaraia ei; tel.: 0040-264-530918 2. e-mail:tablou de modul care folosete Dim la nivelul seciunii Declarations a modului din antaltiberiu@pcnet.ro care face parte; 3. tablou de procedur| sau local, care folosete Private ntr-o procedur| pentru declararea tabloului.

238

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Declararea tablourilor Universitatea Tenhic| din Cluj-Napoca tablou este numele acestuia urmat de limita Cea mai simpl| form| de declarare a unui FacultateaaConstrucii de Maini s| fie o valoare ntreg| de tipul Long. superioar| indicelui, care trebuie Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Dim A(10) As Integer 'tablou cu numele A de 1 dimensiune 'cu 11 elemente de tipul Integer, Copyright 2000. Toate drepturile sunt rezervate autorului. 'indicele poate lua valorile 0,1,2, '..., 10. Multiplicarea acestui document n scop comercial este interzis|. Dim X(21) As Double 'tablou cu numele X de 1 dimensiune Sudenii participani la orice form|'cu 23 elemente de tipul Double, acest de nv||mnt superior bugetar pot multiplica document pentru uzul personal. 'indicele ia valori n domeniul 0, '22. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. 1 acest Public Y(15) As Byte 'tablou public cu numele Y de n scop m| putei contact| la: 'dimensiune cu 15 elemente de tipul 'Byte, indicele ia valori n 'domeniul 0, 15. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Observai c| prima valoare a indicelui este 0, aceast| valoare implicit| se poate schimba e-mail: antaltiberiu@pcnet.ro folosind instruciunea Option Base n seciune de declaraii (Declarations) modulului. De exemplu, pentru ca toi indicii tablourilor unui modul s| plece de la 1 scriem Option Base 1. Un alt mod de specificare a limitei inferioare a indicelui este folosirea lui To: Dim A(1 To 10) As Integer Dim Y(10 To 22) As Double Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Tablouri cu mai multe dimensiuni Facultatea Construcii de Maini dou| dimensiuni care uneori este numit i matrice. Un Cazul cel mai comun este tabloul cu Catedra dedimensiuni,i Programare pe dimensiune, la care i mai spunem i matrice de tablou cu 2 Mecanic| cu 10 elemente Curs de baze de astfel: 10x10 se declar| date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Dim Matrice(9,9) As Double Multiplicarea acestui document n scop comercial este interzis|. sau Dim Matrice1(1 Toorice form| de10) As Double bugetar pot multiplica acest Sudenii participani la 10, 1 To nv||mnt superior document pentru uzul personal. VBA permite lucrul i cu tablouri cu mai mult de dou| dimensiuni, ns| n practic| folosirea lor este mai rar|. O declaraie form| de nv||mnt cu plat| Sudenii participani la oricede tablou cu 3 dimensiuni este: sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim Tablou3D(5, 1 To scop m| putei contact| la: 7, 3 To 6) As Double ANTAL Tiberiu Alexandru Alocarea dinamic| a spaiului pentru stocarea tablourilor tel.: 0040-264-530918 num|rul de elemente ale unei dimensiuni de tablou. n acest caz este de Uneori nu se cunoate e-mail: avem posibilitatea specific|rii n mod dinamic a num|rului de elemente pe dorit s| antaltiberiu@pcnet.ro dimensiune. Un tablou dinamic poate fi redimensionat oricnd spre deosebire de cel static care are are num|rul de elemente fixate. Etapele lucrului cu un tablou dinamic sunt: 1. declaraia: un tablou dinamic se declar| astfel: Dim Adina() As Double. 2. alocarea de spaiu: se face prin folosirea lui ReDim Adina(Nr_de_elemente),

239

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf.Nr_de_elemente este oAlexandru unde dr. ing. ANTAL Tiberiu valoare numeric| ntreag| care specific| noul num|r de Universitatea Tenhic| din Cluj-Napoca elemente al tabloului. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Instruciunea ReDim poate s| apar| numai ntr-o procedur| pentru c|, spre deosebire de Dim Curs de baze de datecu o aciuneAccess execuiei aplicaiei. Poate modifica spaiul alocat i Static, are un efect Microsoft asupra pentru stocarea elementelor de tablou i domeniul de variaie al indicelui, dar nu poate Copyright 2000. Toate drepturile tabloului de la cel definit n primul ReDim. modifica num|rul de dimensiuni al sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Dim Matrice() As Integer Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ... document pentru uzul personal. Function Test() Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ... pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ReDim Matrice(20,30) scop m| putei contact| la: Dac| nu vei folosi Preserve, valorile curente stocate n tablou, vor fi distruse n urma ANTAL Tiberiu Alexandru reseta valorile tablourilor la Empty pentru Variant, la 0 pentru execuiei lui ReDim. VBA va tel.: 0040-264-530918irul de lungime zero, adic| "", pentru tablouri de iruri dinamice, iar la tipurile numerice i la e-mail: antaltiberiu@pcnet.ro valorile zero ANSI pentru tablourile cu iruri cu lungime fix| respectiv la valoarea Nothing pentru tablourile de obiecte. Dac| tabloul are mai multe dimensiuni, prin folosirea lui Preserve se va putea modifica numai num|rul de elemente al ultimei dimensiuni ale tabloului. Preserve ReDim Matrice(20,30+i)

Conf. dr. ing. ANTAL Tiberiu Alexandru Deseori n programe avem valori numerice care nu se modific|. Pentru creterea lizibilit|ii Universitatea Tenhic| din Cluj-Napoca programelorConstrucii de Maini acestor valori constante printr-un nume simbolic. Sintaxa Facultatea este posibil| nlocuirea pentru definirea constantelor simbolice este: Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access [Public|Private] Const numeconstant| [As tip] =expresie Copyright 2000. Toate drepturile sunt rezervate autorului. n general, sunt folosite pentru valori numerice speciale sau pentru date i ore reprezentative pentru aplicaie. numeconstant| n scop comercial scriere a unui Multiplicarea acestui documentrespect| regulile de este interzis|.nume de variabil|, iar expresie este format| din constante numerice sau ir interconectate prin operatori. Scopul constantelor simbolicela orice form| cel nv||mnt superior bugetar pot multiplica acest Sudenii participani este acelai cu de al variabilelor. document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Constantele simbolice sunt create de programator. Constantele intrinseci sunt definite de cei pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest care au scris VBA i le putei vizualiza folosind Navigatorul de Obiecte (Object Browser). scop m| putei contact| la: Numele acestora trebuie s| fie unic i sunt disponibile n toate modulele aplicaiei. ANTAL Tiberiu Alexandru Operatori tel.: 0040-264-530918 Valorile stocate n variabile rezult| n urma unor expresii. Expresiile sunt formate din e-mail: antaltiberiu@pcnet.ro secvene de operatori i operanzi. Urm|toarele grupe de operatori sunt predefinii n VBA: # aritmetici; # de comparaie # de concatenare

Constante simbolice

Constante intrinseci

240

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru # logici Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Operatori aritmetici Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Semnificaie Simbol Exemplu Remarc| Copyright 2000. Toate drepturile sunt rezervate autorului. adunare + a+b a i b de orice tip numeric. Multiplicarea acestui document n scop comercial este interzis|. orice tip numeric. sc|dere a-b a i b de nmulire * a*b a i bugetar pot numeric. Sudenii participani la orice form| de nv||mnt superiorb de orice tip multiplica acest document pentru uzul personal. mp|rire / a/b a i b de orice tip numeric. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoanei b sunt mp|rire ntreag| \ a\b nainte de mp|rire a doritoare pot multiplica documentul numai contra cost i cu acordul scrisla valori ntregi, acest rotunjite al autorului. n scop m| putei contact| la: rezultatul este tot un ntreg. ridicare la putere ^ ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro modulo Mod a^b a Mod b a poate fi orice num|r, b numai unul ntreg. a i b se rotunjesc la ntregi dup| care se calculeaz| restul mp|ririi lui a la b.

Operatori de comparaie
Se folosesc pentru compararea expresiilor. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Semnificaie Simbol Exemplu Facultatea Construcii de Maini mai mic < a<b Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Remarc| Expresia din exemplu ia valoarea True dac| a < b, altfel False.

mai mic sau egal <= a<=b Expresia din exemplu ia valoarea True dac| Copyright 2000. Toate drepturile sunt rezervate autorului. a <= b, altfel False. Multiplicarea acestui document n scop comercial este interzis|. ia valoarea True dac| mai mare > a>b Expresia din exemplu a > b, altfel False. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest mai mare sau egal >= a>=b Expresia din exemplu ia valoarea True dac| document pentru uzul personal. a >= b, altfel False. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare egal = a=b Expresia din exemplu ia valoarea True dac| pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest a = b, altfel False. scop m| putei contact| la: diferit <> a<>b Expresia din exemplu ia valoarea True dac| ANTAL Tiberiu Alexandru a <> b, altfel False. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro dintre variabilele a sau b ia valoarea Null, expresia de Dac| n exemplele de mai sus, una comparaie ia i ea valorea Null. Variabilele comparate trebuie s| fie de tip numeric.

Operatori de concatenare

241

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. cazul irurilor i au ca efect al|turarea a dou| iruri. Valoarea ntoars| este un Se folosesc n ANTAL Tiberiu Alexandru Universitatea Tenhic| din operanzi al|turai. nou ir care conine irurile Cluj-Napoca Facultatea Construcii de Maini Semnificaie Simbol Exemplu Remarc| Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access i b trebuie s| fie iruri, altfel se convertesc n concatenare & a&b a iruri automat. Copyright 2000. Toate drepturile sunt rezervate autorului. concatenare + Dac| ambele variabile sunt de tipul ir, operatorul de a+b adunare are efect interzis|. Multiplicarea acestui document n scop comercial estede concatenare. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Operatori logici document pentru uzul personal. matematic bazat valorile de adev|r, adev|rat (True), fals George Boole a inventat un sistem (False) i funciile I (AND), SAU (OR) i NU (NOT). Funciile boolene sunt prezentate Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare prin tabele de adev|r unde 0 reprezint| fals i 1 adev|rat. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Semnificaie Simbol Exemplu Remarc| ANTAL Tiberiu Alexandru> b And b > c I logic sau And Expresiile asupra c|rora acioneaz| a tel.: bii pe 0040-264-530918 operatorul sunt valori de adev|r, n acest e-mail: antaltiberiu@pcnet.ro caz se execut| I logic. a And b SAU logic sau pe bii Or a > b Or b> c a i b sunt numere, operatorul I va lucra la nivel de bii. Expresiile asupra c|rora acioneaz| operatorul sunt valori de adev|r, n acest caz se execut| SAU logic.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| dina Or b Cluj-Napoca a i b sunt numere, operatorul SAU va Facultatea Construcii de Maini lucra la nivel de bii. Catedra de Mecanic| i Programare NU de baze Not NU logic. Not (a >b) Curs logic sau de date Microsoft Access pe bii NU pe bii. Not a Copyright 2000. Toate drepturile sunt rezervate autorului.

Multiplicarea acestui document n scop comercial este interzis|. Tabela de adev|r pentru And logic Tabela de adev|r pentru And pe bii Sudenii participani False form| de nv||mnt superior bugetar pot multiplica acest And True la orice Null And 1 0 document pentru uzul personal. True True False Null 1 1 0 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare False False False False 0 0 0 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Null Null Null False ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Tabela de adev|r pentru Or logic a i b sunt valori de adev|r True sau False

Or

True

False

Null

242

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru True True True True Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini False True False False Catedra de Mecanic| i Programare Null True Curs de baze de date Null Microsoft Null Access

Tabela de adev|r pentru Or pe bii a i b sunt valori de bii (0, 1) Or 1 1 1 0 1 0

0 Copyright 2000. Toate drepturile sunt rezervate autorului. 1

Multiplicarea acestui document n scop comercial este interzis|. Tabela de adev|r pentru Not logic Tabela de adev|r pentru Not pe bii Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest a Not(a) Not 1 0 document pentru uzul personal. True False 1 1 1 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare False True 0 1 0 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Null Null ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Operatorii logici pot lucra cu valori de adev|r sau cu descompunerea binar| a valorilor e-mail: antaltiberiu@pcnet.ro numerice ale operanzilor. n acest caz operatori logici se numesc operatori pe bii i acioneaz| asupra a dou| poziii identice de bii din dou| expresii numerice modificnd bitul corespunz|tor acelei poziii conform tabelelor prezentate mai sus.

Controlul execuiei programului


Controlul execuiei programului se face prin instruciuni. Cea mai elementar| instruciune este Conf. dr. ing. ANTAL Tiberiu Alexandru i cele de ciclare. cea de atribuire, urmeaz| apoi cele de decizie Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Instruciunea Let Catedra deatribuirea valorii unei expresii unei variabile sau propriet|i. Realizeaz| Mecanic| i Programare Curs de baze de date Microsoft Access [Let] numevariabil| = expresie Copyright 2000. Toate drepturile sunt rezervate autorului. Let este un cuvnt opional, de obicei fiind omis, numevariabil| este obligatoriu i este Multiplicarea acestui document n scop comercial este interzis|. numele unei variabile sau a unei propriet|i de obiect, iar expresie este cea care produce valoarea care va fi atribuit|. Iat| cteva exemple de atribuiri: bugetar pot multiplica acest Sudenii participani la orice form| de nv||mnt superior document pentru uzul personal. Dim a As Integer Dim danu As Boolean form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice Dim s As String pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest a=10 scop m| putei contact| la: danu=True s="vin alegerile ... trec alegerile" ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Valoarea lui expresie poate fi atribuit| variabilei numai dac| este de tip compatibil cu cel al e-mail: antaltiberiu@pcnet.ro variabilei. Variabilelor de tipul Variant li se poate atribui orice valoare.

Instruciuni pentru decizie

243

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Aceste instruciuni permit testarea unor condiii i n funcie de rezultatul testului s| execute Universitatea Tenhic| din Cluj-Napoca decizie n VBA sunt: anumite poriuni de cod. Instruciunile de Facultatea Construcii de Maini Catedra de Mecanic| i Programare # If...Then Curs de baze de date Microsoft Access # If...Then...Else # Select ...Case Copyright 2000. Toate drepturile sunt rezervate autorului. If...Then Multiplicarea acestui document n scopacomercial este interzis|. grup de instruciuni. Se Se folosete pentru execuia condiional| unei instruciuni sau a unui pot folosi dou| forme de scriere: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. If condiie Then instruc iune Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare sau multiplica documentul numai contra cost i cu acordul scris al autorului. n acest pot scop m| putei contact| la: If condiie Then instrucAlexandru ANTAL Tiberiu iuni End If tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro condiie este de obicei o comparaie, dar poate fi orice expresie care se evalueaz| la o valoare numeric|. Dac| valoarea numeric| este 0, VBA i atribuie valoarea de adev|r False, dac| este nenul|, valoarea de adev|r atribuit| de VBA este True. Dac| condiie este True se execut| instruc iune sau instruc iuni, n caz contrar instruciunile sunt s|rite. Observai c| prima form| de scriere permite execuia condiionat| a unei singure instruciuni, iar cea de a doua a unui grup de instruciuni. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca If...Then...Else Facultatea Construcii de Maini Se folosete pentru execuia condiiont| a unui grup de instruciuni dintre mai multe grupuri. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access If condiie1 Then [instruc iuni_1] Copyright 2000. Toate drepturile sunt rezervate autorului. [ElseIf condiie2 Then [instruc iuni_2]] ... Multiplicarea acestui document n scop comercial este interzis|. [Else Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest [instruc iuni_n]] document pentru uzul personal. End If Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Prima oar| se testeaz| condiie1. Dac| este False, se testeaz| condiie2 i aa mai departe pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest pn| la g|sirea unei condiii True. Cnd s-a g|sit o astfel de condiie se execut| grupul de scop m| putei contact| la: instruciuni instruc iuni_x, apoi se sare la codul imediat urm|tor lui End If. Opional se poate un Else la care se va trece numai dac| nu s-a g|sit nici o condiie True. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Select...Case e-mail: antaltiberiu@pcnet.ro Aceast| instruciune este o alternativ| pentru scrierea de If Then Else -uri lungi asigurnd o citire mai uoar| a codului. Select Case expresietest

244

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing.listaexpresie1 [Case ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca [instruc iuni_1]] Facultatea Construcii de Maini [Case listaexpresie2 Catedra de Mecanic| i Programare [instruc iuni_2]] ... Curs de baze de date Microsoft Access [Case Else Copyright 2000. Toate drepturile sunt rezervate autorului. [instruc iuni_n]] End Select Multiplicarea acestui document n scop comercial este interzis|. Aici, este o singur| expresie de test expresietest care se evalueaz| o dat| la intrarea n Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest instruciune. VBA compar| valoarea acestei expresii cu valoarile din fiecare Case. Dac| se document pentru uzul personal. g|sete o egalitate va executa instruciunile asociate Case-ului respectiv. Listele de expresii listaexpresie conin una sau mai multe valori. Dac| exist| mai mult de o valoare n list|, Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare trebuie separate prin virgule. Fiecare grup de instruciuni instruc iuni_x conine nici pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest una, una sau mai multe instruciuni. Dac| mai multe valori din liste distincte sunt egale cu scop m| putei contact| la: valoarea de test, grupul de instruciuni corespunz|tor primei liste va fi executat. Grupul de instruciuni opionale corespunz|toare lui Case Else va fi executat dac| nu s-a g|sit n nici ANTAL Tiberiu Alexandru una din liste o valoare egal| cu cea a celei de test. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Nota: Select Case evalueaz| pe expresietest o singur| dat| la nceput, cu If Then ElseIf se 7 pot evalua expresii diferite pentru fiecare ElseIf.

Instruciuni de ciclare
Instruciunile de ciclare permit executarea repetat| a unei instruciuni sau grup de instruciuni uneori denumite i corpul ciclului, atta timp ct o condiie r|mne adev|rat|. VBA suport| urm|toarele instruciuni Tiberiu Alexandru Conf. dr. ing. ANTAL de ciclare: Universitatea Tenhic| din Cluj-Napoca # Do...Loop Facultatea Construcii de Maini # For...Next Catedra de Mecanic| i Programare # For Each...Next Curs de baze de date Microsoft Access # While...Wend Copyright 2000. Toate drepturile sunt rezervate autorului. Ciclul Do...Loop Repet| un grup de instruc iuni ct timp o condiie este True sau Multiplicarea acestui document n scop comercial este interzis|. devine True. Urm|toarele forme de cicluri Do...Loop sunt valide: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Do [{While |Until} condiie] [instruc iuni] Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare [Exit Do] pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest [instruc iuni] scop m| putei contact| la: Loop sau ANTAL Tiberiu Alexandru Do tel.: 0040-264-530918 e-mail:[instruc iuni] antaltiberiu@pcnet.ro [Exit Do] [instruc iuni] Loop [{While |Until} condiie]

245

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca condiie este o expresie numeric| sau ir opional care este True sau False. Dac| condiie ia Facultatea Construcii de Maini valoarea Null este echivalent| cu False. Cuvintele ntre acolade reprezint| alternative, adic| Catedra deele poate s| i Programare While instruc iuni se execut| atta timp ct unul dintre Mecanic| fie scris. Pentru Curs de este True, pentru Until instruc iuni se execut| ct timp condiie nu este True. condiie baze de date Microsoft Access Exit Do produce ieirea din ciclul Do...Loop nainte de realizarea condiiei de p|r|sire a Copyright 2000. Toatedat instruciunii imediat urm|toare ciclului, prima linie dup| Loop sau ciclului. Controlul este drepturile sunt rezervate autorului. Loop [{While |Until} condiie]. Al doilea tip de ciclu se execut| cel puin o dat| pentru c| Multiplicarea acestui document n scop comercial este interzis|. condiie, prin care se face testarea termin|ri, se atinge numai dup| execuia instruciunilor. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Ciclul For...Next Repet| grupul de instruc iuni de un num|r de ori. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest For contor = nceput To sfrit [Step pas] scop m| putei contact| la: [instruc iuni] [Exit For] ANTAL Tiberiu Alexandru tel.: 0040-264-530918 [instruc iuni] e-mail: antaltiberiu@pcnet.ro Next [contor] contor este o variabil| de tip numeric, nceput este valoarea iniial| a lui contor, iar sfrit este valoarea final|, pas este o valoare opional| fiind cantitatea cu care se modific| contor la fiecare reluare a ciclului. Dac| pas nu este specificat| se consider| implicit 1. Dac| exist|, pas poate fi pozitiv sau negativ. instruc iuni se execut| ct timp ct contor<=sfrit pentru valori pozitive ale lui pas sau ct timp contor>=sfrit pentru valori negative ale lui pas. Exit Conf. dr. ing. ANTAL Tiberiu Alexandru For produce saltul la instruciunea imediat urm|toare liniei Next [contor] de terminare a Universitatea Tenhic| din Cluj-Napoca corpului ciclului For...Next. Un caz clasic de utilizare al ciclurilor For...Next este cnd un Facultatea Construcii de Maini ciclu este n interiorul altuia, de exemplu: Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access For i=1 To 7 For j=1 To 10 Copyright 2000. Toate drepturile sunt rezervate autorului. For k=1 To 9 . . . Multiplicarea Next k acestui document n scop comercial este interzis|. Next j Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Next i document pentru uzul personal. Ciclul For Each...Next Sudenii participani la orice iuni pentru fiecare element de sau alte persoane doritoare Repet| un grup de instruc form| de nv||mnt cu plat| tablou sau colecie. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scopEach element In grup For m| putei contact| la: [instruc iuni] ANTAL Tiberiu Alexandru [Exit For] tel.: 0040-264-530918 e-mail:[instruc iuni] antaltiberiu@pcnet.ro Next [element] element este o variabil| folosit| pentru parcurgerea iterativ| a elementelor din grup. Pentru colecii, element poate fi numai de tip Variant, variabil| obiect generic sau variabil| obiect

246

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. este numele unei colecii de obiecte sau tablou. For Each...Next se ncepe specific. grup ANTAL Tiberiu Alexandru Universitatea grup este din puin un element. Dac| exist| mai multe elemente, numai dac| n Tenhic| cel Cluj-Napoca Facultatea Construciirepetate pentru fiecare element pn| la parcurgerea tuturor instruc iuni sunt de Maini Catedra de Mecanic| ise termin| s|rindu-se la instruciunea imediat urm|toare lui. i aici elementelor, cnd ciclul Programare CursFor baze de date Microsoft Access cu saltul la instruciunea imediat urm|toare ciclului, Exit de produce ieirea forat| din ciclu adic| la prima instruciune dup| Next [element]. Copyright 2000. Toate drepturile sunt rezervate autorului. Ciclul While...Wend Multiplicarea acestui document condiie comercial este interzis|. Execut| instruc iuni ct tip n scop este True. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest While condiie document pentru uzul personal. [instruc iuni] Wend Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest condiie putei contact| la: scop m| este o expresie numeric| sau ir care se evalueaz| la True sau False. instruc iuni reprezint| una sau mai multe instruciuni care vor fi executate ct timp ANTALeste True. Controlul revine la condiie dup| o execuie a corpului ciclului format din condiie Tiberiu Alexandru tel.: 0040-264-530918 se verific| dac| condiie este nc| True. Dac| da, procesul se repet|, instruc iuni cnd e-mail: antaltiberiu@pcnet.ro altfel se execut| instruciunea urm|toare lui Wend.

Tipuri de date definite de utilizator


S| presupunem c| dorim s| lucr|m cu datele unei facturi ntr-un modul VBA. ntr-un model simplificat, urm|toarele date ar fi de manipulat pentru fiecare facut|: ID - un num|r care identific| unic o factur|, ContClient - num|rul de cont al clientului, Valoare - valoarea de pl|tit, DFactura - data emiterii facturii, DAmanare - data pn| la care plata poate fi Conf. dr. ing. ANTAL Tiberiu Alexandru amnat|; DPlata - data pl|ii facurii, Expirata - n cazul n care factura expir|. Toate Universitatea Tenhic| din Cluj-Napoca aceste date pot fi stocatede Maini simple astfel: Facultatea Construcii n variabile Catedra de Mecanic| i Programare Dim de baze de date Microsoft Access Curs ID As Long Dim ContClient As String Dim Valoare As Currency Copyright 2000. Toate drepturile sunt rezervate autorului. Dim DFactura As Date Dim DAmanare As Date Multiplicarea acestui document n scop comercial este interzis|. Dim DPlata As Date Dim Expirata As Boolean Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Aceast| abordare are cteva probleme: ! dac| se lucreaz| cu mai multe facturi simultan, trebuie create cte un set de Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare variabile pentru fiecare factura, acesta fiind un dezavantaj clar; pot multiplica nu exist| un mecanism intern pentrucu acordul scris al autorului. n acest documentul numai contra cost i verificarea i manipularea datelor stocate ! scop m| putei contact| la: n aceste variabile. ANTAL Tiberiu Alexandru O metod| de rezolvare a problemei este crearea unui tip de dat| definit| de utilizator care tel.: 0040-264-530918 stocheaz| toate informaiile de manipulat prin: e-mail: antaltiberiu@pcnet.ro Type Factura ID As Long ContClient As String Valoare As Currency

247

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru DFactura As Date Universitatea Tenhic| din Cluj-Napoca DAmanare As Date Facultatea Construcii de Maini DPlata As Date Catedra de Mecanic| i Boolean Expirata As Programare End Type Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Pe baza acestui tip de dat| definit de utilizator se pot declara variabile noi, dup| cum urmeaz|: Multiplicarea acestui document n scop comercial este interzis|. Dim TestFactura As Factura TestFactura.ID = orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani la 1234 TestFactura.ContClient document pentru uzul personal. = "AK72 - 12344" TestFactura.Valoare = 777.12345 TestFactura.DFactura = Date Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare TestFactura.DAmanare = Date + cost i cu acordul scris al autorului. n acest pot multiplica documentul numai contra 30 TestFactura.Expirata = False scop m| putei contact| la: Dac| dorim s| lucr|m cu mai ANTAL Tiberiu Alexandru multe facturi, tot ce trebuie s| facem, este s| declar|m mai multe variabile de tipul Factura. Este mult mai simplu s| lucr|m cu mai multe facturi, ns| tel.: 0040-264-530918 ad|ugarea datelor se face, nc|, e-mail: antaltiberiu@pcnet.roelementar. Pentru a elimina aceast| problem| se poate defini un obiect "Factura" care are urm|toarele caracteristici: ! ID, ContClient, Valoare etc. devin propriet|i ale obiectului; ! cnd se creeaz| un obiect nou, anumite propriet|i primesc automat valori; ! cnd se atribuie o valoare unei propriet|i se poate scrie o secven| de cod VBA pentru validarea valorii; Conf. dr. ing. ANTAL Tiberiu Alexandru ! obiectului i se pot pot implementa metode (de exemplu, pentru a verifica dac| Universitatea Tenhic| din Cluj-Napoca o factur| este expirat|). Facultatea Construcii de Maini Catedra de Mecanic| i Programare n tehnica program|rii obiectuale Access 7 Curs de baze de date Microsoft clasa reprezinta un ablon. O variabil| de tipul clas| (uneori numita si instantiere) este un obiect care se creeaz| pe baza ablonului, el avnd 7Copyright 2000. Toatede acesta. Aceste rezervate autorului. caracteristicile descrise drepturile sunt caracteristici sunt determinate de proprieta-ile i 7t de membrii clasei. Obiectul este o entitate care poate fi programat, manipulat sau controlat. Multiplicarea acestui document n scop comercial O proprietate este o caracteristc| a unui n Access, formularele, controalele etc. sunt obiecte. este interzis|. obiect, n Access, majoritatea propriet|ilor pot fi citite i scrise. O metod| reprezint| o Sudenii participani la oricede obiect. nv||mnt superior bugetar pot multiplica acest aciune care poate fi efectuat| form| de document pentru uzul personal.

Crearea unei modul clas|

Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare din fereastra bazei de date selectai Modules; pot multiplicabutonul New; numai contra cost i cu acordul scris al autorului. n acest clic pe documentul scop m| putei contact| la: din Insert selectai Class Module; folositi proprietatea Name pentru a modifica numele clasei de la Class1 la ANTAL Tiberiu Alexandru CFactura; tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Traditional, la specificarea numelui unei clase, acesta este prefixat cu un "C". Daca clasa 7 CFactura este deja definita, un obiect pe baza clasei se creeaza prin linia: 7 7 Dim Factura As New CFactura

248

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. de mai sus creeaza obiectul, adica aloca memorie pentru el, obiectul nu este Desi linia ing. ANTAL Tiberiu Alexandru 7 7 7 Universitatea Tenhic| din Cluj-Napoca instantiat dect dupa ce se refera n cod. 7 7 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Definirea membrilor data 7 Curs se atribuie odate Microsoft Access-i din obiect, valoarea este stocata ntr-o variabila de baze de valoare unei proprieta t Cnd 7 7 7 interna care este accesibila numai respectivului obiect. Un utilizator al obiectului poate 7 7 Copyright 2000. Toate-drepturile sunt rezervate autorului. manipula doar proprieta tile expuse, astfel datele specifice obiectului sunt protejate contra 7 manipularilor directe si, eventual, gresite. 7 Multiplicarea acestui document n scop comercial este interzis|. Prima sarcina, dupa crearea unui modul clasa, este specificarea acestor variabile interne clasei 7 7 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest care se mai numesc si membri data. De obieci, se declara cte o variabila interna pentru 7 7 7 7 document pentru uzul personal. fiecare data de stocat n obiect respectnd regulile: ! fiecare variabila se declara folosind cuvntul cheie Private pentru a face 7 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare variabilele disponibile numai n interiorul acelui modul; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ! traditional, numele membrilor data se prefixeaza cu m_ pentru a indica ca este 7 7 7 scop m| putei contact| la: vorba despre un membru al unei clase. ANTAL Tiberiu Alexandru Pentru exemplul nostru se vor declara variabile din figura urmatoare: 7 tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Implementarea propriet|ilor clasei e-mail: antaltiberiu@pcnet.ro Cel de al doilea pas consta n definirea proprieta-ilor clasei. La fel ca si n cazul 7 7t membrilor data, ideea sta n crearea unei proprieta-i pentru fiecare articol de informatie 7 7t stocat|. Acest pas are dou| etape pentru fiecare proprietate: ! stabilirea mecanismului pentru ntoarcerea valorii curente a propriet|ii i

249

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru modificarea valorii propriet|ii. ! un mecanism, opional, pentru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii implementeaz| printr-un grup special de funcii VBA folosind Aceste "mecanisme" se de Maini Catedra de Mecanic| i Programare cuvintele cheie Property Get i Property Set. Curs de baze de date Microsoft Access Modul de lucru cu Property Get Copyright 2000. Toate drepturile sunt rezervate curente a unei propriet|i. Formatul Property Get se folosete pentru ntoarcerea valorii autorului. general pentru aceast| proprietate este: Multiplicarea acestui document n scop comercial este interzis|. Public Property Get numeproprietate( ) As tipdedat| Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest [instruc uzul personal. document pentru iuni] numeproprietate = m_membrudat| End Property Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: aceast| procedur|, sau proprietate, s| fie vizibil| pentru procese Folosirea lui Public face ca externe. numeproprietate este numele propriet|ii, tipdedat| este tipul de dat| al propriet|ii, ANTAL Tiberiu Alexandru iar m_membrudat| este variabila membru dat| care stocheaz| valoarea curent| a propriet|ii. tel.: 0040-264-530918 Dac| dorim, se pot ad|uga instruciuni n plus procedurii, dei n cazul lui Property Get e-mail: antaltiberiu@pcnet.ro este destul de rar. Pentru exemplul nostru, propriet|ile Property Get folosite sunt: Private m_ID As Long Private m_ContClient As String Privateing. ANTAL Tiberiu Alexandru Conf. dr. m_Valoare As Currency Private m_DFactura Cluj-Napoca Universitatea Tenhic| din As Date Private m_DAmanare As Date Facultatea Construcii de Maini Private Mecanic| i Programare Catedra de m_DPlata As Date Curs de baze de date MicrosoftBoolean Private m_Expirata As Access Copyright 2000. Toate drepturile sunt rezervate autorului. ' Intoarce valoarea curenta a valorii proprietatii CFactura.ID Public Property Get ID() As Long Multiplicarea acestui document n scop comercial este interzis|. ID = m_ID End Property Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. ' Intoarce valoarea curenta a proprietatii CFactura.ContClient Public Property Get ContClient() As String Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ContClient = m_ContClient pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: End Property ANTAL Tiberiu Alexandru curanta a proprietatiui CFactura.Valoare ' Intoarce valoarea tel.: 0040-264-530918 Get Valoare() As Currency Public Property e-mail: antaltiberiu@pcnet.ro Valoare = m_Valoare End Property ' Intoarce valoarea curenta a proprietatii CFactura.DFactura

250

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Get DataFactura() As Date Public Property Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca DataFactura = m_DFactura Facultatea Construcii de Maini End Property Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ' Intoarce valoarea curenta a proprietatii CFactura.DPlata Public Property drepturile sunt rezervate Date Copyright 2000. ToateGet DataPlata() As autorului. DataPlata = m_DPlata Multiplicarea acestui document n scop comercial este interzis|. End Property Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ' Intoarce valoarea curenta a proprietatii CFactura.Expirata documentProperty Get EsteExpirata() As Boolean Public pentru uzul personal. EsteExpirata = m_Expirata Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Endmultiplica documentul numai contra cost i cu acordul scris al autorului. n acest pot Property scop m| putei contact| la: Modul de lucru cu Property Let Cu excepia cazului n care dorii ca proprietatea s| poat| fi, doar citit|, trebuie definit| o ANTAL Tiberiu Alexandru procedur| care permite atribuirea unei noi valori propriet|ii. n acest scop se va folosi o tel.: 0040-264-530918 procedur| Property Let care e-mail: antaltiberiu@pcnet.ro are forma general|: Public Property Let numeproprietate(ValoareNou| As tipdedat|) [instruc iuni] m_membrudat| = ValoareNou| End Property Conf. dr. ing. ANTAL Tiberiu Alexandru La fel ca i nainte numeproprietate este numele propriet|ii, de asemenea, ValoareNou| Universitatea Tenhic| din Cluj-Napoca este noua valoare pe care utilizatorul vrea s-o atribuie propriet|ii, tipdedat| este tipul de dat| Facultatea Construcii de Maini care trebuie folosit pentruProgramare Catedra de Mecanic| i valoarea propriet|ii, iar m_membrudat| este variabila membru dat| a c|rei valoarede date Microsoft aici pot fi ad|ugate instruciuni n plus. Acestea testeaz|, de Curs de baze se va modifica. i Access obicei, noua valoare nainte de a modifica membrul dat|. Copyright 2000. Toate drepturile sunt rezervate autorului. Pentru CFactura, propriet|ile Property Let sunt: Multiplicarea acestui document n scop comercial este interzis|. ' Modifica valoarea proprietatii CFactura.ContClient Public participani la orice form| de nv||mnt superiorAs String) Sudenii Property Let ContClient(ContClient bugetar pot multiplica acest document pentru uzul personal. m_ContClient = ContClient End Property Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare potModifica documentul numai contra cost i cu acordul scris al autorului. n acest ' multiplica valoarea proprietatii CFactura.Valoare scop m| putei contact| la: Public Property Let Valoare(Cantitate As Currency) If Tiberiu Alexandru ANTAL Cantitate < 0 Then Cantiate = tel.: 0040-264-530918 0 e-mail:MsgBox "Nu se poate introduce o cantitate < 0 de bani"& _ antaltiberiu@pcnet.ro Chr(13) _ & "$0.00 se va folosi in locul valorii introduse." End If

251

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. m_Valoare = Cantitate dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca End Property Facultatea Construcii de Maini Catedra de Mecanic| i Programare ' Modificade date Microsoft Access Curs de baze valoarea proprietatii CFactura.DFactura Public Property Let DataFactura(DF As Date) If DF < Date drepturile sunt rezervate autorului. Copyright 2000. ToateThen DF = Date Multiplicarea acestui document n scop comercialo factura in trecut!" & _ MsgBox "Nu se poate introduce este interzis|. Chr(13) _ Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest & "Data de azi va fi folosita in locul celei introduse." documentIf End pentru uzul personal. m_DFactura = DF Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare m_DAmanare = m_DFactura + cost pot multiplica documentul numai contra 30 i cu acordul scris al autorului. n acest End m| putei contact| la: scop Property ' Modifica valoarea ANTAL Tiberiu Alexandru proproetatii CFactura.DPlata tel.: 0040-264-530918 Let DataPlata(DP As Date) Public Property e-mail: antaltiberiu@pcnet.ro m_DPlata = m_DPlata m_Expirata = False End Property Propriet|ile Property Let ContClient, Property Let ID permit modificarea membrilor dat| m_ContClient, m_ID f|r| a realiza verificarea noilor valori. Proprietatea Property Let DataFactura permite modificarea datei facturii numai dac| aceasta este Conf. dr. ing. ANTAL Tiberiu Alexandru mai mare dectTenhic| din Cluj-Napoca se afieaz| un mesaj prin care utilizatorul este Universitatea data curent|. n caz contrar avertizat c| Construciifactura "n trecut" i data factur|rii devine data curent|, iar data pn| Facultatea nu se poate de Maini la care sede Mecanic| ide plat| este cu 30 de zile n plus fa| de cea de emitere a facturii. Catedra face amnarea Programare Curs de baze de date Microsoft Access Observai c| nu exist| proceduri Property Let pentru propriet|ile ID i EsteExpirata, astfel ele devin sunt rezervate autorului. Copyright 2000. Toate drepturilepropriet|i care pot fi doar citite (read-only). Crearea metodelor clasei Multiplicarea acestui document n scop comercial este interzis|. Orice obiect are i un grup de metode care acioneaz| asupra obiectului. n acest scop, n cadrul clasei, trebuie s| definim proceduri Sub sau Functionbugetar Public pentruacest Sudenii participani la orice form| de nv||mnt superior de tipul pot multiplica ca s| fie vizibile extern. uzul personal. document pentru n cazul exemplului prezentat, se poate scrie o procedur| Sub care s| actualizeze valoarea lui m_Expirata dup| cum data curent| este mai mare sau mai mic| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare dect data amn|rii de plat| sub forma: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: CFactura.Actualizare ' Defineste metoda Public Sub Actualizare() ANTAL Tiberiu Alexandru Date And m_DPlata = 0 Then If m_DAmanare < tel.: 0040-264-530918 m_Expirata = True e-mail: antaltiberiu@pcnet.ro End If End Sub Definirea evenimentelor clasei

252

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru dou| evenimente: Initialize i Clasele definite de utilizator suport| lucrul cu Universitatea Tenhic| din Cluj-Napoca Terminate. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Evenimentul Initialize Curs de bazeatunci cnd se realizeaz| la instanierea obiectului de tipul clas|, adic| atunci Acesta apare de date Microsoft Access cnd: Copyright 2000. declar|drepturile sunt rezervate clasei prin folosirea lui New; evenimentul ! se Toate o variabil| obiect de tipul autorului. apare la prima folosire a variabilei n cod, de exemplu: Multiplicarea Dim test As Newscop comercial este interzis|. acestui document n CFactura test.ID = 1234 'evenimentul Initialize apare aici Sudenii ! participani la orice form| de nv||mnt superiorcuvntul cheiemultiplica acest se declar| o variabil| obiect de tipul clasei f|r| bugetar pot New, la scrierea document Set prin carepersonal. este egal| cu noua instaniere a clasei pentru uzul variabila lui Dim test1 As CFactura Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set test1 = New CFactura 'evenimentul Initialize pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| folosi acest eveniment se adaug| clasei o procedur| Private care folosete Pentru a putei contact| la: urm|torul format: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Private Sub Class_Initialize( ) e-mail: antaltiberiu@pcnet.ro [codul de ini ializare se pune aici] End Sub n cazul nostru, procedura care urmeaz|, iniializeaz| pe: ! m_ID cu un num|r aleator format din 5 cifre; ! m_DFactura cu data curent|; Conf. dr. ing. ANTAL Tiberiu Alexandrudup| data curent|. ! m_DAmanare cu 30 de zile Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini lansata in executie la aparitia ' Aceasta procedura este Catedra de Mecanic| i Programare ' evenimentului de clasa "Initialize" Curs de baze de date Microsoft Access Private Sub Class_Initialize() Randomize Copyright 2000. Toate drepturile sunt rezervate autorului. m_ID = Int((99999 - 10000) * Rnd + 10000) m_DFactura document Multiplicarea acestui= Date n scop comercial este interzis|. m_DAmanare = m_DFactura + 30 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End Sub document pentru uzul personal. Evenimentul Terminate Sudenii participani la oricecnd toate referinele la cu plat| de tipul clas| sunt setate la Acest eveniment apare atunci form| de nv||mnt obiectul sau alte persoane doritoare pot multiplicafolosete atunci cnd contra cost i cu acordul scris al autorului.aceasta Nothing. Se documentul numai eliberarea clasa a alocat dinamic memorie i n acest scop m| putei contact|ala: trebuie eliberat|. Pentru folosi acest eveniment se scrie, n clasa, o procedur| Private de forma: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Private Sub Class_Terminate( ) e-mail: antaltiberiu@pcnet.ro [codul pentru terminare se pune aici] End Sub

253

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Utilizarea clasei Universitatea Tenhic|va crea ntr-un modul i permite verificarea funcion|rii clasei. Codul care urmeaz| se din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Public Sub TestCFactura() Curs de baze de date Microsoft Access Dim test As New CFactura Debug.Print drepturile test.ID Copyright 2000. Toate"ID = ";sunt rezervate autorului. test.ID = 1234 Debug.Print "ID = "; test.ID Multiplicarea acestui document n scop comercial este interzis|. Debug.Print "Data facturii ="; test.DataFactura Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest test.DataFactura = #1/1/2002# document pentru uzul "Data facturii ="; test.DataFactura Debug.Print personal. test.Actualizare Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Debug.Print "Este expirata = "; test.EsteExpirata pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest test.Valoare la: scop m| putei contact| = 120 Debug.Print "Valoarea facturii este = "; test.Valoare End Sub ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro El se va lansa n execuie din fereastra imediat| (Ctrl+G).

Colecii VBA
Cloeciile VBA furnizeaz| o metod| pentru tratarea unor obiecte definite de utilizator sub forma unui grup. De exemplu, dac| avem mai multe obiecte de tipul CFactura i se dorete realizarea ing. ANTAL Tiberiu Alexandruaceste obiecte pot fi tratate, grupat, dect, Conf. dr. unei aciuni este mai simplu dac| individual. O colecie este, la rndul ei, un obiect cu propriile lui propriet|i i metode. Universitatea Tenhic| din Cluj-Napoca Obiectul colecie are urm|toarele caracteristici: Facultatea Construcii de Maini ! este un i Programare Catedra de Mecanic|obiect cu propriet|i i metode; obiecte de tipuri diferite pot Curs de! baze de date Microsoft Access fi ad|ugate coleciei; ! are dimensiunea variabil|, dup| cum se adaug| sau se terg obiecte; ! 2000. Toate drepturile sunt fi sortate; autorului. articolele coleciei nu pot rezervate Copyright ! articolele din colecie se pot selecta pe baza unui index care ncepe cu valoarea numeric| 1. Multiplicarea acestui document n scop comercial este interzis|.

Crearea unei colecii VBA Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest
ntruct coleciile sunt obiecte, ele se creeaz| asemenea obiectelor. Prima oar| se declar| o document pentru uzul personal. variabil| obiect care se va folosi ca referin| la colecie, apoi, se folosete Set pentru a crea o referin| participani la orice form| de nv||mnt cu este sau alte Sudenii de la variabila obiect colecie. Codul, principial,plat|de forma:persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim m| putei contact| la: scop Facturi As Collection Set Facturi = New Collection ANTAL Tiberiu Alexandru Propriet|ile i metodele obiectului colecie tel.: 0040-264-530918 Obiectul colecie are o structur| e-mail: antaltiberiu@pcnet.ro foarte simpl| avnd o singur| proprietate i trei metode prezentate n tabelul urm|tor: Nume Tip Descriere

254

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Count Specific| Universitatea proprietate Cluj-Napoca num|rul articolelor din colecie Tenhic| din Facultatea Construcii de Maini folosete pentru ad|ugarea unui articol la colecie Add metod| Se Catedra de Mecanic| i Programare Remove metod| Se folosete Curs de baze de date Microsoft Access pentru tergerea unui articol din colecie Item metod| Se folosete pentru referirea unui articol din colecie; este Copyright 2000. Toate drepturile sunt rezervate autorului. metoda implicit| Multiplicarea acestui document n scop comercial este interzis|.

Ad|ugarea unui articol la colecie


Metoda Add se folosete orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani la pentru ad|ugarea unui articol n colecie, ea are forma general|: document pentru uzul personal. Collection.Add Articol [, Cheie] [, nainte] [, Dup| ] Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare De multiplica documentul numai contra cost i cu acordul scris al autorului. n acest pot exemplu, pentru ad|ugarea obiectelor test1, test2, test3 de tipul CFactura scop m| testi se va folosi codul: coleciei putei contact| la: Dim testi As New ANTAL Tiberiu Alexandru Collection Dim test1 As tel.: 0040-264-530918 New CFactura Dim test2 As New e-mail: antaltiberiu@pcnet.roCFactura Dim test3 As New CFactura test1.ContClient = "ab-1234" test2.ContClient = "bc-5555" test3.ContClient = "ab-3334" Conf. testi.Add test1, "unu" dr. ing. ANTAL Tiberiu Alexandru testi.Add test2, "doi" Universitatea Tenhic| din Cluj-Napoca testi.Add test3, "trei" Facultatea Construcii de Maini Catedra de Mecanic| i Programare Set test1 = Nothing Curs de baze de date Microsoft Access Set test2 = Nothing Set test3 = Nothing Copyright 2000. Toate drepturile sunt rezervate autorului. Set testi = Nothing Multiplicarea acestui document n scop comercial este interzis|. Dei folosirea lui Cheie este opional|, utilizarea unor nume pentru identificarea unui articol de colecie este de preferat n locul unui num|r ntreg.superior bugetar pot este foarte sigur Sudenii participani la orice form| de nv||mnt Num|rul de index nu multiplica acest ntruct valoarea lui se poat schimba dac| se terg sau se adaug| articole. Argumentele document pentru uzul personal. opionale nainte i Dup| se pot folosi pentru a specifica poziia obiectelor n colecie. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Referirea unui obiect numai contra cost i cu acordul scris al autorului. n acest pot multiplica documentul Obiectele coleciei pot fi la: scop m| putei contact| referite printr-un num|r sau valoarea cheii. Cnd articolele se refer| printr-un num|r ntreg, numit i index, valoarea indexului, pentru primul obiect din colecie, este 1. Metoda mai simpl| de ANTAL Tiberiu Alexandru referire este prin numele cheii. Codul care urmeaz| exemplific| cele descrise. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Debug.Print testi.Item(2).ContClient Debug.Print testi(2).ContClient Debug.Print testi.Item("doi").ContClient

255

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Parcurgerea articolelor coleciei Universitatea Tenhic| din Cluj-Napoca Cel mai eficient mod de parcurgere a coleciei este folosirea instruciunii For Each. Facultatea Construcii de Maini Catedra de test As i Programare Dim Mecanic| CFactura 'variabila obiect de tipul CFactura Curs de baze de date Microsoft Access For Each test In testi Copyright 2000. Toate drepturile sunt rezervate autorului. Debug.Print test.ContClient Next test Multiplicarea acestui document n scop comercial este interzis|.

tergerea obiectelor individuale

Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Obiecte specifice ale unei colecii por fi terse folosind indexul sau valoarea cheii dup| cum document pentru uzul personal. urmeaz|: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare testi.Remove 2 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest testi.Remove "trei" scop m| putei contact| la:

tergerea tuturor obiectelor ANTAL Tiberiu Alexandru

O metod| pentru tegerea tuturor obiectelor din cloecie este parcurgerea ei i apelarea tel.: 0040-264-530918 metodeiantaltiberiu@pcnet.ro articol. Exist| ns| i o metod| mai rapid| n care se e-mail: Remove pentru fiecare reatribuie obiectul colecie unei noi colecii: Set testi = New Collection

Eliberarea spaului folosit pentru stocarea variabilei obiect


Coleciile sunt obiecte, din acest motiv spaiul folosit pentru stocarea variabilei colecie trebuiedr. el eliberat prinTiberiu Alexandru Conf. i ing. ANTAL codul: Universitatea Tenhic| din Cluj-Napoca Set testi = Nothing Facultatea Construcii de Maini Catedra de Mecanic| i Programare Pentru testareade date Microsoft Access Curs de baze secvenelor de cod prezentate se va folosi procedura: Public Sub TestCFacturi1() Copyright 2000. Toate drepturile sunt rezervate autorului. Dim testi As New Collection Multiplicarea acestui document n scop comercial este interzis|. Dim test1 As New CFactura Dim test2 As New CFactura Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Dim test3 As New CFactura document pentru uzul CFactura Dim test As personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare test1.ContClient = "ab-1234" pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest test2.ContClient scop m| putei contact| la: = "bc-5555" test3.ContClient = "ab-3334" ANTAL Tiberiu Alexandru tel.: 0040-264-530918 testi.Add test1, "unu" e-mail: antaltiberiu@pcnet.ro"doi" testi.Add test2, testi.Add test3, "trei" Debug.Print testi.Item(2).ContClient

256

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. Debug.Print testi(2).ContClient dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Debug.Print testi.Item("doi").ContClient Facultatea Construcii de Maini Catedra de Mecanic| i Programare Debug.Print "----" Curs de baze de date Microsoft Access For Each test In testi Debug.Print test.ContClient Copyright 2000. Toate drepturile sunt rezervate autorului. Next test Multiplicarea acestui document n scop comercial este interzis|. testi.Remove 2 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest testi.Remove "trei" document pentru uzul personal. Debug.Print "----" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare For Each test In testi pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Debug.Print scop m| putei contact| la: test.ContClient Next test ANTAL Tiberiu Alexandru tel.: 0040-264-530918 New Collection Set testi = e-mail: antaltiberiu@pcnet.ro Set testi = Nothing End Sub Lansarea ei n execuie i afiarea rezultatelor se fac din fereastra imediat|. Conf. dr. ing. ANTAL Tiberiu Alexandru Crearea unei clase din Cluj-Napoca Universitatea Tenhic| pentru manipularea coleciilor Codul care Construcii de Maini Facultatea urmeaz| implementeaz| o clasa pentru manipularea unei colecii. Pentru aceasta se va crea o clas| nou| care Programare Catedra de Mecanic| i va avea proprietatea Name seat| la CFacturi i urm|torul cod: Curs de baze de date Microsoft Access Option Explicit Copyright 2000. Toate drepturile sunt rezervate autorului. ' Membru data Multiplicarea acestui document n scop comercial este interzis|. Private m_Facturi As New Collection Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ' Intoarce proprietatea CInvoices.Contor document pentru uzul personal. Public Property Get Contor() As Long Contor = m_Facturi.Count Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare End Property pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Public Property Get Facturi() As Collection ANTAL Tiberiu Alexandru Set Facturi = m_Facturi tel.: 0040-264-530918 End Property e-mail: antaltiberiu@pcnet.ro ' Functia este versiunea romana pentru metoda Add Public Function Adauga(CClient As String, ValFact As _ Currency) As CFactura

257

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. Diming. ANTAL Tiberiu Alexandru dr. facturaNoua As New CFactura Universitatea Tenhic| din Cluj-Napoca With facturaNoua Facultatea Construcii de Maini .ContClient = CClient Catedra de Mecanic| i Programare .Valoare = ValFact Curs de baze de date Microsoft Access m_Facturi.Add Item:=facturaNoua, Key:=CStr(.ID) End With Copyright 2000. Toate drepturile sunt rezervate autorului. Set Adauga = facturaNoua Multiplicarea acestui document n scop comercial este interzis|. End Function Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ' Versiunea romana pentru metoda Item documentFunction Articol(Index As Variant) As CFactura Public pentru uzul personal. Set Articol = m_Facturi.Item(Index) Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Endmultiplica documentul numai contra cost i cu acordul scris al autorului. n acest pot Function scop m| putei contact| la: ' Versiunea romana pentru metoda Remove Public Sub Sterge(Index As Variant) ANTAL Tiberiu Alexandru tel.: 0040-264-530918 m_Facturi.Remove Index e-mail: antaltiberiu@pcnet.ro End Sub Pentru testarea clasei se va folosi procedura:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Public Sub TestCFacturi2() Dim testi As New CFacturi Conf. Diming. ANTAL CFactura dr. test As Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca testi.Adauga CClient:="ab-1234", ValFact:=777.77 Facultatea Construcii de Maini Catedra de Mecanic| i CClient:="bc-5555", ValFact:=333.33 testi.Adauga Programare Curs de baze de date Microsoft Access testi.Adauga CClient:="ab-3334", ValFact:=555.55 Debug.Print testi.Contor Copyright 2000. Toate drepturile sunt rezervate autorului. For i = 1 To testi.Contor Multiplicarea acestui document n scop comercial este interzis|. Debug.Print testi.Articol(i).ContClient Next i Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. For Each test In testi.Facturi Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Debug.Print test.ContClient pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Next test scop m| putei contact| la: End Sub ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Liniile 10 - 12 prezint| modul de parcurgere a coleciei testi folosind ciclul For. Liniile 14 e-mail: antaltiberiu@pcnet.ro - 16 prezint| modul de parcurgere a coleciei testi prin folosirea ciclului For Each. Pentru ca aceast| metod| de parcurgere s| poat| fi folosit| a fost nevoie de proprietatea Facturi care s| ntoarc| colecia curent| de facuri stocat| n membrul dat| m_Facturi.

258

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Modul de lucru cu Property Set Universitatea Tenhic| din Cluj-Napoca Pentru a atribui o colecie propriet|ii Facturi trebuie folosit| o procedur| Property Facultatea Construcii de Maini Set. Acest tip de procedur| se folosete pentru atribuirea unui obiect la o proprietate i are Catedra de Mecanic| i Programare urm|torul format: Curs de baze de date Microsoft Access Public Property Set numeproprietate(ObiectNou As tipdedat|) Copyright 2000. Toate drepturile sunt rezervate autorului. [instruc iuni] Set m_membrudat| = ObiectNou Multiplicarea acestui document n scop comercial este interzis|. End Property Sudenii participani la orice propriet|ii, ObiectNou esteobiectul pe care dorim s|-l acest numeproprietate este numele form| de nv||mnt superior bugetar pot multiplica document pentru uzul tipul de dat| al obiectului, iar m_membrudat| este variabil| membru atribuim, tipdedat| este personal. dat| obiect. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. niacest Property Set este o varianta de Property Let care permite crearea unor proprietat 7 7scop m| putei contact| la: obiect. Proprieta-ile obiect sunt proprieta-i care sunt poantori la obiecte si nu sunt valori 7t 7t scalare obiesnuite. Creati un nou modul clasa cu numele CClient. 7 ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Option Compare Database e-mail: antaltiberiu@pcnet.ro Option Explicit Private m_ContClient As String Private m_NumeClient As String Private m_AdresaClient As String Private m_FacturiClient As CFacturi Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Public Property Let NumeClient(nume As String) Facultatea Construcii de Maini m_NumeClient Programare Catedra de Mecanic| i = nume End de baze de date Microsoft Access Curs Property Public Property drepturile sunt rezervate autorului. Copyright 2000. ToateGet NumeClient() As String NumeClient = m_NumeClient Multiplicarea acestui document n scop comercial este interzis|. End Property Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Public Property Let AdresClient(adr As String) document pentru uzul personal. m_AdresaClient = adr End Property Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Public putei contact| la: AdresaClient() As String scop m| Property Get AdresaClient = m_AdresaClient End Property ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Public Property Let ContClient(cont As String) m_ContClient = cont End Property

259

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Get ContClient() As String Public Property Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca ContClient = m_ContClient Facultatea Construcii de Maini End Property Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Public Property Get FacturiClient() As CFacturi Set FacturiClient = sunt rezervate autorului. Copyright 2000. Toate drepturile m_FacturiClient End Property Multiplicarea acestui document n scop comercial este interzis|. Public Property Set FacturiClient(ObiecteFacturi As CFacturi) Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Set m_FacturiClient = ObiecteFacturi document pentru uzul personal. End Property Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Pentru testarea clasei creati procedura urmatoare: cu acordul scris al autorului. n acest pot multiplica documentul numai contra7 cost i scop m| putei contact| la: Public Sub TestCClient() Dim tc As CClient ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Dim fa As CFacturi e-mail: antaltiberiu@pcnet.ro Set tc = New CClient With tc .ContClient = "12-3456" .AdresClient = "Fericirii 13" .NumeClient = "Ionel Vasile" Set .FacturiClient = New CFacturi Conf. dr. ing. ANTAL Tiberiu Alexandru End With Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Debug.Print "----" Curs de bazetc.FacturiClient With de date Microsoft Access .Adauga tc.ContClient, "100.00" Copyright 2000. Toatetc.ContClient, "200.108" .Adauga drepturile sunt rezervate autorului. For i = 1 To .Contor Multiplicarea acestui document n scop comercial este interzis|. Debug.Print .Articol(i).ContClient,E .Articol(i).Valoare Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Next i document pentru uzul personal. End With Debug.Print "----" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Set fa = tc.FacturiClient For i = 1 To fa.Contor ANTAL Tiberiu Debug.Print fa.Articol(i).ContClient,E Alexandru tel.: 0040-264-530918 fa.Articol(i).Valoare e-mail: antaltiberiu@pcnet.ro Next i End Sub n majoritatea cazurilor, cnd se modeleaza o problema cu ajutorul obiectelor, se vor gasi 7 7 7

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

260

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru reprezentate grafic, sub forma unei diagrame relatii ntre obiecte. Deseori, aceste relatii sunt Universitatea Tenhic| modelul obiectual al aplicatiei. n principal, relatiile dintre obiecte din Cluj-Napoca ce poarta denumirea de 7 Facultatea Construcii. de Maini sunt de natura ierarhica Pentru reprezentarea realtiilor ntre obiecte se folosesc poantori. Se 7 7 Catedra depoantori la obiecte copil n sectiunea declaratiilor modulului clasa parinte. Mai vor declara Mecanic| i Programare 7 7 Curs de baze de date Microsoft factura si client s-a declarat o variabila sus, pentru a modela relatia ntre Access 7 7 m_FacturiClient n sectiunea declaratiilor din clasa CClient. Ea primeste, valoare n Copyright 2000. ei pentru testarea clasei,rezervate autorului.-ii Set. Pentru a putea accesa Toate drepturile sunt cu ajutorul proprieta t linia 10 a secvent 7 membrii obiectului CFacturi s-a definit proprietatea Get FacturiClient la nivelul Multiplicarea acestuiFara ea, liniile scop comercial estetestare ar fi fost imposibil de scris. obiectului CClient. document n 14-20, din codul de interzis|. 7 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Aplicaii document pentru uzul personal. VBA cu funcii i clase Exista multe asemanari ntre functia din "matematica" si cea din VBA. Prin definitie, avnd 7 7 7 7 doua mult 7 , cu Sudenii -imi D, C si G la parte a produsului cartezian D x C, astfel nct persoane doritoare participani o orice form| de nv||mnt cu plat| sau alte pot multiplica documentul numai functie (aplicatcu sau transformare)autorului. ncu valori proprietatea , se numeste contra cost i -ie acordul scris al definita pe D acest 7 scop m| putei contact|D se numeste domeniul de definitie, C codomeniul functiei, iar G la: C tripletul . graficul lui f. Deseori, n locul notatiei se prefera 7 sau y = f(x). x se numeste variabila 7 ANTAL Tiberiu Alexandru independenta sau argument, iar y variabila depedenta. Elementul unic 7 7 7 , care corespunde tel.: 0040-264-530918 lui se numeste imaginea lui e-mail: antaltiberiu@pcnet.ro x prin f sau valoarea functie n x. Fie functia defineste sub forma: , pentru care D=[0,4] si C=[1,3], n limbajul VBA, acesta functie se 7 -

Public Function f(x As Double) As Double f = 1 + Sqr(x) Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

261

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. Function End dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i stocata n modulul cu numele Module3, iar rezultatul functiei este Definitia de mai sus este Programare 7 Curs de fereastra date Microsoft Accesswindow). Vizualizarea acestei ferestre se face baze de imediata (Immediate afisat n 7 selectnd din View, Immediate Window. Deseori, aceasta fereastra este folosita pentru 7 7 7 Copyright 2000. Toate drepturile sunt rezervate autorului. testarea unui subprogram din interiorul unui modul. O alta situatie ar fi calculul valorii unei 7 expresii sau a unei variabile. Pentru aceasta se va folosi caracterul ? urmat de numele Multiplicarea acestui document n7scop comercial este interzis|. variabilei, expresiei sau functiei dupa care se apasa tasta Enter. Rezultaul se va afisa, n 7 fereastra imediata, pe linia urmatoare expresiei de calculat. 7 7 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.

Aplicatii cu instructiunea If -

If se foloseste atunci cnd pe parcursul rezolvarii problemei, n secventa de pasi de urmat, 7 -7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare trebuie luata o decizie. n "vocabularul uman" corespondentul lui If este daca. Sa presupunem 7 7 7 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ca dorim sa scriem o functie care gaseste minimul dintre doua valori reale. Functia se va primi 7 7 7 7 scop m| putei contact| la: numele de min2, pentru ca va calcula minimul dintre doua valori si va avea ca parametri pe a 7 7 si b. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Solutia problemei ntr-o formulare comuna ar fi: 7 e-mail: antaltiberiu@pcnet.ro daca a este mai mic dect b minimul este a, daca a este mai mare dect b minimul este b, 7 7 observnd ca o solutie o exclude pe cealata se poate spune: 7 7 daca a este mai mic dect b atunci minimul este a, altfel minimul este b, 7 Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| dinse va programa n VBA, folosind instructiunea If astfel: Rationamentul de mai sus, Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Daca a < b Atunci 7 If a < b Then Curs de baze de date Microsoft Access minum = a minim = a Altfel Else minum =b Copyright 2000. Toate drepturile sunt rezervate autorului. minim = b Terminare If End If Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice va scriede functie care sa calculeze minimul. multiplica acest Pe baza codului de mai sus, se form| o nv||mnt superior bugetar pot 7 document pentru uzul personal. Public Function min2(a As Double, b As Double) As Double Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare If a < b Then pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest min2 = a scop m| putei contact| la: Else min2 = b ANTAL Tiberiu Alexandru End If tel.: 0040-264-530918 End Function e-mail: antaltiberiu@pcnet.ro Daca, pe baza functiei care gaseste minimul dintre doua valori dorim sa scriem o functie, cu 7 7 7 7 numele min3, care gaseste minumul dintre trei valori, acesta va fi: 7 -

262

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL min3(aAlexandru Public Function Tiberiu As Double, b As Double, c As Double) As Universitatea Tenhic| din Cluj-Napoca E Double Facultatea Construcii de Maini b), c) min3 = min2(min2(a, Catedra de Mecanic| i Programare End Function Curs de baze de date Microsoft Access Observati ca valoarea lui min3 se sunt rezervate autorului. - 7 7 7 Copyright 2000. Toate drepturile determina prin apelarea de doua ori a lui min2. Prima oara se gaseste minimul dintre a si b, apoi ntre minimul dintre a, b si c. 7 7 Multiplicarea acestui document n scop comercial este interzis|. Pe baza exemplelor prezentate, scrieti functiile max2 si max3 pentru calcularea maximului dintre doua respectiv trei orice form| dei nv||mnt superior bugetar pot multiplicapentru 7 numere. Scriet apoi o procedura Sub, cu numele minmax3, acest 7 Sudenii participani la document pentru uzul personal. bazata pe functiile de mai sus. calculul valorilor minime si maxime 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scopintrare, pe a, b sinterzis|. 7 de iesire, pe vmin si Procedura Sub va avea trei argumente de comercial este-i c si doua vmax. Observati, n fereastra imediata, ca desi pe ultimele doua pozitii stau parametrii de 7 7 7 Sudenii participani la n procedura,de trebuie specificati conform sintaxeimultiplica a iesire, care se calculeaza orice form| ei nv||mnt superior bugetar pot de scriere acest 7 7 document pentru uzul Pentru a scapa de aceasta scriere ei pot fi declarati ca parametrii personal. 7 apelului lui minmax3. 7 optionali dupa cum urmeaza: 7 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Public Sub minmax3v1(a As Double, b As Double, c As Double, E Optional vmin As Double, Optional vmax As Double) ANTAL Tiberiu Alexandru c) vmin = min3(a, b, tel.: 0040-264-530918 vmax = max3(a, b, c) e-mail: antaltiberiu@pcnet.ro Debug.Print "Minimul dintre "; a; b; c; " este "; vmin Debug.Print "Maximul dintre "; a; b; c; " este "; vmax End Sub

263

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru n acest caz, subprogramul cu numele minmax3v1 va putea fi apelat din fereastra imediata 7 Universitatea Tenhic| din Cluj-Napoca prin linia minmax3v1 1,2,3. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Aplicaii cu instruciunea For

Se d| funcia definit| pe intervale: Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Se cere s| se scrie o procedur| de tipul funcie pentru calculul valorilor lui g(x) i una de tipul scop m| putei contact| la: subrutin| pentru afiarea valorilor ei ntr-un interval dat, [a,b], n n puncte echidistante. ntruct punctele sunt echidistante, se poate determina dinstana ntre dou| puncte consecutive ANTAL Tiberiu Alexandru considerndu-se conoscute a, b i n. Aceast| distant| se numete pas de parcurgere a tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro intervalului i se noteaz| cu h. Dac| , atunci valoarea punctului al i-elea va calcula folosind formula . Cele dou| proceduri sunt implementate n continuare. Observai c| funcia g(x) are un parametru care este folosit pentru a monitoriza evaluarea corect| a valorilor ei. n caz de eroare acest parametru va lua valoarea True, caz n care rezultatul ntors de funcie nu este definit. Conf. dr. ing. ANTAL Tiberiu Alexandru Public Function g(xCluj-Napoca Universitatea Tenhic| din As Double, eroare As Boolean) As Double eroare = False Facultatea Construcii de Maini If (x < -1) Then Catedra de Mecanic| i Programare g = Sin(x) * Exp(-x) Curs de baze de date Microsoft Access ElseIf (x <= 1) Then Copyright 2000. Toate7 + 5 * x ^ rezervate autorului. g = x ^ drepturile sunt 5 + 1 Else Multiplicarea acestui document nThen comercial este interzis|. If (Abs(x) = 2) scop 'Debug.Print "Impartire cu 0 in g(x) pentru x = ; x" Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentrueroare = True uzul personal. Exit Function Else Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare g = Cos(x) / (x * x i 4) pot multiplica documentul numai contra cost - cu acordul scris al autorului. n acest scop m| putei contact| la: End If End If ANTAL Tiberiu Alexandru End Function tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Public Sub afisare(a As Double, b As Double, n As Integer) Dim x As Double, aux As Double, eroare As Boolean Dim h As Double Dim i As Integer

264

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca If (b < a) Then Facultatea Construcii de Maini MsgBox "a < b" Catedra de Mecanic| i Programare Exit Sub Curs de baze de date Microsoft Access End If Copyright 2000. Toate drepturile sunt rezervate autorului. h = (b - a) / (n - 1) Multiplicarea = 1 To n For i acestui document n scop comercial este interzis|. x = a + (i - 1) * h Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest aux = g(x, eroare) document pentru uzul personal. If eroare Then Debug.Print "Evaluarea functiei a generat eroare E Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pentru x = "; x pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Else scop m| putei contact| la: Debug.Print i; ")"; x; aux End Alexandru ANTAL Tiberiu If Next i tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro End Sub

Realizarea unei clase pentru lucrul cu numere complexe


n continuare se por prezenta cteva dintre posibilit|ile de implementare a operaiilor cu numere complexe, n VBA, folosind tehnicile de progrmare deja discutate. n prima variant|, programarea procedurarl| este folosit| pentru implementarea adum|rii a dou| numere complexe. Creai un modul cu urm|toarele proceduri: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Sub complex_aduna(re1 As Double, im1 As Double, re2 As E Facultatea Construcii de Maini Double, im2 As Double, sumare As Double, sumaim As Double) Catedra de Mecanic| i Programare sumare = re1 + re2 Curs de baze de date Microsoft Access sumaim = im1 + im2 End Sub Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sub test() Dim re As Double, re1 As Double, re2 As Double Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Dim im As Double, im1 As Double, im2 As Double document pentru uzul personal. re1 = 1 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare im1 = documentul numai contra cost i cu acordul scris al autorului. n acest pot multiplica 2 re2 = contact| la: scop m| putei3 im2 = 4 ANTAL Tiberiu Alexandru tel.: 0040-264-530918 complex_aduna re1, im1, re2, im2, re, im e-mail: antaltiberiu@pcnet.ro Debug.Print re; "+i*"; im End Sub Procedura pentru adunarea a dou| numere complexe are ase parametri, primii patru sunt de

265

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Tiberiu Alexandru intrare, iar ultimii doi sunt de ieire. n aceasata variant| de implementare nu exist| nici un Universitatea valorilor dinintrare, care, pna la urm|, pot fi orice valori numerice i nu control asupra Tenhic| de Cluj-Napoca Facultatea Construcii imaginare are unor numere complexe. O variant| mbun|t|it| ar fi neap|rat p|rile reale i de Maini Catedra de Mecanic| i pentru reprezentarea numerelor complexe. Creai un nou modu care folosirea unui tip de dat| Programare Curs de forma: date Microsoft Access s| fie de baze de Copyright 2000. Toate drepturile sunt rezervate autorului. Type complex re As Double Multiplicarea Double im As acestui document n scop comercial este interzis|. End Type Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Function complex_aduna(c1 As complex, c2 As complex) As E complex Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare complex_aduna.re = c1.re + c2.re pot multiplica documentul numai contra + c2.imacordul scris al autorului. n acest complex_aduna.im = c1.im cost i cu scop m| putei contact| la: End Function ANTAL Tiberiu Alexandru Sub 0040-264-530918 tel.: test1() Dim c As complex, e-mail: antaltiberiu@pcnet.ro c1 As complex, c2 As complex c1.re = 1 c1.im = 2 c2.re = 3 c2.im = 4 c = complex_aduna(c1, c2) Conf. dr. ing. ANTAL Tiberiu Alexandru Debug.Print din Cluj-Napoca Universitatea Tenhic| c.re; "+i*"; c.im End Sub Construcii de Maini Facultatea Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access oprete s| facem greseli n utilizarea valorilor re i Observai c| tipul de dat| complex ne im. Este clar c| ele reprezint| o pereche i nu este corect| folosirea lor independent|. S-a Copyright 2000. Toate drepturile complex. El apare i la nivelul funciei ce realizeaz| creat un nou concept, cel de num|r sunt rezervate autorului. adunarea celor dou| numere complexe prin faptul ca se pot declara parametri i rezultare de Multiplicarea Aceast| document n scop un pas nainte, dar nc| problema nu este rezolvat| tipul n cauz|. acestui abordare este nc| comercial este interzis|. total. Operaia de adunare a numerelor complexe este specific| acestora, ar fi normal ca Sudenii participani lanumai form| de nv||mnt superior varianta prezentat|, funcia acestea s| poat| aciona orice asupr| numerelor complexe. n bugetar pot multiplica acest document pentru uzular putea fi folosit| ncorect de cineva care nu tie ca ea poate lucra complex_aduna() personal. corect numai cu tipul de dat| complex. Soluia este, ca att datele, ct i procedurile care Sudenii participani fieorice form| de definirea unui nou tip saudate. n acest scop se va manipuleaz| datele s| la folosite pentru nv||mnt cu plat| de alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest defini un modul de tipul clasa cu numele CComplex, dup| cum urmeaz|: scop m| putei contact| la: Private re As Double ANTAL Tiberiu Alexandru Private im As Double tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Public Property Let imaginar(img As Double) im = img End Property

266

Introducere n limbajul de programare Visual Basic for Applications - cursul 10

Conf. dr. ing. ANTAL Let real(rea As Double) Public Property Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca re = rea Facultatea Construcii de Maini End Property Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Public Property Get imaginar() As Double Copyright 2000. Toate drepturile sunt rezervate autorului. imaginar = im End Property Multiplicarea acestui document n scop comercial este interzis|. Public Property Get real() As Double Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest real = re document pentru uzul personal. End Property Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Public Sub complex_afis() scop m| putei contact| la: "+i*"; im Debug.Print re; End Sub ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Public Sub aduna(a As CComplex, b As CComplex) e-mail: antaltiberiu@pcnet.ro im = a.imaginar + b.imaginar re = a.real + b.real End Sub Pentru testarea clasei se va folosi modulul: Conf. dr. ing. ANTAL Tiberiu Alexandru Public Sub test2() Universitatea Tenhic| din Cluj-Napoca As New CComplex, z As New E Dim x As New CComplex, y Facultatea Construcii de Maini CComplex Catedra de Mecanic| i Programare x.imaginar = 1 Curs de baze de date Microsoft Access x.real = 2 y.imaginar = 3 Copyright 2000. Toate drepturile sunt rezervate autorului. y.real = 4 z.aduna x, document n scop comercial este interzis|. Multiplicarea acestuiy z.complex_afis Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End Sub document pentru uzul personal. Observai c|, aici, ncepnd cu operaia de atribuire a valorilor complexe, pn| la cea de Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoaneorice afiare totul se face sub controlul strict al funciilor specifice clasei CComplex doritoare pot multiplicaeroare n utilizarea unor date cost funciiacordul scris alexclus|. posibilitate de documentul numai contra sau i cu incorecte fiind autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

267

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 11 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dupa parcurgerea acestui curs veti cunoaste: 7 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access ! ce este programarea orientat| pe obiecte; Copyright 2000. Toate drepturile sunt rezervate autorului. ! cum se acceseaz| obiectele i ierarhiile de obiecte n Access; Multiplicareacare suntdocumentAccess; comercial este interzis|. acestui obiectele n scop ! ! care sunt obiectele pentru accesul la date; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru sunt propriet|ile folosite mai des; ! care uzul personal. ! ce sunt coleciile implicite; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu i Document;al autorului. n acest ! care este rolul obiectelor Container acordul scris scop m| putei contact| la: ! ce sunt evenimentele i tipurile lor; ANTAL Tiberiu Alexandru i se depisteaz| erorile din proceduri. ! cum se depaneaz| tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

268

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Ce este programarea orientat| pe obiecte? Universitatea Tenhic| din Cluj-Napoca n Programarea Orientat| pe Obiecte (POO) conceptul de baz| este obiectul (sau Tipul Facultatea Construcii de Maini Abstract de Dat|, TAD, - Programare a c|rui form| intern| este ascuns| n spatele unei Catedra de Mecanic| i un tip de dat| funcii debaze deObiectele de acest tip sunt create i inspectate numai prin apeluri la funciile Curs de acces. date Microsoft Access de acces. Aceasta permite ca implementarea tipului s| fie modificat| f|r| alte modific|ri de module n afara celui n care TAD este definit). El este o structur| de dat| ncapsulat| Copyright 2000. Toate drepturile sunt rezervate autorului. mpreun| cu rutinele, numite "metode", care opereaz| asupra datelor. Operaii asupra datelor pot fi efectuate numai document n scop comercial este interzis|. Multiplicarea acestuiprin intermediul acestor metode, care sunt comune tuturor obiectelor ce s-au n|scut prin instanierea aceleiai clase particulare. Denumirea de clas| este folosit| n POO pentru un prototip de obiect, fiind echivalentul noiunii debugetar pot multiplica acest Sudenii participani la orice form| de nv||mnt superior tip derivat din limbajele procedurale. O clas| este determinat| de o mulime de obiecte cu o structur| i un document pentru uzul personal. comportament comun. Structura clasei este determinat| de variabilele care reprezint| starea unui obiect din acea clas|, iar comportamentul ei este cu plat| sau alte persoane doritoare Sudenii participani la orice form| de nv||mnt dat de metodele asociate clasei. Clasele se pot afla ntr-o relaie ierarhic|. O contra cost fi specializareascris al autorului. n acest pot multiplica documentul numai clas| poate i cu acordul (o "subclas|") alteia (care este "superclasa"), poate fi compus| din alte clase sau se poate folosi n alte clase. Fiecare clas| are scop m| putei contact| la: o poziie n ierarhia de clase. Metodele sau codul unei clase pot fi transferate n josul ierarhiei unei subclase sau pot fi motenite de la o superclas|. Subclasa este o clas| care este derivat| ANTAL Tiberiu Alexandru dintr-o superclas| prin motenire. Subclasa conine toate tr|s|turile superclasei, dar poate tel.: 0040-264-530918 ad|uga noi tr|s|turi sau poate s| le redefineasc| pe unele din cele motenite. Apelurile de e-mail: antaltiberiu@pcnet.ro proceduri sunt descrise n POO n termenii transferurilor de mesaje. Un mesaj specific| o metod| i opional poate include i alte argumente. Cnd un mesaj este transmis unui obiect, metoda este c|utat| n clasa obiectului pentru a g|si care este operaia de efectuat cu obiectul. Dac| metoda nu este definit| n clasa obiectului, este c|utat| n superclasele lui pn| cnd se ajunge la o superclas| care nu mai este derivat|. Apelurile de procedur| ntotdeauna ntorc un obiect rezultat, care poate fi o eroare, la fel este i aici, cnd nu s-a g|sit o superclas| care s| defineasc|ing. ANTAL Tiberiu Alexandru Conf. dr. metoda specificat|. Universitatea Tenhic| din Cluj-Napoca POO a nceput cu SIMULA-67 n jurul anului 1970. Exemple populare de limbaje orientate pe Facultatea Construcii de Maini obiecte sunt Mecanic| creat la Palo Alto Research Center (PARC) a lui Xerox i C++-ul. Catedra de Smalltalk i Programare Curs de baze de date Microsoft Access Copyrightdate Access este format| din obiectele peautorului. O baz| de 2000. Toate drepturile sunt rezervate care le vedei n fereastra bazei de date (Database Window): tabele, interog|ri, formulare, rapoarte, macro-uri, i module. Aceste Multiplicarea acestui document n scop comercial este interzis|. obiecte pot fi manipulate din limbajul VBA prin codul coninut de procedurile aplicaiei. Unele dintre aceste obiecte pot fi create cu ajutorul generatoarelor prezentate deja, ns| Sudenii participani la aceast| metod| de creare este prea puin flexibil fa| de ceea ceacest controlul pe care l ofer| orice form| de nv||mnt superior bugetar pot multiplica ne document pentru uzul n Access unele obiecte conin alte obiecte, de exemplu, un fomular permite limbajul VBA. personal. conine controale. Aceste leg|turi dintre obiecte determin| o ierarhie de obiecte. Obiectele Sudenii participani la orice form| de nv||mntde obiecte de acelai tip. De exemplu, sunt organizate n colecii, care reprezint| o mulime cu plat| sau alte persoane doritoare pot multiplica documentulForms care cuprindei cu acordul scris al autorului. n de date; exist| o colecie cu numele numai contra cost toate formularele deschise ale bazei acest scop m| putei contact| la: numit| Controls care conine toate controalele de pe suprafaa fiecare formular are o colecie lui. Un obiect cu numele NumeObiect al unei colecii cu numele NumeColec ie poate fi ANTAL Tiberiu Alexandru referit prin trei metode din VBA: tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Obiecte i Colecii n VBA

269

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Sintaxa Semnificaie Exemplu Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Numele obiectului Forms!Clienti M NumeColec ie!NumeObiect Catedra de Mecanic| i Programare NumeColec ie![Nume Obiect] este explicit scris Forms![Zi rata] e Curs de baze de date Microsoft Access ca un membru al t coleciei. o Copyright 2000. Toate drepturile sunt rezervate autorului. Parantezele drepte d sunt necesare dac| a Multiplicarea acestui document n scop comercial este interzis|. numele obiectului 1 conine spaii. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest M NumeColec uzul personal. document pentru ie("NumeObiect") Numele obiectului Forms("Clienti") este explicit scris e ca un cu plat| sau sau t Sudenii participani la orice form| de nv||mntmembru al alte persoane doritoare coleciei sau se o multiplica documentul numai contra cost i cu acordul scris al autorului. n acest pot s="Clienti" poate folosi o d scop m| putei contact| la: Forms(s) variabil| de tipul a String pentru a 2 ANTAL Tiberiu Alexandru stoca numele tel.: 0040-264-530918 acesteia. e-mail: antaltiberiu@pcnet.ro Forms(1) index specific| M NumeColec ie(index) poziia obiectului e din colecie. t o d a Conf. dr. ing. ANTAL Tiberiu Alexandru 3 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Fiecare form| sintactic| are avantajele ei. Atunci cnd referim un singur obiect, de exemplu al Catedra de Mecanic| i Programare unui formular saudate Microsoft Access Curs de baze de raport, Metoda 1, cu folosirea semnului de exclamare !, este cea mai simpl|. Dac| dorim s| facem anumite aciuni cu un grup de obiecte, ale c|ror nume este cunoscut, vom folosi Metoda 2. Metoda 3 se folosete, n general, cnd dorim s| parcurgem Copyright 2000. Toate drepturile sunt rezervate autorului. ntreaga colecie pentru a realiza o aciune cu toate obiectele acesteia. Toate obiectele au propriet|i, metode asociate i dac| este comercial este interzis|. Multiplicarea acestui document n scopcazul, proceduri de evenimente. Fiecare obiect are o mulime de caracteristici denumite propriet|i. Acestea pot controla, de exemplu, modul de afiare al participani poziia lui pe ecran. Sudenii obiectului i la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Propriet|ile unui obiect se refer| prin sintaxa: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare NumeObiect.NumeProprietate pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Valoarea unei propriet|i poate fi setat| prin sintaxa: ANTAL Tiberiu Alexandru NumeObiect.NumeProprietate = valoare tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro De exemplu, toate obiectele formular (Forms) au o proprietate cu numele titlu (Caption). Dac| avem un formular cu numele Clienti i dorim s|-i modific|m titlul la "Salutare!" scriem:

270

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Forms![Clienti].Caption="Salutare!" Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Fiecare colecie are o proprietate Count care conine num|rul actualizat de obiecte ale Catedra de Mecanic| i Programare 0 iar ultimul Count-1. Aceast| proprietate permite coleciei. Primul membru are index-ul Curs de baze de colecii de obiecte.De exemplu, dac| dorim s| set|m titlurile tuturor parcurgerea unei date Microsoft Access formularelor deschise la "Formular nr. x", unde x este num|rul ordine al formularului din Copyrightpoate scrie procedura Sub: rezervate autorului. colecie se 2000. Toate drepturile sunt Multiplicarea acestui document n scop comercial este interzis|. Sub ModificaCaption() Dim i As Integer Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest For i=0 To Forms.Count-1 document pentru uzul personal. Forms(i).Caption = "Formular nr. " + str(i) Next Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare End Sub pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Variabilele de tipul obiect

Dac| baza de dateAlexandruspecificarea unor obiecte individuale n liniile procedurilor duce ANTAL Tiberiu este mare, la programe greu de ntreinut. n plus, uneori se poate s| dorim executarea acelorai operaii tel.: 0040-264-530918 cu obiecte diferite. n VBA exist| variabila obiect c|reia se poate asocia un tip de obiect. e-mail: antaltiberiu@pcnet.ro
Declarat ia variabilei obiect

O variabil| de tipul obiect se declar| dup| aceeai sintax| cu a variabielor obinuite prin folosirea lui Dim, ReDim, Static, Private sau Public.

Conf. dr. ing. ANTAL Tiberiu Alexandru Atribuirea varabilelor obiect Universitatea Tenhic|instruciunea Set dup| din Cluj-Napoca

Atribuirea unei valori pentru cazul variabilelor obiect se face folosind sintaxa:

Facultatea Construcii de Maini Catedra de Mecanic| Set numevariabil| = ExpresieObiect i Programare Curs de baze de date Microsoft Access Dup| ce variabila a fost declarat| i i-a fost atribuit| o valoare se poate folosi asemenea oric|rei varabile. Toate drepturile sunt rezervate autorului. Copyright 2000. Multiplicarea acestui document n scop comercial este interzis|. Obiecte Microsoft Access Nu toate obiectele lui Access pot fi reprezentate prin variabile. Tabelul care urmeaz| descrie Sudenii participani la oricedes, specificnd dac| pot s| participe sau nu ntr-o declaraie de obiectele Access utilizate mai form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. variabil|. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Descriere Poate fi un pot Nume obiect multiplica documentul numai contra cost i cu acordul scris al autorului. n acest tip obiect? scop m| putei contact| la: Application Aplicaia Microsoft Access. Da ANTAL Tiberiu Alexandru Control Da tel.: 0040-264-530918Control de pe suprafaa unui formular sau raport. e-mail: antaltiberiu@pcnet.ro Debug Fereastr| pentru afiarea imediat| a rezultatelor unei Nu proceduri. Form Formular sau subformular deschis. Da

271

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Forms Colecie de formulare Universitatea Tenhic| din Cluj-Napoca deschise. Facultatea Construcii de Maini Module Modul de formular sau raport. Catedra de Mecanic| i Programare Report Curs de baze de date Raport sau Access deschis. Microsoft subraport

Nu Nu Da

Reports Colecie de rapoarte deschise. Nu Copyright 2000. Toate drepturile sunt rezervate autorului. Screen Ecranul monitorului. Nu Multiplicarea acestui document n scop comercial este interzis|. Section Seciune de raport sau o colecie de seciuni. Nu Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Ierarhia obiectelor uzul personal. document pentru Microsoft Access se prezint| n figura care urmeaz|: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| Obiecte pentru accesul la date i Programare Curs de baze de date Microsoft Access Pe lng| obiectele definite de aplicaia Microsoft Access, motorul bazelor de date Microsoft Jet, definete obiecte pentru operaiile de gestionare a datelor din aplicaie. Aceste obiecte Copyright 2000. Toate drepturile sunt rezervate autorului. poart| denumirea de obiecte pentru accesul la date (Data Access Objects sau DAO) i pot fi folosite n procedurile VBA pentru a aciona asupra tabelelor sau datelor din tabele, Multiplicarea acestui document n scop comercial este interzis|. interog|rilor, relaiilor etc. din bazele de date. Tabelul care urmeaz| descrie obiectele de acces la date utilizate mai des, specificnd dac| pot s| participe sau nu ntr-o declaraie de variabil|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Nume obiect Descriere Poate fi un tip Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoaneobiect? doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Container Obiect care conine informaii despre alte obiecte Da scop m| putei contact| la: definite de Microsoft Access sau motorul Jet. ANTAL Tiberiu Alexandru de obiecte Container. Containers Colecie tel.: 0040-264-530918 Database Baza de date e-mail: antaltiberiu@pcnet.ro deschis|. Databases DoCmd Colecie a bazelor de date deschise. Obiect care definete aciuni care pot fi utilizate ntr-o macro procedur|. Nu Da Nu Nu

272

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Document Informaii ale motorului Jet al bazelor de date Universitatea Tenhic| din Cluj-Napoca Microsoft despre alte obiecte din baza de date. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Document. Documents Colecie de obiecte Curs de baze de date Microsoft Access Field Cmp al unui tabel, interogare, mulime de nregistr|ri, index rezervate Copyright 2000. Toate drepturile suntsau relaie. autorului. Fields Colecie de n scop comercial este tabel, Multiplicarea acestui document obiecte Field ale unui interzis|. interogare, mulime de nregistr|ri etc.

Da Nu Da Nu

Sudenii participaniParametru de interogare. la orice form| de nv||mnt superior bugetar pot Da multiplica acest Parameter document pentru uzul personal. Parameters Colecie de parametri de interogare. Nu Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare QueryDef Interogare salvat| n baza de date. Da pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: de interog|ri salvate n baza de date. QueryDefs Colecie Nu RecordSet Mulime ANTAL Tiberiu Alexandru de nregistr|ri definite printr-un tabel sau interogare. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro obiecte RecordSet. Recordsets Colecie de TableDef TableDefs User Tabel salvat n baza de date. Colecie de tabele salvate n baza de date. Da Nu Da Nu Da Nu Da Nu

Cont de utilizator n grupul de lucru curent al motorului Jet al bazelor de date. Conf. dr. ing. ANTAL Tiberiu Alexandru Users Colecie de obiecte Universitatea Tenhic| din Cluj-NapocaUser. Facultatea Construcii de Maini Workspace O sesiune activ| Catedra de Mecanic| i Programare a motorului Jet al bazelor de date. Curs de baze de dateColecie de Access Workspace. Microsoft obiecte Workspaces Copyright 2000. Toate drepturile sunt rezervate autorului. Ierarhia DAO este prezentat| n figura care urmeaz|.

Multiplicarea acestui document n scop comercial este interzis|. Cele dou| ierarhii prezentate pn| acum nu conin obiecte ci ceea ce n capitolul introductiv numeam clase, adic| prototipuri sau abloane de obiecte. Clasa este similar| cu tipul de dat| Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest i descrie caracteristicile unui obiect. Dac| scriem Dim x As Integer, Integer este document pentru uzul personal. tipul de dat|, iar variabila de acel tip este x, dac| scriem Dim spl As Workspace, clasa este Workspace, iar variabilaform| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice de acel tip este obiectul spl. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: tipului unui obiect de tipul Control Determinarea Dac| o variabil| este declarat| de tipul Control, dar nu este specificat un tip de obiect ANTAL Tiberiu Alexandru dorim determinarea tipului de control care este stocat n control concret este posibil s| tel.: 0040-264-530918 se va folosi o instruciune If...Then...Else cu sintaxa: variabil|. n acest scop e-mail: antaltiberiu@pcnet.ro {If|Else} TypeOf Variabil|Control Is TipControl Then Variabil|Control este numele unei variabile de tipul Control, iar argumetul TipControl poate fi unul dintre cuvintele rezervate: BoundObjectFrame, CheckBox, ComboBox,

273

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru CommandButton, Graph, Line, ListBox, UnboundObjectFrame, Universitatea Tenhic| din Cluj-Napoca OptionButton, OptionGroup, Rectangle, Subform, Subreport, TextBox, Facultatea Construcii de Maini ToggleButton, Label, PageBreak. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare n fereastra imediat| tipul unui control este: Un exemplu de procedur| care afieaz| Curs de baze de date Microsoft Access Sub DeterminaTipControl(VarControl As Control) Copyright 2000. Toate drepturile sunt rezervate autorului. If TypeOf VarControl Is CommandButton Then Multiplicarea Debug.Print "Controlul este de tipul " &E acestui document n scop comercial este interzis|. TypeName(MyControl) ElseIf TypeOf VarControl Is CheckBox bugetar Sudenii participani la orice form| de nv||mnt superiorThen pot multiplica acest Debug.Print "Controlul este de tipul " &E document pentru uzul personal. TypeName(VarControl) ElseIf TypeOf VarControl Is TextBox Then Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica Debug.Print "Controlul i cu acordul scris al " &E documentul numai contra cost este de tipul autorului. n acest scop m| putei contact| la: TypeName(VarControl) End If ANTAL Tiberiu Alexandru End Sub tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Atent ie n toate secventele de program care urmeaza simbolul 7

E este folosit pentru a marca o linie

274

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru care, datorita lungimii prea mari, nu a putut fi scrisa complet. Ea, pe hrtie, este continuata pe 7 7 7 Universitatea Tenhic| din Cluj-Napoca linia imediat urmatoare, de Maini -i scrie aceste program ele trebuie scrie pe o singura linie, 7 dar cnd vet 7 Facultatea Construcii n continuare celei carei Programare 7 Catedra de Mecanic| nu a ncaput. Curs de baze de date Microsoft Access

Unele propriet|i ale obiectelor folosite mai des Copyright 2000. Toate drepturile sunt rezervate autorului. Uneori dorim s| realiz|m modificarea atributelor unor obiecte din cauza unor condiii concrete ale aplicaiei. document n scop s| realiz|m ascunderea unui control de tipul text Multiplicarea acestui De exemplu, dorim comercial este interzis|. pentru c| din lipsa unor date afiate nu este cazul s| fie afiat pe suprafaa formularului deschis. participani la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii document pentru uzul personal.
Propriet|ile obiectului Screen
Propriet|ile obiectului Screen se folosesc la referirea plat| sau alte persoane doritoare Sudenii participani la orice form| de nv||mnt cubazei de date, formularului, raportului, controlului, care numai contra cost i cu acordul scris urmeaz|: pot multiplica documentulla momentul curent este activ, dup| cumal autorului. n acest scop m| putei contact| la: Proprietate ANTAL Tiberiu Alexandru Screen.ActiveDatasheet tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Screen.ActiveForm Screen.ActiveReport Screen.ActiveControl La cine se refer| Baza de date activ| curent|. Formularul curent activ. Raportul curent activ. Controlul unui formular care la momentul curent este activ.

Conf. dr. ing. ANTAL Tiberiu Alexandru n documentaia tehnic| original|, obiectul curent de interfa| cu utilizatorul care este activ se Universitatea Tenhic| din=Cluj-Napoca limba englez|). zice c| are focus-ul (focus focalizare n Facultatea Construcii de Maini Catedra de Mecanic| i Programare rapoartelor Propriet|i ale formularelor i Curs de baze de sau raport are o proprietate numit| Me (Eu) care reprezint| formularul sau Fiecare formular date Microsoft Access raportul nsui n codul care se execut|. Pentru a exploata aceast| proprietate pentru formulare Copyright 2000. Toate drepturile sunt rezervate autorului. trebuie s|: creai o procedur| public| care are un parametru de tipul Form i n care setai o Multiplicarea acestui document n scop comercial este interzis|. proprietate a formularului; apelai procedura cu argumentul Me pentru a modifica parametrul respectiv al Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest formularului curent. document pentru uzul personal. S| presupunem c| scriem o procedur| Sub pentru colorarea automata a sectiunii de detalii a 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare formularelor cnd acestea deschise: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Sub ColoreazaFormular (frm As Form) frm.Section(acDetail).BackColor = RGB(255,255,0) ANTAL Tiberiu Alexandru tel.: 0040-264-530918 End Sub e-mail: antaltiberiu@pcnet.ro Apelnd aceast| procedur| cu proprietatea Me n evenimentul Open (Deschidere) a formularului efectul va fi de modificare a culorii fondului formularului la verde (operatia nu se observa daca n locul culorii de fond formularul foloseste o imagine): 7 7 -

275

Obiecte n Visual Basic for Applications - cursul 11

Conf. Form_Open() Tiberiu Alexandru Sub dr. ing. ANTAL Universitatea Tenhic| din Cluj-Napoca ColoreazaFormular Me Facultatea Construcii de Maini Catedra de Mecanic| i Programare End Sub Curs de baze de date Microsoft Access Copyright 2000. Toate formularul sau raportul reprezentat de proprietatea Me este acelai cu n majoritatea cazurilor drepturile sunt rezervate autorului. cel reprezentat de propriet|ile ActiveForm sau ActiveReport ale obiectului Screen. Multiplicarea acestui document ni ActiveReport reprezint| formularul sau raportul Totui, propriet|ile ActiveForm scop comercial este interzis|. activ, iar proprietatea Me reprezint| formularul sau raportul al c|rui cod este n curs de Sudenii (atunci cnd folosii evenimentul Timer este posibil ca o procedur| a unui formular execuie participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. deschis s| fie activat| la momente de timp definite de programator, n timp ce pe ecran mai exist| un alt formular deschis i activ, adic| care comunic| cu utilizatorul) . Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

Colecii implicite

Gruparea obiectelor n colecii, ANTAL Tiberiu Alexandru a plecat n Access, de la ideea c| obiectele pot conine alte obiecte. Aceste leg|turi tel.: 0040-264-530918 sunt cele care creeaz| ierarhia de obiecte. De exemplu, o baz| de date conine antaltiberiu@pcnet.ro e-mail: obiecte tipul formular, obiectul formular conine la rndul lui obiecte de tipul control (cutie de text, seciune de detalii etc.). Obiectele de acelai tip coninute de alte obiecte sunt grupate n colecii. Coleciile pot fi privite asemenea unui tablou declarat automat de Access la ale c|rui elemente ne referim prin denumirea de element de colecie. Din moment ce o colecie este un obiect, aceasta are propriet|ile i metodele ei proprii. Multe obiecte au o colecie implicit| de obiecte care grupeaz| cele mai probabile obiecte ce vor fi folosite. De exemplu, Forms are o colecie implicit| de controale, iar Databases are o colecie Conf. dr.TableDefs. Tiberiu Alexandru de obiecte controale, ne referim la un astfel de implicit| ing. ANTAL Nu exist| o colecie Universitatea Tenhic| din Cluj-Napoca a formularului sau raportului. De exemplu, obiect ca la un membru al coleciei implicite Facultatea Construcii de Maini Forms![Clienti]![IDClient] se refer| la controlul IDClient al formularului Catedra de Mecanic| i Programare Clienti din colecia implicit| de controale a formularului. Cnd lucrai cu DAO coleciile Curs de baze de datepentru o scriere mai scurt| a obiectului de identificat, dei folosind implicite se pot folosi Microsoft Access aceast| scriere relaia dintre obiecte devine mai criptic|, de exemplu, o referire la tabelul Copyright 2000. Toate drepturile sunt rezervate autorului. TClienti se poate scrie astfel: DBEngine.Workspaces(0).Databases(0).TableDefs("TClienti") Multiplicarea acestui document n scop comercial este interzis|. sau Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest DBEngine(0)(0)!TClienti document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu n al doileaalte persoane doritoare n primul caz, elementele coleciilor sunt scrise explicit, plat| sau cunoscndu-se coleciile pot multiplica documentul numaicorespunz|toare. Tabelul care urmeaz| prezint| n acest implicite se trec numai index-urile contra cost i cu acordul scris al autorului. cteva scop m| putei contact| la: dintre obiectele Access i DAO mpreun| cu coleciile implicite: ANTAL Tiberiu AlexandruObiect tel.: 0040-264-530918Container e-mail: antaltiberiu@pcnet.ro Database DBEngine Form Colecie implicit| Documents TableDefs Workspaces Controls

276

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Index Fields Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini QueryDef Parametres Catedra de Mecanic| i Programare Fields Curs de baze de date RecordSet Microsoft Access Report Controls Copyright 2000. Toate drepturile sunt rezervate autorului. TableDef Fields Multiplicarea acestui document n scop comercial este interzis|. User Groups Sudenii participani Workspace de nv||mnt superior bugetar pot multiplica acest la orice form| Databases document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Propriet|i ale obiectelor i coleciilor pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Obiectele Forms, Reports scop m| putei contact| la: i DAO conin o colecie de obiecte proprietate (Property). De exemplu, procedura care urmeaz| parcurge ntr-un ciclu toate propriet|ile unui tabel din baza de date, afind n fereastra imediat| numele propriet|ii i valoarea ei, dac| exist|. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro deschidei baza de date Northwind; din fereastra bazei de date clic pe butonul Modules; clic pe butonul New pentru a crea un modul nou;

Crearea unei proceduri Sub

din meniul Insert selectai Procedure;

dai numele PropTabel procedurii Sub, acceptai toate celelalte set|ri implicite i Conf. dr. ing. ANTAL Tiberiu Alexandru clic pe OK; Universitatea Tenhic| din Cluj-Napoca urm|toarele linii formeaz| Facultatea Construcii de Mainiprocedura: Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Public Sub PropTabel(NumeTabel As String) Dim db As Database Copyright 2000. Toate drepturile sunt rezervate autorului. Dim tbd As TableDef Multiplicarea acestui document n scop comercial este interzis|. Dim i As Integer Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Set tbd = DBEngine.Workspaces(0).Databases(0).TableDefsE document pentru uzul personal. (NumeTabel) Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica = 0 To tbd.Properties.Count - 1 scris al autorului. n acest For i documentul numai contra cost i cu acordul scop m| putei contact| la: Debug.Print tbd.Properties(i).Name;E tbd.Properties(i).Value ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Next e-mail: antaltiberiu@pcnet.ro End Sub

din meniul View selectai Debug Window;

277

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. fereastra afiat| introducei numele procedurii de mai sus mpreun| cu numele unui n ing. ANTAL Tiberiu Alexandru Universitatea de date, de exemplu Orders sub forma PropTabel "Orders": tabel din baza Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

la ap|sarea tastei Enter procedura va fi lansat| n execuie, iar rezultatle se vor afia sub linia PropTabel "Orders". Conf. dr. ing. ANTAL Tiberiu Alexandru Pentru crearea unei proceduri Sub care s| afieze propriet|ile unui formular creai procedura: Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Public Sub PropFormular(NumeFormular As String) Curs de baze de date Microsoft Access Dim db As Database Copyright 2000. Toate drepturile sunt rezervate autorului. Dim frm As Form Dim i acestui document n scop comercial este interzis|. Multiplicarea As Integer Set frm = Forms(NumeFormular) Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. For i = 0 To frm.Properties.Count - 1 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Debug.Print frm.Properties(i).Name;E pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest frm.Properties(i).Value scop m| putei contact| la: Next ANTAL Tiberiu Alexandru End 0040-264-530918 tel.: Sub e-mail: antaltiberiu@pcnet.ro Pentru exemplificarea parcurgerii unei colecii de obiecte prezint n continuare aceeai procedur| scris| folosind For Each...Next:

278

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Public Sub PropFormular(NumeFormular As String) Universitatea Tenhic| din Cluj-Napoca Dim prp As Property Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access For Each prp In Forms(NumeFormular).Properties Copyright 2000. Toate drepturile sunt rezervate autorului. Debug.Print prp.Name; prp.Value Next Multiplicarea acestui document n scop comercial este interzis|. End Sub Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Observai c| se folosete colecia Forms care conine numai formularele deschise ale bazei SudeniiDin acest motiv, orice form|procedurii PropFromular trebuie s| fie un nume de de date. participani la argumentul de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest formular care este deschis. Pentru ca s| putei deschide formularul Customer Orders din scop m| putei contact| la: meniul Window selectai Northwind: Database. Clic pe butonul Forms din fereastra bazei de date, apoi clic dublu pe numele formularului Customer Orders i formularul va fi deschis. ANTAL TiberiuWindows revenii pe fereastra Debug Window, apoi lansai n execuie Folosind meniul Alexandru tel.: 0040-264-530918 procedura scriind PropFormular "Customer Orders". Fereastra Debug Window e-mail: antaltiberiu@pcnet.ro permite afiarea imediat| a valorilor unor variabile din procedurile aplicaiei. Figura care urmeaz| prezint| cele patru ferestre care au fost parcurse folosind meniul Windows pentru a deschide un formular. Este posibil s| avei deschise mai multe formulare la un moment dat, n acelai timp putei avea mai multe module deschise ntre care putei comuta folosind meniul Windows. Meniul va conine numele tuturor obiectelor Access din fereastra bazei de date care sunt deschise, indiferent de modul lor de vizualizare (foaie de date, proiectare, formular etc.). Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Obiectele Container i Document Catedra de Mecanic| i Programare Informaiile legate de Microsoft Access Curs de baze de datebaza de date curent| i toate obiectele ei sunt stocate de Access n obiectele Container i Document. Acestea pot fi folosite pentru enumerarea obiectelor stocate n baza de date, drepturile proprietarului (ownership), Copyright 2000. Toatemodificarea sunt rezervate autorului. obiectelor sau a drepturilor de acces ale utilizatorilor (user permission) la obiectele din baza de date. Fiecare baz| de date conine o acestui document n scop comercial este Container. Unele dintre aceste Multiplicareacolecie Containers format| din obiecteinterzis|. obiecte sunt definite de Access, altele de motorul Jet al bazelor de date Access: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Obiect Container Definit de Se refer| la Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Databases Motorul Jet Baza de cu curent|. pot multiplica documentul numai contra cost idateacordul scris al autorului. n acest scop m| putei contact| la: Forms Access Formularele salvate n baza de date curent|. Modules ANTAL Tiberiu Alexandru Access tel.: 0040-264-530918 Relationships Motorul e-mail: antaltiberiu@pcnet.ro Jet Reports Access Scripts Access Modulele salvate n baza de date curent|. Relaii ntre tabele salvate n baza de date curent|. Rapoartele salvate n baza de date curent|. Macro-urile salvate n baza de date curent|.

279

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Tables Motorul Jet Universitatea Tenhic| din Cluj-NapocaTabelele i interog|rile salvate n baza de date curent|. Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoftobiect salvat sunt coninute n obiectul Container care are Informaiile individuale ale unui Access o colecie Documents. Fiecare obiect Document din colecia Documents stocheaz| Copyrightdespre un obiect individual. De exemplu,autorului. informaii 2000. Toate drepturile sunt rezervate obiectul Container pentru obiectele Forms are o colecie Documents care include cte un obiect Document pentru fiecare Multiplicarea acestui document n scop comercial este interzis|. obiect salvat n baza de date. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. obiectul Container pentru obiectele Forms i colecia Nota: Dei folosesc acelai nume, 7 Forms sunt obiecte distincte. n primul caz g|sim numai informaii legate de formularele Sudenii participaniobiectele form| de nv||mnt cuconine obiectele de tipul doritoare salvate f|r| a conine la orice n sine. Colecia Forms plat| sau alte persoane Form pot multiplica documentul numai contra cost iDocuments pentru autorului. titlul unui deschise. De exemplu, nu se poate folosi obiectul cu acordul scris al a modifica n acest scop m| putei contact|trebuie s| ne referim direct la obiect prin colecia Forms. Procedura formular, pentru aceasta la: care urmeaz| afieaz| toate obiectele i propriet|ile acestora din colecia Containers ale ANTAL Tiberiu Alexandru bazei de date curente: tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Public Sub AfisarePropContainere() Dim db As Database

280

Obiecte n Visual Basic for Applications - cursul 11

Conf. Diming. ANTAL Tiberiu Alexandru dr. ctr As Container Universitatea Tenhic| din Cluj-Napoca Dim prp As Property Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Set db = CurrentDb() Copyright 2000. Toate drepturile sunt rezervate autorului. For Each ctr In db.Containers Multiplicarea acestui document n scop comercial este interzis|. Debug.Print "Nume container:" & ctr.Name Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Debug.Print " Proprietati:" document pentru uzul personal. For Each prp In ctr.Properties Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Debug.Print " " & prp.Name & " = "; prp pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Next prp scop m| putei contact| la: Next ctr ANTAL Tiberiu Alexandru db.Close tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro End Sub

Procedura care urmeaz| afieaz| toate formularele salvate n baza de date curent|: Public Sub AfisareToateFormdinBazadeDate() Conf. dr. ing. ANTAL Tiberiu Alexandru Dim db As Database Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dim con As Container Catedra de Mecanic| i Programare Dim doc As Document Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Set db = CurrentDb() Set con = db.Containers("Forms") Multiplicarea acestui document n scop comercial este interzis|. For Each doc In con.Documents Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentruDebug.Print doc.Name uzul personal. Next doc Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare db.Close pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: End Sub ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Evenimente e-mail: antaltiberiu@pcnet.ro tii deja c| Access-ul folosete modelul orientat pe evenimente pentru interaciunea cu utilizatorul. n acest scop, obiectele Access r|spund la urm|toarele tipuri de evenimente:

281

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru ap|sarea de c|tre utilizator a unei taste; Universitatea Tenhic| din Cluj-Napoca primirea sau pierderea focaliz|rii (focus); Facultatea Construcii de Maini deschiderea, nchiderea sau redimensionarea formularelor; Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access formatarea sau tip|rirea rapoartelor; apariia unor erori. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial estecazul unor obiecte cu Access-ul r|spunde automat la evenimentele care apar n interzis|. comportament specific i predefinit. De exemplu, n cazul unei cutii de text, se verific| Sudeniidac| modific|rile aduse datelor sunt corecte, adic| conform regulilor de validare. Am automat participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentruproceduri de evenimente, n figura care urmeaz| se prezint| un obiect vorbit deja despre uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access formular, n ferestra propriet|ilor (din dreapta) observai propriet|ile de eveniment specifice Copyright 2000. Toate drepturile sunt rezervate autorului. acestui obiect. Comportamentul unui obiect se poatescop comercial este interzis|. Multiplicarea acestui document n defini prin procedurile de evenimente pentru cazul apariiei unui eveniment la care obiectul ar putea reaciona (r|spunde). n cazul apariiei unui eveniment care este afiatorice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani la n lista propriet|ilor obiectului r|spunsul este determinat astfel: document pentru uzul personal. dac| numele propriet|ii eveniment nu este specificat, Access-ul r|spunde prin lansarea procedurilor specifice obiectului (verific|ri ale corectitudinii de scriere sau de Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ncadrare ntr-un domeniu de valori); pot multiplica documentul numai contra cost iunui nume de macro,autorului. execut| dac| numele specificat n list| corespunde cu acordul scris al Access-ul n acest scop m| putei contact| la: macro-ul respectiv; dac| numele propriet|ii ANTAL Tiberiu Alexandru de eveniment este [Event Procedure], Access-ul execut| procedura de eveniment corespunz|toare. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro
Specificarea unei proceduri de eveniment

deschidei baza de date Northwind;

vizualizai formularul Customer Labels Dialog n mod proiectare;

282

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru clic oriunde n afara suprafeei formularului, apoi clic pe butonul drept al mouse-ului Universitatea Tenhic| din Cluj-Napoca propriet|ilor obiectului formular; i selectai Properties pentru afiarea listei Facultatea Construcii de Maini clic Mecanic| i Programare Catedra depe butonul Event pentru afiarea numai a propriet|ilor de eveniment specifice obiectului curent; date Microsoft Access Curs de baze de clic pe cmpul din dreapta lui On Open, apoi clic pe s|geata n jos i selectai [Event Procedure]; Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. dreapta lui OnTiberiu Alexandru[Event Procedure], pentru nceperea n ing. ANTAL Open apare textul Universitatea Tenhic| din Cluj-Napoca edit|rii procedurii de eveniment corespunz|toare evenimentului On Open, care apare la Facultatea Construcii de Maini deschiderea formularului, clic pe butonul din dreapta cu trei puncte. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTALprocedurii de eveniment este dat conform conveniei deja cunoscute, utilizatorul va Numele Tiberiu Alexandru tel.: 0040-264-530918 introduce codul dorit ntre liniile Private Sub Form_Open ... i End Sub. Este e-mail:ca Access-ul s| apeleze o funcie definit| de utilizator ca r|spuns la apariia unui posibil antaltiberiu@pcnet.ro eveniment, n acest caz n locul textului [Event Procedure] se va introduce semnul = urmat de numele procedurii funcie.

283

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Tipuri Universitatea Tenhic| din Cluj-Napocade evenimente Facultatea Construcii deruleaz| o operaie cu un obiect, Access-ul lanseaz| o secven| de Atunci cnd utilizatorul de Maini Catedra de Mecanic| i Programare evenimente. De exemplu, cnd se deschide un formular evenimentele care apar sunt: Open, Cursi Activate. Se observ| c| o singur| operaie, cum ar fi deschiderea unui formular, se Load de baze de date Microsoft Access traduce ntr-o secven| de evenimente, n timpul c|rora programatorul poate lua anumite Copyright exemplu, la apariia evenimentului Open autorului. decizii. De 2000. Toate drepturile sunt rezervate se poate nchide o alt| fereastr| deschis|, iar nainte ca formularul s| devin| activ, se poate afia o bar| de instrumente specific| lui. O Multiplicarea acestui document nde exemplu, se poate anula deschiderea unui formular parte din evenimente pot fi anulate, scop comercial este interzis|. dac| anumite condiii nu sunt ndeplinite. Tipurile de evenimente tratate de Access sunt: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Tip eveniment Nume Apare cnd Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare de fereast| Utilizatorul autorului. n acest pot multiplica documentul numai contra cost i cu acordul scris alrealizeaz| o aciune cu Close, Load, Open, Resize, Unload formularul sau raportul. scop m| putei contact| la: de focalizare Activate, Deactivate, Enter, Exit, ANTAL Tiberiu Alexandru GotFocus, LostFocus tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro de date AfteDelConfirm, AfterInsert, AfterUpdate, BeforeDelConfirm, BeforeInsert, BeforeUpdate, Change, Current, Delete, NotInList, Update de mouse Clic, DblClick, MouseDown, Conf. dr. ing. ANTAL Tiberiu MouseUp MouseMove, Alexandru Universitatea Tenhic| din Cluj-Napoca de tastatur| KeyDown, KeyPressed, KeyUp Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Obiectul primete sau pierde focalizarea sau devine activ respectiv inactiv. Se fac modific|ri ale datelor sau nregistr|rilor.

Apare o aciune cu mouse-ul. Utilizatorul apas| taste sau folosete funcia SendKeys pentru transmiterea unei aciuni.

de tip|rire Un raport este tip|rit sau este Format, Print, Retreat Copyright 2000. Toate drepturile sunt rezervate autorului. formatat n vederea tip|ririi. Multiplicarea acestui document n scop comercial este Generat de Access la intervale de interzis|. de ceas Timer timp definite de utilizator. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest de eroare Generat de Access dac| a ap|rut o Error document pentru uzul personal. eroare n procedurile Access. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Evenimente specifice formularelor i controalelor
Deschiderea ANTAL Tiberiu Alexandru control unui form ular tel.: 0040-264-530918

Dac| deschidei un formular care conine un control activ, adic| un care poate primi focalizarea, urm|toarele evenimente sunt declanate n formular: Open - Load - Resize - Activate - Current. e-mail: antaltiberiu@pcnet.ro Dac| nu exist| un control activ, Access-ul declaneaz| i evenimentul GotFocus ntre evenimentele Activate i Current.

284 nchiderea unui Universitatea Tenhic|evenimente declanate din Cluj-Napoca formular

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTALDac| se nchide un formular care are un control activ, secvena de Tiberiu Alexandru de Access este: Unload - Deactivate - Close. Facultatea Construcii de Maini controale active n formular, Access-ul declaneaz| i Dac| nu sunt Catedra de Mecanic| evenimentul LostFocus ntre evenimentele Unload i Deactivate. i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt un formular care conine unul sau mai multe Cnd se deschide rezervate autorului. controale active secvena de evenimente declanate este: Enter Multiplicarea acestui GotFocus i n scop comercial este interzis|. Current ale formularului. document apar ntre evenimentele Activate i Evenimentele apar cnd controlul primete focalizarea prima oar|. Sudeniicomut| pe un alt orice form|se revine pe acelai control al formularului, Access-ul Dac| se participani la formular i de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. declaneaz| numai evenimentul GotFocus pentru control.

Intrarea ntr-un control

Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare La ieirea dintr-un control, cu acordul scris al autorului. altui pot multiplica documentul numai contra cost i de exemplu prin selectarea unui n acest Ies irea dintr-un control, urm|toarea secvena de evenimente este declanat|: Exit scop m| control putei contact| la: LostFocus ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Dac| se e-mail: antaltiberiu@pcnet.rocomut| ntre dou| formulare deschise care conin controale Com utarea ntre active, Access-ul declaneaz| evenimentele Deactivate i Activate ale doua formulare 7 primului formular (F1), de pe care se comut| i ale celui de al doilea deschise (F2), pe care se comut| astfel: Deactivate(F1) - Activate(F2). Dac| nu exist| controale active pe formulare, ordinea declan|rii evenimentelor este: LostFocus(F1) - Deactivate(F1) - GotFocus(F2) - Activate(F2). Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Evenimente de date Facultatea Construcii de Maini Evenimente de date apar cnd se modific| datele sau nregistr|rile din baza de date. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Cnd se modific| textul dintr-un control de tipul Text Box sau Combo Modificarea unui Copyright 2000. Toate drepturile sunt rezervate autorului. la fiecare modificare a Box apare evenimentul Change. El apare text ntr-un Text coninutului controlului i nainte de trecerea pe un alt control sau Box sau Combo Multiplicarea acestui nregistrare. De exemplu, ntr-un Text Box pentru fiecare introducere document n scop comercial este interzis|. Box sau tergere a unui caracter apare secvena de evenimente: KeyDown Sudenii participani la orice form|Change - KeyUp. superior bugetar pot multiplica acest KeyPressed - de nv||mnt Evenimentul Change nu apare dac| document pentru uzul personal. calculat. valoarea se modific| ntr-un control Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scrisprin deplasarean acest Cnd se actualizeaz| datele ntr-un control al autorului. pe un alt Actualizarea scop m| putei contact|control al formularului se declaneaz| evenimentele BeforeUpdate la: datelor ntr-un nainte de remprosp|tarea controlului i AfterUpdate dup| control sau ANTAL Tiberiu Alexandru ntregistrare remprosp|tarea controlului. De exemplu, dac| se remprosp|teaz| tel.: 0040-264-530918 datele dintr-un Text Box (TB1) prin inserarea unui caracter, apoi se e-mail: antaltiberiu@pcnet.ro pe un Text Box (TB2), Access-ul declaneaz| secvena de face clic evenimente: KeyDown - KeyPressed - Change - KeyUp - BeforeUpdate - AfterUpdate Exit(TB1) - LostFocus(TB1) - Enter(TB2) - GotFocus(TB2).

285

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing.actualizarea controlului se face prin deplasarea pe o alt| nregistrare sau prin n cazul cnd ANTAL Tiberiu Alexandru Universitatea Tenhic| din din meniul File, apar evenimentele BeforeUpdate i AfterUpdate att selectarea lui Save Record Cluj-Napoca Facultatea Construcii de formular. De exemplu, dac| se adaug| un caracter ntr-un Text pentru control ct i pentru Maini Catedra de selectai SaveProgramare Box i apoi Mecanic| i Record, secvena de evenimente care apare este: KeyDown Curs de baze Change - KeyUp - BeforeUpdate(TB) - AfterUpdate(TB)- BeforeUpdate(F) KeyPressed - de date Microsoft Access AfterUpdate(F). Copyright 2000. Toate drepturile sunt rezervate autorului.
Inserarea unei nregistrari

Multiplicarea acestui La introducerea de date ntr-o nregistrare nou|, Access-ul declaneaz| document n scop comercial este interzis|. evenimentul BeforeInsert cnd se introduc date prima oar| n Sudenii participani la orice form|apoinv||mnt superior bugetarnregistrarea se acest nregistrare i de evenimentul AfterInsert cnd pot multiplica document pentru uzulsalveaz|. S| presupunem c| se introduc date ntr-o nregistrare nou| a personal. formularului F, ncepnd cu cmpul TB1. La introducerea primului caracter n TB1 secvena Sudenii participani la orice form| de nv||mnt cu plat| sau - BeforeInsert(F) de evenimente declanate este: KeyDown(TB1) - KeyPressed(TB1) alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Change(TB1) - KeyUp(TB1). scop m| putei contact| la: ANTAL Tiberiu Alexandru Dac| acum ne deplas|m, folosind mouse-ul, de pe un cmp TB1 pe unul TB2, secvena tel.: 0040-264-530918 este: BeforeUpdate(TB1) - AfterUpdate(TB1) - Exit(TB1) evenimentelor declanate e-mail: antaltiberiu@pcnet.ro GotFocus(TB2) - MouseDown(TB2) - MouseUp(TB2) LostFocus(TB1) - Enter(TB2) Click(TB2) - KeyDown(TB2) - KeyPressed(TB2) - Change(TB2) - KeyUp(TB2). Avnd focalizarea pe TB2, cnd se trece la salvarea nregistr|rii cu Save Record din meniul File, secvena evenimentelor declanate este: BeforeUpdate(TB2) - AfterUpdate(TB2) AfterUpdate(F) - AfterInsert(F). Conf. dr. ing. ANTAL Tiberiu Alexandru La selectarea unei nregistr|ri pentru tergere prin ap|sarea tastei Del evenimentul Delete. Dac| evenimentul nu este anulat, se declaneaz| i evenimentele BeforeDelConfirm i Catedra de Mecanic| i Programare AfterDelConfirm. Secvenele declanate sunt n ordinea: Delete - Current Curs de baze de date Microsoft Access - BeforeDelConfirm se afieaz| fereastra de dialog: Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: apoi se declaneaz| evenimentul AfterDelConfirm dac| n fereastra de mai sus s-a ap|sat butonul Yes. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.roderanjant|, este posibil| evitarea afi|rii acesteia. O procedur| Dac| confirmarea tergerii este de eveniment BeforeDelConfirm are dou| argumente, Cancel i Response: Private Sub Form_BeforeDelConfirm(Cancel As Integer, ResponseE

SUniversitatea Tenhic| din Cluj-Napoca , tergerea unei Access-ul declaneaz| nregistra riConstrucii de Maini 7 Facultatea

286

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru As Integer) Universitatea Tenhic| din Cluj-Napoca . . . Facultatea Construcii de Maini Cancel = True Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Response=AacDataErrContinue Copyright 2000. Toate drepturile sunt rezervate autorului. End Sub Multiplicarea acestui document n scop comercial este interzis|. Setarea valorii Cancel la True face ca procedura s| fie anulat| i tergerea s| fie evitat|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Aceasta este posibil pentru c| nainte de tergerea efectiv|, datele terse se mut| ntr-o zon| document pentru uzul personal. temporar| de memorie n care sunt p|strate pn| la confirmarea tergerii. Dac| evenimentul BeforeDelConfirm este anulat, datele sunt ref|cute din aceast| zon| temporar|. Pentru evitarea Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare afi|rii ferestreidocumentul numai contra cost isetaacordul scris al autorului.valoarea pot multiplica de confirmare a tergerii se poate cu parametrul Response la n acest acDataErrContinue. scop m| putei contact| la: ANTAL Tiberiude eveniment cu parametri care prin valori atribuite n corpul lor pot Exist| proceduri Alexandru tel.: 0040-264-530918 modifica secvena de prelucrare a evenimentelor care urmeaz| dup| procedura n cauz|. Cele e-mail: antaltiberiu@pcnet.ro mai frecvente cazuri sunt cnd dorim s| anul|m un eveniment asociat unei proceduri de eveniment. Urm|toarele evenimente fac parte din categoria celor care pot fi anulate: BeforeDelConfirm, BeforeInsert, BeforeUpdate, DblClick, Delete, Error, Exit, Format, Open, Print, Unload.

Evenimente implicite Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| sunt Cluj-Napoca pentru anumite aciuni c|rora le corespunde un Unele tipuri de obiecte din folosite mai des Facultateaspecific. De exemplu, un obiect buton va fi cel mai des ap|sat, aciunea de ap|sare eveniment Construcii de Maini Catedra de evenimentul Click. Pentru a simplifica scrierea procedurilor de evenimente s-au va declana Mecanic| i Programare Curs de baze de date Microsoft Access un control, dac| acesta este selectat i ap|sai definit evenimente implicite. Cnd creai butonul din dreapta al mouse-ului, vei vedea un buton Build Event, dac| din lista afiat| Copyright 2000. Toate Access-ul va crea automat procedura de eveniment corespunz|toare selectai Code Builder, drepturile sunt rezervate autorului. evenimentului implicit al controlului. Tabelul care urmeaz| prezint| lista evenimentelor Multiplicarea acestui document n scop comercial este interzis|. implicite ale obiectelor Access:
Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Obiect Eveniment implicit Bound Object form| Update Sudenii participani la orice Framede nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Check Box Click scop m| putei contact| la: Combo Box BeforeUpdate ANTAL Tiberiu Alexandru Command Click tel.: 0040-264-530918 Button e-mail: antaltiberiu@pcnet.ro Form Load Graph Label Update Click

287

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru List Box Universitatea Tenhic| din Cluj-Napoca FacultateaOption Button Construcii de Maini Catedra de Mecanic| i Programare Option Microsoft Access Curs de baze de dateGroup

BeforeUpdate Click BeforeUpdate

Click Copyright Rectangledrepturile sunt rezervate autorului. 2000. Toate Report Open Multiplicarea acestui document n scop comercial este interzis|. Section Format Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Subform Enter document pentru uzul personal. Text Box BeforeUpdate Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Toggle Button pot multiplica documentul numai contra costClick acordul scris al autorului. n acest i cu scop m| putei contact| la: Unbound Object Frame Update ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Erori i proceduri de tratare a erorilor n scrierea unei aplicaii Access pot s| intervin| trei tipuri de erori: erori de compilare: apar ca urmare a scrierii incorecte a unor instruciuni din proceduri. Limbajul VBA detecteaz| aceste erori n timpul compil|rii de exemplu, prin folosirea opiunii Compile All Modules din meniul Debug (acest meniu este afiat cnd vizualiz|m n mod proiectare orice modul al aplicaiei Access). O alt| metod| care asigur| detectarea imediat| a erorilor de Alexandru Conf. dr. ing. ANTAL Tiberiu sintax| este selectarea din Tools, Options, Module a opiunii Auto Tenhic| din Cluj-Napoca UniversitateaSyntax Check. Aceast| opiune controleaz| momentul n care VBA va raporta erorile de sintax|. Cnd de Maini Facultatea Construcii opiunea este validat|, VBA-ul va afia mesajul de eroare ntr-o fereastr| de Mecanic| i Programare Catedra de dialog imediat cum se p|r|sete linia care conine eroarea de sintaxa n timpul fazei de baze a date Microsoft Access Curs de crearedeprocedurii; erori n timpul execuiei aplicaiei: apar din cauz| c| Access-ul nu poate executa o Copyright 2000. Toate drepturile sunteste cel al mp|ririi cu zero. VBA nu poate executa anumit| instruciune, un exemplu clasic rezervate autorului. operaia de mp|rire dac| mp|ritorul unei expresii ia valoarea 0; Multiplicarea acestui document n scop comercial este interzis|. erori logice: sunt erori care apar datorit| scrierii unor secvene de intruciuni corecte sintactic i care pot fi executateform| de nv||mnt superior bugetar potpentru care produc Sudenii participani la orice de VBA, dar care logic sunt invalide motiv multiplica acest rezultate incorecte.uzul personal. document pentru Aceste tip de erori pot fi scoase numai prin analiza atent| a rezultatelor mpreun| cu codul care le produce. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Instrumente contact| la: scop m| putei pentru depanare (Debugging tools) Instrumentele pentru depanare au rolul de a uura analiza funcion|rii codului VBA i depistarea erorilor pe timpul ANTAL Tiberiu Alexandruexecuiei aplicaiilor Access. Depanarea programelor este mult uurat| dac| se respect| tel.: 0040-264-530918 urm|toarele reguli: e-mail:aplicaia va fi divizat| n proceduri de tipul Sub i Function cu rol clar, fiecare avnd antaltiberiu@pcnet.ro nume corespunz|toare aciunii pe care o realizeaz| i comentarii care descriu modul de operare a procedurii mpreun| cu rolul fiec|rui parametru. n VBA, o linie comentariu ncepe prin caracterul ' (apostrof) sau cu textul REM urmat de un spaiu i textul comentariului, iat| cteva exemple:

288

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca '************************************************************* Facultatea Construcii de Maini Rem * NumeTabel i Programare de caractere care contine * Catedra de Mecanic| este un sir Rem * baze de tabelului ale Curs de numeledate Microsoft Accesscarui proprietati vor fi afisate * Copyright 2000. Toate drepturile sunt rezervate autorului. folosii instruciunea Option Explicit n seciunea declaraiilor pentru fiecare modul. Ea foreaz| folosirea declaraiilor explicite pentru varibilele modulului n care apare. Multiplicarea acestui document n scop comercial este interzis|. Una din sursele de erori comune este scrierea greit| a numelor de variabile. Dac| se folosete Option Explicit un mesaj de eroare va fi dat la scrierea unui astfel de nume de Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest variabile; document pentru uzul personal. examinai funcionarea codului n vederea depist|rii instruciunilor cu probleme prin Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

folosirea punctelor de ntrerupere (Breakponit) care suspend| temporar execuia codului; folosii fereastra pentru depanare (Debug Window) n vederea examin|rii valorilor Conf. dr. ing. i expresii cnd codul este suspendat din funcionare. unor variabile ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Atunci cndConstrucii de Maini cu intrumente ia forma din figura anterioar|. Facultatea lucrai cu module, bara Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access problema de depanat apare la o anumit| Dac| suspectai c| instruciune din cod este posibil| suspendarea execuiei codului la Toate drepturile sunt rezervate autorului. folosirea punctelor de atingerea unei instruciuni. VBA permite ntrerupere sau a instruciunii Stop n acest scop. La folosirea unui Multiplicarea acestui punct de ntrerupere trebuie s|este interzis|. document n scop comercial poziionai cursorul pe o instruciune executabil|, apoi clic pe pictograma (Toggle Breakpoint) i instruciunea va fi marcat| Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Suspend area execut iei unei Copyright 2000. proceduri

289

Obiecte n Visual Basic for Applications - cursul 11

Conf.figura urm|toare. Tiberiu Alexandru ca n dr. ing. ANTAL Universitatea Tenhic| din Cluj-Napoca Scoaterea unui punct de de Maini se face prin poziionarea pe instruciunea marcat|, apoi Facultatea Construcii ntrerupere clic pe aceeai pictogram|. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Cazurile de mai sus au fost ntreruperi executate voit de programator, dar VBA va suspenda Copyright 2000.i n cazul n care apare o eroare la autorului. execuia codului Toate drepturile sunt rezervate execuia unei instruciuni, acestea se numesc erori n execuie. Multiplicarea acestui document n scop comercial este interzis|. Not|: Utilizatorul poate orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani lantrerupe de la tastatur| execuia unui cod prin combinaia de taste document pentru uzul personal. poriune de program care a intrat ntr-un ciclu infinit. Ctrl+Break, de exemplu pentru o Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dac| eroarea a fost descoperit| i am f|cut modific|ri acordul scris evitarea ei se poate s| pot multiplica documentul numai contra cost i cu n cod pentru al autorului. n acest dorim s| putei contact| la: stocate n variabilele codului. Pentru aceasta se poate selecta scop m| actualiz|m valorile pictograma Reset, ca urmare toate variabilele numerice i pierd valoarea actual| i vor fi resetate la valoarea 0, variabilele de tipul Variant primesc valoarea Empty, irurile cu ANTAL Tiberiu Alexandru lungime variabil| valoarea "" iar cele cu lungime fix| sunt iniializate cu valoarea ASCII 0. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Execuia pas cu pas a procedurilor (Stepping)


Execuia pas cu pas este procesul de execuie a unei singure instruciuni din cod, sub controlul utilizatorului, pentru vizualizarea modific|rilor aduse de aceasta variabilelor sau obiectelor din baza de date. Pentru execuia pas cu pas a codului se va folosi pictograma (Step Into), VBA va executa instruciunea curent| i avanseaz| automat la urm|toarea dup| care Conf. dr. execuia codului. Este posibil ca uneori s| fim siguri de funcionarea corect| a unei suspend| ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca pas cu pas, n acest caz folosim pictograma proceduri i s| dorim evitarea execut|rii ei Facultatea Construcii de Maini (Step Over). Acest mod de execuie este identic cu cel al lui Step Into cu excepia c| n cazul Catedra de Mecanic| i Programare n care instruciunea de executat este o procedur|, nu se intr| n ea i se execut| pas cu pas Curs de baze de date Microsoft Access toate instruciunile ei, ci procedura se execut| "dintr-o bucat|" ca o singur| instruciune dup| care se trece la urm|toarea instruciune din cod. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestuiDepanaren scop comercial este interzis|. Fereastra pentru document Cnd se creeaz| i testeaz| procedurile VBA este posibil s| dorii vizualizarea valorilor acest Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica unor expresii, variabile, uzul personal. cmpuri. Pentru acest scop a fost creat| fereastra pentru document pentru propriet|i sau depanare (Debug Window). Deschiderea ei se face prin clic pe pictograma , iar pe lng| vizualizarea valorilor la orice form| de anterior se pot plat| procedurile de tipul Sub sau Sudenii participanide obiecte descrise nv||mnt cutesta isau alte persoane doritoare Function apelndu-le direct numai contra cost a vizualiza valorile unui obiect trebuie s| ne pot multiplica documentul din aceasta. Pentru i cu acordul scris al autorului. n acest poziion|m pe contact| la: scop m| puteinumele acestuia, de exemplu prin folosirea mouse-ului, apoi clic pe pictograma (Quick Watch). n fereastra care urmeaz| s-a folosit aceast| procedur| pentru dou| ANTALun nume de variabil| (pi) i un nume de parametru (R). De asemenea, linia de obiecte, Tiberiu Alexandru tel.: 0040-264-530918= pi * R ^ 2 a fost marcat| cu un punct de ntrerupere. Procedura program ArieCerc e-mail: antaltiberiu@pcnet.ro ArieCerc va fi lansat| n execuie din fereastra de depanare prin linia ?ArieCerc(5) dup| care se apas| tasta Enter. Caracterul ? este o form| prescurtat| pentru instruciunea Debug.Print folosit| pentru afiarea valorii unei variabile n ferestra imediat| (Immediate Window - partea de jos a ferestrei de depanare). n codul VBA, Debug.Print se poate folosi pentru afiarea unor valori n fereastra imediat|. Fereastra de depanare nu se deschide

290

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru automat la ntlnirea unei instruciuni Debug.Print n cod, aceasta trebuie deschis| de Universitatea Tenhic| din Cluj-Napoca nu vor fi v|zute. c|tre utilizator, altfel, valorile scrise n ea Facultatea Construcii de Maini Catedra de Mecanic| i Programare Valoarea funciei va fi afiat| numai dac| Curs de baze de date Microsoft Access programul ntrerupt este continuat n execuie pn| la cap|t prin selectatrea pictogramei (Go/Continue). Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Depanarea de date Microsoft Access Curs de baze procedurilor de evenimente Unele evenimente care in de sistemul de operare Microsoft Windows pot pune probleme la Copyrightunor proceduri de eveniment VBA pe care le declaneaz|. Uneori este necesar s| depanarea 2000. Toate drepturile sunt rezervate autorului. modificai valorile pe care le iau anumite variabile legate de evenimente pentru ca depanarea Multiplicarea acestui document n scop comercial este interzis|. s| se poate realiza. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Dac| suspendai execuia unei proceduri MouseDown, prin folosirea unui punct de ntrerupere, document pentru uzul personal. putei elibera butonul mouse-ului sau s| folosii mouse-ul pentru anumite aciuni. Dar, cnd vei continua execuia procedurii, aplicaia va presupune plat| sau alte persoane doritoare Sudenii participani la orice form| de nv||mnt cu c| butonul mouse-ului este nc| ap|sat. Evenimentul MouseUp va apare numai cndcu acordul scris al autorului. n eliberat pot multiplica documentul numai contra cost i butonul mouse-ului este ap|sat i acest din nou. putei contact| nou scop m| Cnd ap|sai dinla: butonul mouse-ului dup| continuarea execuie programului, evenimentul MouseDown este ntrerupt din nou din cauza punctului de ntrerupere, astfel, conform Tiberiu Alexandru ANTAL acestui scenariu evenimentul MouseUp nu apare. Soluia este scoaterea punctului de ntrerupere. Problema tel.: 0040-264-530918este similar| la KeyDown i KeyUp. e-mail: antaltiberiu@pcnet.ro Suspendarea execuiei n timpul evenimentelor GotFocus sau LostFocus poate conduce la apariia unor mesaje inconsistente, evitarea situaiei f|cndu-se prin folosirea lui Debug.Print pe locul punctului de ntrerupere.

291

Obiecte n Visual Basic for Applications - cursul 11

Conf. dr. ing. ANTAL Tiberiu Alexandru Aplicatie Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

292

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 12 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Dupa parcurgerea acestui curs veti cunoaste: 7 Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. ! cum se trateaz| erorile n VBA; ! Multiplicareainstruciunile On Error cu formele ei pentru tratarea erorilor i acestui document n scop comercial este interzis|. instruciunea Resume Next revenirea din codul de tratare a erorilor; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ! ce este obiectul Err; document pentru uzul personal. ! instruciunile de baza ale limbajului SQL: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare - SELECT pentru selecii i cu acordul scris al autorului. n acest pot multiplica documentul numai contra costmpreun| cu clauzele SELECT, FROM, scop m| putei contact| la: ORDER BY; WHERE, - predicatele ALL, DISTINCTROW i DISTINCT; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 operatorul de reuniune; e-mail: antaltiberiu@pcnet.ro - instruciunile de actualizare: UPDATE, DELETE, INSERT INTO i SELECT INTO; - definiia datelor prin instruciunile: CREATE TABLE, CREATE INDEX, ALTER TABLE i DROP. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

293

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Tratarea Universitatea Tenhic| din Cluj-Napoca erorilor n VBA Facultatea Construcii de Maini de rutina operaiilor pe care le implementeaz| uit| s| Erorile apar cnd programatorul furat Catedra de Mecanic| i ale manevrelor de executat. Atunci cnd se anticipeaz| posibilitatea trateze cazuri particulare Programare Curs de unei erori, n loc ca Access-ul s| fie l|sat s| afieze un mesaj de eroare, prin folosirea apariiei baze de date Microsoft Access unui secvene de cod speciale pentru prinderea erorii (error trapping), acesta este obligat s| Copyright 2000. Toate drepturilen vederea trat|rii situaiei deosebite ap|rute. Tratarea execute o secven| de cod special| sunt rezervate autorului. erorii const|, fie n corectarea automat| a ei, fie prin atenionarea utilizatorului asupra unei Multiplicarea acestuicare trebuien scop comercial este interzis|. secvene de aciuni pe document s| le deruleze pentru evitarea acesteia. n continuare se prezint| metode de tratatre a erorilor n cursul execuiei aplicaiei. Erorile datorate scrierii Sudenii participani la oricese g|sesc n faza de compilare a modulului n cauz|, cele acest incorecte ale unor instruciuni form| de nv||mnt superior bugetar pot multiplica de document pentru uzul personal. execuie se rezolv| conform tabelului: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Unde apare eroarea Cum se trateaz| scop m| putei contact| la: Formular sau raport Se scrie cod pentru procedura de eveniment Error a ANTAL Tiberiu Alexandru obiectului respectiv. tel.: 0040-264-530918 n codul VBA Se folosete instruciunea On Error pentru prinderea ei i o e-mail: antaltiberiu@pcnet.ro poriune de program specific| pentru tratarea ei.

Folosirea evenimentului Error


Cnd o eroare apare n timpul lucrului cu un formular sau raport Acceess-ul declaneaz| evenimentul Error pentru care se poate scrie o procedura de eveniment prin setarea propriet|ii Conf. dr. ing. ANTAL Tiberiu Alexandru realiznd clic pe butonul On Error la [EventProcedure] i apoi . Un exemplu de Universitateafi ad|ugarea codului urm|tor formularului TContacte1 subform creat n cursul lucru ar putea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini introducerea de valori n afara celor enumerate n list|. 8. Controlul Combo Box nu permite Catedra de Mecanic| i Programare de operaie, codul care urmeaz| l avertizeaz|, n Dac| utilizatorul totui ncearc| o astfel Curs de baze de dateincorectitudinii aciunii. limba romn|, asupra Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Private Sub Form_Error(DataErr As Integer, Response As Integer) Multiplicarea acestui document n scop comercial este interzis|. Dim MesEr As String, NL As String Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest NL = Chr$(13) & Chr$(10) document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare 'Debug.Print DataErr, Error(DataErr) pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: 'Stop ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Select Case DataErr e-mail: antaltiberiu@pcnet.ro Case 2237 MesEr = "Conform integritatii referentiale," & NL MesEr = MesEr & "Pentru IDInfContact din TContacte1"

294

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. MesEr ANTAL Tiberiu Alexandru sa existe o inregistrare" & NL dr. ing. = MesEr & " trebuie Universitatea Tenhic| din Cluj-Napoca MesEr = MesEr Maini Facultatea Construcii de& "in TTipContacte." Catedra de Mecanic| i Programare MsgBox MesEr, vbCritical, "Violare a integritatiiE Curs de baze de date Microsoft Access referentiale" Response = acDataErrContinue Copyright 2000. Toate drepturile sunt rezervate autorului. End Select Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End Sub document pentru uzul personal. Sudeniiunei erori n TContacte1 subform face ca Access-ul s| execute procedura Apariia participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i procedurii prin parametrul DataErr. Form_Error de mai sus transfernd codul erorii cu acordul scris al autorului. n acest scop m| putei contact| la: care indic| ncercarea de a introduce un element care nu este n Num|rul 2237 este valoarea list|. Instruciunea Select Case folosete aceast| valoare pentru a prinde eroarea i a genera o ANTAL Tiberiu Alexandru aciune sau un mesaj corespounz|tor. Parametrul Response va lua n final valoarea tel.: 0040-264-530918 pentru a fora Access-ul s| continue execuia f|r| afiarea unui acDataErrContinue e-mail: antaltiberiu@pcnet.ro mesaj de eroare standard. ntrebarea care se pune este de unde s| cunoatem valoarea numeric| corespunz|toare tuturor erorilor care pot s| apar|? n exemplul de mai sus am scris liniile: Debug.Print DataErr, Error(DataErr) Stop Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca nainte de scrierea celorlate linii de Facultatea Construcii de Maini cod pentru a afla valoarea numeric| n cauz|. Pe ecran, n ferestra imediat|, vor fi afiate valoarea Catedra de Mecanic| i Programare numeric| a erorii i prin folosirea funciei Error() un text corespunz|tor Microsoft Access Curs de baze de dateerorii ap|rute, dac| n modul formular se ncearc| introducerea unei valori incorecte. Apoi, aceste linii vor fi transformate n comentarii i codul poate fi introdus n continuare. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Este posibil| sugerarea unor aciuni pe care utilizatorul trebuie s| le fac| pentru evitarea erorii, de participanipoate ad|uga codul nv||mnt superior bugetar pot multiplica acest Sudenii exemplu se la orice form| de DoCmd.OpenForm "FTTipContact" ce va deschide formularul n care trebuie introduse noile tipuri de contacte. Pentru aceasta document pentru uzul personal. procedura se va scrie sub forma: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Private Sub Form_Error(DataErr As Integer, Response AsE scop m| putei contact| la: Integer) ANTAL Tiberiu Alexandru Dim MesEr As String, NL As String tel.: 0040-264-530918 NL = Chr$(13) & Chr$(10) e-mail: antaltiberiu@pcnet.ro 'Debug.Print DataErr, Error(DataErr) 'Stop

295

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. SelectANTAL DataErr dr. ing. Case Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Case 2237 Facultatea Construcii de Maini Catedra de Mecanic| i Programare MesEr = "Conform integritatii referentiale," & NL Curs de baze de date Microsoft Access MesEr = MesEr & "Pentru IDInfContact dinE TContacte1" Toate drepturile sunt rezervate autorului. Copyright 2000. MesEr = MesEr & "trebuie sa existe o inregistrareE Multiplicarea acestui document n scop comercial este interzis|. " & NL MesEr = MesEr & "TTipContacte." Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentruMsgBox MesEr, vbCritical, "Violare a integritatiiE uzul personal. referentiale" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare SendKeys "{ESC}", True pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest DoCmd.OpenForm "FTTipContact" scop m| putei contact| la: Response = acDataErrContinue ANTAL Tiberiu Alexandru Case Else tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro= acDataErrDisplay Response End Select End Sub Procedura SendKeys transmite ferestrei curente una sau mai multe taste ca i cnd acestea ar Conf. dr.prin ap|sare deTiberiu Alexandru de mai sus s-a folosit tasta Esc, care va anula fi tastate ing. ANTAL la tasatatur|. n cazul Universitatea Tenhic| din Cluj-Napoca curent. modific|rile f|cute n controlul (sau cmpul) Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Error Access Instruciunea On Microsoft Erorile n timpul execuiei codului VBA pot fi tratate prin folosirea instruciunii On Error i Copyright 2000. Toate drepturile sunt rezervate autorului. ad|ugarea codului corespunz|tor trat|rii erorii. Instruciunea On Error va fi codul VBA care se va executa, n caz de eroare, ea specificnd modul n care va fi tratat| eroarea ap|rut|. Este Multiplicarea acestui document n scop comercial este interzis|. posibil ca mai multe instruciuni On Error s| apar| ntr-o singur| procedur|, dar numai cea mai recent| este activ|. On Error are mai multe variante care vor fi discutate n continuare. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Instruciunea On Error GoTo eticheta 7 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Aceast| form| este cea mai puternic| modalitatei cu acordul scris al autorului. n acest pot multiplica documentul numai contra cost de tratare a erorilor pentru c| permite controlul putei contact| asupra celor ce vor fi de f|cut n cazul apariiei erorilor. Pentru scop m| cel mai flexibil la: forma On Error GoTo eticheta VBA va s|ri la o poriune de cod specific|, marcat| prin 7 etichet| . Poriunea de cod care urmeaz| exemplific| cea mai comun| variant| de tratare a ANTAL Tiberiu Alexandru erorilor: tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Sub ProceduraGenericadeTratareaErorilor()

296

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. Error ANTAL Tiberiu Alexandru On dr. ing. GoTo CodGenericPentruTratareaErorilor Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare 'Orice cod care poate genera o eroare n timpul executiei lui Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Iesire_in_caz_de_Eroare: Exit Sub Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest CodGenericPentruTratareaErorilor: document pentru uzul personal. 'Codul pentru tratarea erorii Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare MsgBox Err.Description pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Resume Iesire_in_caz_de_Eroare scop m| putei contact| la: ANTAL Tiberiu Alexandru End 0040-264-530918 tel.: Sub e-mail: antaltiberiu@pcnet.ro Cnd o eroare apare, controlul este dat etichetei specificate n linia On Error GoTo CodGenericPentruTratareaErorilor. Eticheta trebuie s| apar| scris| n cadrul aceleiai proceduri cu instruciunea On Error GoTo CodGenericPentruTratareaErorilor. Prin convenie, codul pentru tratarea erorii se scrie la sfritul procedurii. Dac| vei ncerca s| creai un buton de comand| care s| nchid| un formular, codul pe care Generatorul l scrie Conf. dr. ing. ANTAL Tiberiu Alexandru pentru procedura de tratare a evenimentului On Universitatea Tenhic| din Cluj-Napoca Click este: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Private Sub Command13_Click() Curs de baze de date Microsoft Access On Error GoTo Err_Command13_Click Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. DoCmd.Close Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Exit_Command13_Click: Exit Sub Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Err_Command13_Click: MsgBox Err.Description ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Resume Exit_Command13_Click e-mail: antaltiberiu@pcnet.ro End Sub

297

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Exit Function pentru a p|stra execuia Trebuie s| folosii o instruciune Exit Sub sau Universitatea Tenhic| din Cluj-Napoca normal| a liniilor din program. Dac| o eroare a ap|rut controlul este dat poriunii de cod care Facultatea Construcii fiind o starea special| a procedurii n care: trateaz| eroarea aceast| de Maini Catedra de Mecanic| i Programare < codul de date a erorii definit prin Curs de bazede tratareMicrosoft Access instruciunea On Error GoTo CodGenericPentruTratareaErorilor nu mai are efect. Aceasta nseamn| c| n cazul apariiei unei erori drepturile suntcod care trateaz| prima eroare, noua eroare este Copyright 2000. Toate n poriunea de rezervate autorului. tratat| ca i cum nu exist| un cod pentru tratarea acesteia; Multiplicarea acestuiinstruciunea Resume (care va este interzis|. < se poate folosi document n scop comercial fi descris| n paragraful urm|tor) pentru a reda controlul procedurii principale i pentru a relua modalitatea de tratare normal| a Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest erorilor; document se poate uzul personal. < nu pentru executa o instruciune End Sub sau End Function pentru p|r|sirea codului de tratarea a erorii. Trebuie folosit| explicit una dintre instruciunile Exit Sub sau Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Exit Function pentru p|r|sirea procedurii. O tehnologie software comun| spune c| o pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest procedur| ar trebui s| aib| un singur punct de intrare i unul singur de ieire, deci o idee ar fi scop m| putei contact| la: utilizarea lui Resume etichet| pentru a reda controlul codului principal, ntr-un punct de p|r|sire comun mai multor poriuni al acestuia. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Next Instruciunea On Error Resume Crearea unui cod de tratare a erorilor prin On Error GoTo CodGenericPentruTratareaErorilor necesit| uneori un num|r mare de linii de cod. Dac| se dorete ignorarea erorilor, din motivul de mai sus sau pentru c| ntr-o poriune de cod a unei proceduri poate s| apar| numai un singur fel de eroare pe care dorim s| o ignor|m se poate folosi instruciunea On Error Resume Next care spune VBA-ului c| se dorete reluarea codului Tiberiu Alexandru Conf. dr. ing. ANTAL cu instruciunea imediat urm|toare celei n care a ap|rut eroarea f|r| nici o alt| intervenie n din Cluj-Napoca Universitatea Tenhic| desf|urarea evenimentelor din cod. Un exemplu clasic este cel al instruciuniiConstrucii de Maini dac| acesta exist| pe disc i dac| nu este utilizat de Facultatea Kill care terge un fiier altcineva de momentul n care se dorete tergerea lui. Catedra n Mecanic| i Programare Curs de baze de date Microsoft Access Sub StergeFisier(ByVal numefisier As Strig) Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea Resume Next n scop comercial este interzis|. On Error acestui document Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Kill numefisier Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest End Sub scop m| putei contact| la: ANTALexemplu,Alexandruters nu exist|, instruciunea Kill genereaz| o eroare n timpul Dac| de Tiberiu fiierul de tel.: 0040-264-530918 execuiei procedurii StergeFisier. Datorit| instruciunii On Error Resume Next, e-mail: ap|rut| este ignorat| i controlul este dat instruciunii urm|toare, pentru acest caz eroarea antaltiberiu@pcnet.ro instruciunea End Sub. Instruciunea On Error GoTo 0

298

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru La folosirea uneia dintre instruciunile On Error Resume Next, On Error GoTo Universitatea Tenhic| din Cluj-Napoca CodGenericPentruTratareaErorilor, efectul lor va r|mne pn| la p|r|sirea Facultateasau pn| la declararea unei noi poriuni de cod pentru tratarea erorilor. Exist| procedurii Construcii de Maini Catedra de Mecanic| i Programare a erorilor prin instruciunea On Error GoTo 0. posibilitatea anul|rii codului de tratare Curs de baze de date Microsoft Access Copyright 2000. Resume Next sunt rezervate autorului. Instruciunea Toate drepturile Pentru revenirea n poriunea principal| a procedurii din codul de tratare a erorii se folosete Multiplicarea acestui document n scop comercial este interzis|. instruciunea Resume. Aceasta are formele: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. care a generat eroarea. Se folosete atunci cnd codul de Resume: red| controlul instruciunii tratare a erorii a rezolvat motivul apariiei ei i se dorete continuarea din locul n care a Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ap|rut problema; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Resume Next: se folosete n interiorul codului de tratare al erorii atunci cnd se dorete ANTAL Tiberiu Alexandru a imposibilit|ii corect|rii ei se dorete continuarea cu linia ignorarea ei sau cnd ca urmare tel.: 0040-264-530918 care a generat eroarea; urm|toare instruciunii e-mail: antaltiberiu@pcnet.ro Resume eticheta: se folosete cnd dorii s| revenii la o linie de program oarecare 7 marcat| cu eticheta. 7

Obiectul Err
Conf.are un obiect pentru determinarea erorii ap|rute n timpul execuiei codului. Cteva VBA dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napocan tabelul care urmeaz|. dintre propriet|ile obiectului se prezint| Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Proprietatea Descriere Err.Description Stocheaz| un ir de caractere asociat Copyright 2000. Toate drepturile sunt rezervate autorului. erorii ap|rute. Err.Number Stocheaz| o valoarea numeric| care identific| eroarea. Aceasta Multiplicarea acestui document n scop comercial este interzis|. este proprietatea implicit| a obiectului Err. Sudenii participani la orice form| de nv||mnt superior bugetarcare a generat acest Err.Source Stocheaz| numele obiectului sau aplicaiei pot multiplica document pentru uzul personal. iniial|. eroarea Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Ierarhii ale codului pentru tratarea erorilor scop m| putei contact| la: Atunci cnd o procedur| apeleaz| o alta, VBA folosete o strategie ierarhic| de tratare a erorilor. Dac| procedura apelat| genereaz| o eroare care nu este tratat| n corpul ei, procedur| ANTAL Tiberiu Alexandru apelant| (din care s-a realizat apelul) va recepiona eroarea. VBA-ul va reaciona ca i cum tel.: 0040-264-530918 linia de apel a procedurii a generat eroarea, ca efect, VBA-ul va c|uta napoi, pe baza e-mail: antaltiberiu@pcnet.ro adreselor de revenire de pe stiv|, pn| cnd va prinde un cod pentru tratarea erorilor. Dac| ajunge la nivelul procedurii care pornete grupul de apeluri f|r| a prinde un cod de tratare a erorii va afia un mesaj de eroare propriu i va opri execuia codului.

299

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Access SQL Catedra de Mecanic| i Programare Limbajul SQL (Structured Query Language) este cel mai popular limbaj neprocedural pentru Curs de baze de date Microsoft Access accesul la datele stocate n SGBDR-uri pe toate tipurile de calculatoare (calculatoare personale, profesionale i sisteme mari). El asigur| o interfa| ntre utilizator i un SGBDR, Copyright 2000. Toate drepturile sunt rezervate autorului. fiind dezvoltat de IBM n 1970 pentru System R (un SGBD dezvoltat ntr-un proiect de cercetare la IBM San Jose Research, azi IBM Almaden Research Center, n care s-a introdus Multiplicarea acestui document n scop comercial este interzis|. limbajul SQL i s-a ar|tat c| SGBDR-urile au performae bune de prelucrare a tranzaciilor). Access-ul sprijin| lucrul cu SQL f|r| a suporta ns| ANSI SQL n totalitate. Primul standard Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest SQL ap|rut n 1986, descria elementele de baz| ale limbajului pentru definirea i manipularea document pentru uzul personal. tabelelor. Revizia din 1989 ad|uga limbajului extensii pentru integritatea referenial| i constrngerile de integritate generalizat|. O alt| revizie n 1992 furniza facilitatea de Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare manipulare a schemei bazei de date i de administrare a datelor mpreun| cu mbun|t|iri pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest substaniale pentru definirea i manipularea datelor. scop m| putei contact| la: ANTAL Tiberiu Alexandru SQL-ul? Cum se folosete Access tel.: 0040-264-530918 Spre deosebire de alte produse care suport| SQL, Access-ul nu are o fereastr| n care dup| e-mail: antaltiberiu@pcnet.ro introducerea unei linii SQL i ap|sarea tastei Enter rezultatele corespunz|toare s| fie direct afiate. n schimb, interog|rile pot fi vizualizate i editate n format SQL. Pentru afiarea rezultatelor trebuie s| comutai pe vizualizare n mod foaie de date a interog|rii. Orice interogare poate fi vizualizat| n mod SQL. n acest caz vei vedea instruciunile SQL corespunz|toare specificaiilor folosite n fereastra Access QBE, n modul de proiectare, cnd s-a creat interogarea. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| Cluj-Napocabaza de date Northwind; din deschidei Vizualizarea unei Facultatea Construcii de Maini interoga ri n mod 7 clic pe butonul Queries; Catedra de Mecanic| i Programare SQL Curs de baze de date Microsoft Access din list| selectai interogarea cu numele Quarterly Orders; clic pe butonul Design; Copyright 2000. Toate drepturile sunt rezervate autorului. Fereastra Access QBE din figura urmatoare va fi afiat| pe ecran. 7 Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro din meniul View selectai SQL View, fereastra urm|toare va fi afiat|.

300

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la:

SintaxaTiberiu Alexandru ANTAL comenzilor SQL


tel.: 0040-264-530918 conveiile folosite la scrierea comenzilor SQL. Acest paragraf prezint| e-mail: antaltiberiu@pcnet.ro Convenie SQL MAJUSCULE Semnificaie Literele majuscule indic| cuvinte cheie i cuvinte rezervate, care trebuie introduse ntocmai.

nclinate Cuvintele scrise cu caractere nclinate reprezint| variabile Conf. dr. ing. ANTAL Tiberiu Alexandru specificate de utilizator. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini unghiulare conin elemente de sintax| care trebuie <> Parantezele Catedra de Mecanic| i Programare scrise. Cuvintele din interiorul acestor paranteze descriu Curs de baze de date Microsoft Access a specifica sintaxa lor. elementele f|r| [] Parantezele dreptunghiulare conin informaii opionale, separate Copyright 2000. Toate drepturile sunt rezervate autorului. de cte o bar| vertical| (|). Dac| sunt mai multe se alege una sau nici una dintre ele. Nu se introduc parantezele sau caracterul bar|. Multiplicarea acestui document n scop comercial este interzis|. De menionat c| Microsoft Access necesit| n multe cazuri introducerea de nume ntre superior Atunci pot parantezele sunt Sudenii participani la orice form| de nv||mnt paranteze.bugetarcnd multiplica acest necesare, document pentru uzul personal. facnd parte din sintaxa variabilei pe care trebuie s-o d|m, parantezele sunt nclinate, ca n [Tabelul Meu].[Cmpul Meu]. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot}multiplica documentul numai contra una saucu acordul opiuni, separate de cte un { Acoladele includ cost i mai multe scris al autorului. n acest scop m| putei contact| la: caracter bar| (|), dac| sunt mai multe nu se introduce paranteza sau caracterul |. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Parantezele rotunde indic| repetarea unui articol, o dat| sau de mai () e-mail: antaltiberiu@pcnet.ro ori. Cnd apare o virgul| mpreun| cu o parantez| rotund|, multe se introduce virgula ntre articole.

n general, o comand| este format| dintr-un verb care indic| aciunea i un num|r de clauze,

301

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru general| a unei comenzi SQL este: care particularizeaz| efectul verbului. Forma Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini <VERB>de Mecanic| i Programare Catedra [<clauza1>][<clauza2>] Curs de baze de date Microsoft Access <VERB> este un cuvnt drepturile specific| operaia de executat Copyright 2000. Toate cheie care sunt rezervate autorului. <clauza> difer| de la comand| la comand| i poate fi fi o construcie a utilizatorului sau un cuvnt cheie a acestui document n scop comercial este interzis|. Multiplicarea limbajului. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Instruciunea SELECT document pentru uzul personal. SELECT este inima limbajului SQL. Se folosete pentru a selecta sau a extrage linii i Sudeniidin tabelele bazei de date. Sintaxa instruciunii SELECT conine cinci clauze majore coloane participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest dup| cum urmeaz|: scop m| putei contact| la: ANTAL Tiberiu Alexandru SELECT < list| de cmpuri > tel.: 0040-264-530918 FROM < list| de tabele > e-mail: antaltiberiu@pcnet.ro [WHERE < specificarea liniei selectate >] [GROUP BY < specificarea modului de grupare >] [HAVING < specificarea grupului selectat >] [ORDER BY < specificarea ordon|rii >] Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Clauza SELECT Facultatea Construcii de Maini Se folosete Mecanic| i Programare Catedra de pentru specificarea coloanelor care s| fie incluse n mulimea de nregistr|ri rezultat|.baze de date Microsoft Access analog cu cele din grila Access QBE. Curs de Numele coloanelor se specific| Copyright 2000. Toate drepturile sunt rezervate autorului. SELECT {* | expresie1 [AS alias1] [, expresie2 [AS alias2] [,...]]]} Multiplicarea acestui document n scop comercial este interzis|. expresie poate fi un simplu nume de coloan|, o expresie de nume de coloane sau de funcii Sudenii participani la orice form|i aici indic| toate cmpurile unui tabel. Definiia acest SQL de agregare. Similar cu QBD, * de nv||mnt superior bugetar pot multiplica documentpentru expresie este: sintactic| pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica| MOD |&} { funcie | contra cost constant| | nume-coloan| }]... [{+ | - | * | / | \ documentul numai (expresie) | i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTALoTiberiu de agregare SQL, cum ar fi AVG, COUNT, MAX, MIN, STDEV, STDEVP, funcie: funcie Alexandru tel.: 0040-264-530918 orice alt| funcie construit| n Microsoft Access sau definit| de SUM, VAR, VARP sau e-mail: antaltiberiu@pcnet.ro utilizator folosind VBA. (expresie): o expresie cu unul sau mai muli termeni. constant|: o constant| alfabetic| sau numeric|. Constanta alfabetic| trebuie inclus| ntre ghilimele simple sau duble. Pentru a introduce un apostrof n constanta alfabetic|, e necesar s|

302

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTALde dou| ori n irul literal. Dac| expresia e numeric|, trebuie folosit| o se introduc| apostroful Tiberiu Alexandru Universitatea Tenhic|constant| de tip dat|/timp va fi inclus| ntre dou| semne pound (#). constant| numeric|. O din Cluj-Napoca Facultatea Construcii de Maini nume-coloan|: numele i Programare Catedra de Mecanic| unei coloane dintr-un tabel sau dintr-o interogare. Se poate folosi numele unei coloane sau interog|ri care s-a specificat n articolul FROM din declaraie. Dac| Curs de baze de date Microsoft Access expresia este una numeric|, trebuie folosit| o coloana ce conine date numerice. Dac| acelai nume-coloana apare n dou| sau maisunt rezervate autorului.interog|rile incluse n Copyright 2000. Toate drepturile multe dintre tabelele sau interogare, acesta trebuie modificat cu numele interog|rii, numele tabelului, sau cu unul corespunz|tor, acestui document n scop comercial este interzis|. Multiplicarea ca de exemplu [tabelA].[coloana1]. +| -| * | / | \ | MOD: operatori ce definesc calcule. Dac| apar e necesar ca toate subexpresiile din interiorul unei expresii s| poat| fi de nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice form| evaluate ca date de tip numeric. document pentru uzul personal. &: operator folosit pentru concatenarea constantelor alfabetice. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Exemple: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: SELECT * ANTAL Tiberiu Alexandru tel.: 0040-264-530918" & [Lastname] AS [Prenume] SELECT [Nume] & " e-mail: antaltiberiu@pcnet.ro Clauza FROM Definete tabelele i/sau interog|rile prev|zute care reprezint| surse de date pentru interogarea noastr|. FROM {{nume-tabel [[AS] alias] | nume-interogare [[AS] alias]} | < tabele asociate >},... Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini La fel ca declauza SELECT, unde se putea folosi un nume alternativ (alias) pentru coloan| i Catedra la Mecanic| i Programare FROM-ul permite folosirea de nume alternative. Alias-ul, uneori numit i nume de corelare, Curs de baze de date Microsoft Access se scrie imediat dup| numele tabelului precedat de cuvntul cheie AS. Numele alternative se folosesc pentru scrierea drepturile unor nume, sunt ns| obligatorii cnd se specific| Copyright 2000. Toate mai scurt| asunt rezervate autorului. asocieri (self joins) sau subinterog|ri corelate. Multiplicarea acestui document n scop comercial este interzis|. Exemple: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest SELECT * document pentru uzul personal. FROM TComenzi; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest SELECT ComandaID, ComandaData, ComandaPret scop m| putei contact| la: FORM TComenzi; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro SELECT ComandaID, ComandaData, ComandaPret FORM TComenzi AS [Tabelul Comenzilor];

303

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Clauza WHERE Universitatea Tenhic| din Cluj-Napoca Clauza restricioneaz| (filtreaz|) rndurile ntoarse de o interogare. Ea corespunde liniilor Facultatea Construcii de Maini Criteria sau Or din Access QBE. Coloanele referite n WHERE nu trebuie s| fie incluse n Catedra de Mecanic| i Programare lista coloanelor specificate n clauza SELECT. Efectul este identic dac| n QBE se invalideaz| Curs de baze de date Microsoft Access cutia Show din QBE. Copyright 2000. Toate drepturile sunt rezervate autorului. WHERE expresie1 [{And | Or} expresie 2 [...]] Multiplicarea acestui document n scop comercial este interzis|. Sudenii are acelai format cu expresiile Access QBE.superior bugetar pot multiplica acest expresie participani la orice form| de nv||mnt Pot fi referite coloane, funcii definite document pentru uzul personal. expresie de utilizator i operatori n fiecare Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Exemple: scop m| putei contact| la: SELECT ComandaID, ComandaData, ComandaPret FORM TComenziAlexandru ANTAL Tiberiu tel.: 0040-264-530918 WHERE ComandaPret > 100000; e-mail: antaltiberiu@pcnet.ro SELECT ComandaID, ComandaData, ComandaPret FORM TComenzi WHERE ComandaPret > 100000 AND ComandaData > #5/11/1999# AND NumeClient Like "V*"; Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Clauza ORDER BY Facultatea Construcii de Maini Clauza opional| se folosete pentru sortarea rndurilor ntoarse de o interogare cu una sau Catedra de Mecanic| i Programare mai multe coloane. Cuvintele cheie ASC sau DESC specific| sortarea cresc|toare sau Curs de baze de date Microsoft Access descresc|toare. Sortarea cresc|toare este implicit|. Clauza corespunde liniei Sort din Access QBE, iar precedena sort|rii este de la stnga la dreapta. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui [{ASC | DESC}] [, comercial este interzis|. [, ...]] ORDER BY coloana1 document n scop coloana2 [{ASC | DESC}] Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Este posibil| i sortarea pe baza valorilor unor expresii. Sortarea pe baza coloanelor indexate este mult mai rapid| dect pe baza unor expresii oarecare. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Exemple: scop m| putei contact| la: SELECT * ANTAL Tiberiu Alexandru FORM TClienti tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro ORDER BY Nume, Prenume; SELECT * FORM TClienti

304

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL " & Prenume; ORDER BY Nume & " Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Asocierea tabelelor Catedra de Mecanic| i Programare Curs baza de datedate Microsoft Access necesar| crearea unor interog|ri care au ca surs| de Dac| de baze de a fost normalizat| este date mai multe tabele. Cnd se acceseaz| mai multe tabele, n SQL, la fel ca n Access QBE, Copyright 2000. Toate drepturile sunt rezervate autorului. a produce rezultate care au tabelele trebuie s| fie asociate (join) pe baza unor coloane pentru semnificaie. Dac| tabelele nu sunt asociate, rezultatul interog|rii va fi produsul cartezian al Multiplicareasunt sursele de date.n scop comercial este interzis|. tabelelor care acestui document Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Exist| dou| metode de personal. document pentru uzulasociere a tabelelor n Access SQL: prin folosirea clauzei FROM i prin clauza WHERE. Asocierea cu WHERE a fost parte a SQL-ului ncepnd cu SQL-89; asocierea prin FROM la orice form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani este o clauz| ad|ugat| standardului ANSI SQL-92. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Folosind SQL-89, asocierea a dou| tabele, tabel1 i tabel2, pe baza coloanelor, coloana1 i coloana2 Tiberiuastfel: ANTAL se face Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro SELECT list|-coloane FROM tabel1, tabel2 WHERE tabel1.coloana1 = tabel2.coloana2; n SQL-92, sintaxa pentru asocierea celor dou| tabele este: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini SELECT list|-coloane Catedra de Mecanic| i Programare FROM tabel1 {INNERMicrosoft Access | RIGHT [OUTER]} JOIN tabel2 Curs de baze de date | LEFT [OUTER] ON tabel1.coloana1 = tabel2.coloana2 Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestuieste opional|. scop comercial este interzis|. Folosirea lui OUTER document n Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Exemple: document pentru uzul personal. De exemplu, dac| am dori s| select|m cmpurile ComandaID, ComandaData, Nume i Sudenii participani la oricecare au de nv||mnt cu de 28 iuliealte persoane doritoare Prenume cu toate comenzile form| fost f|cute nainte plat| sau 2000, folosind SQL-89 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scriem: scop m| putei contact| la: SELECT ComandaID, ComandaData, Nume, Prenume AS Clienti ANTAL Tiberiu Alexandru tel.: 0040-264-530918 FROM TComenzi, TClienti e-mail: antaltiberiu@pcnet.ro WHERE TClienti.ClientID = TComenzi.ComandaID AND ComandaData <= #07/28/2000#

305

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr.sintaxa SQL-92 scriem:Alexandru Folosind ing. ANTAL Tiberiu Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini SELECT de Mecanic| ComandaData, Nume, Prenume AS Clienti Catedra ComandaID, i Programare Curs de baze de date MicrosoftTClienti FROM TComenzi INNER JOIN Access ON TClienti.ClientID = TComenzi.ComandaID Copyright 2000. Toate drepturile sunt rezervate autorului. WHERE ComandaData <= #07/28/2000# Multiplicarea acestui document n scop comercial este interzis|. Este de preferat folosirea orice form|SQL-92 pentru c| mulimile de ntregistr|ri nu se pot Sudenii participani la sintaxei lui de nv||mnt superior bugetar pot multiplica acest actualiza. pentru uzul personal. document Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Asociere multipl| (Multiple Joins) pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest La fel n cazul lui Access la: scop m| putei contact| QBE, instruciunea SELECT poate asocia mai multe tabele. O sintax| simplificat|, unde apare numai JOIN, f|r| INNER JOIN, LEFT OUTER JOIN sau RIGHT OUTER JOIN, a clauzei FROM pentru asocierea mai multor tabele este: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro FROM (... (tabel1 JOIN tabel2 ON condiiaA) JOIN tabel3 ON condiiaB) JOIN ...) Ordinea JOIN-urilor imbricate (cuprinse unele n altele) definete ordinea de execuie a asocierilor. Conf. dr. non-equi Asociere ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Asocierile discutate se numesc n literatura de specialitate equi joins, adic| se bazeaz| pe Facultatea Construcii de Maini egalitatea unui cmp cu altul. Asocieri non-equi sunt cele n care se apar operatorii >, <, >=, Catedra de Mecanic| i Programare <=, <> sau Between. Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Predicatele ALL, DISTINCTROW i DISTINCT Lista coloanelor din clauza SELECT poate fi precedat| cu unul dintre Multiplicarea acestui document n scop comercial este interzis|. predicatele de cuantificare mutual exclusive: ALL, DISTINCTROW (specific Acces SQL-ului) sau DISTINCT. Ele controleaz| modul n de nv||mnt superiori nregistr|rile duplicate.acest Sudenii participani la orice form| care sunt tratate valorile bugetar pot multiplica Sintaxa clauzei SELECT cu folosirea acestor predicate este: document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare SELECT [{ALL | DISTINCT | DISTINCTROW}] cu acordul scris al autorului. n acest pot multiplica documentul numai contra cost i list|-coloane scop m| putei contact| la: Dac| nu se scrie niciunul dintre predicate se presupune implicit ALL. ALL ntoarce toate ANTAL Tiberiu Alexandru rndurile care respec| criteriul impus. Nu se fac prelucr|ri speciale pentru asigurarea unicit|ii tel.: 0040-264-530918 rndurilor. n Access QBE aceasta se realizeaz| prin setarea propriet|ilor UniqueValues i e-mail: antaltiberiu@pcnet.ro UniqueRecords a interog|rii la valoarea No. Folosirea lui DISTINCT produce eliminarea rndurilor duplicate n mulimea de nregistr|ri rezultat| pe baza coloanelor coninute n clauza SELECT. Cnd se folosete DISTINCT mulimea de nregistr|ri ale interog|rii nu se poate actualiza, iar performanele interog|rii scad. Setarea propriet|ii UniqueValues la Yes

306

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr.QBE ANTAL Tiberiuacestui predicat. La folosirea lui DISTINCTROW, se elimin| n Acces ing. este echivalentul Alexandru Universitateaduplicate n mulimea rezultat| pe baza tuturor coloanelor din tabele surs|. Nu ntregistr|rile Tenhic| din Cluj-Napoca Facultatea Construcii de Maini are efect dac| interogarea are un singur tabel surs| sau dac| nu ntoarce cel puin cte o Catedradin fiecare tabel. Programare coloan| de Mecanic| i Predicatul DISTINCTROW este echivalent cu proprietatea Curs de baze de date Microsoft Access UniqueRecords. Pentru majoritatea tipurilor de interogare pentru care se poate aplica DISTINCTROW (interog|ri cu mai multe tabele i unde cel puin un tabel este inclus n Copyright 2000. Toate drepturile sunt rezervate autorului. - adic| un tabel este inclus clauza FROM f|r| o coloan| corespondent| n clauza SELECT f|r| a avea coloane de ieire) produce acelai rezultat cu predicatul DISTINCT, cu o singur| Multiplicarea acestui document n scop comercial este interzis|. diferen|, mulimea de nregistr|ri se poate actualiza. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul Agregarea datelor personal. Interog|rile de agregare sunt utile pentru sumarea datelor, calcule statistice, depistarea datelor Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare greite. Acest tip de interog|ri produc mulimi de nregistr|ri (recordset) care pot fi numai pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest citite. Cteva din metodele de construire n Access SQL a interog|rilor de agregare sunt: scop m| putei contact| la: interog|ri de agregare simple cu instruciunea SELECT f|r| clauza GROUP BY; ANTAL Tiberiu cu GROUP BY folosind instrunciunea SELECT mpreun| cu clauza interog|ri Alexandru tel.: 0040-264-530918 GROUP BY. e-mail: antaltiberiu@pcnet.ro Aceste interog|ri au n comun folosirea a cel puin una dintre funciile de agregare prezentate n tabelul care urmeaz| n clauza SELECT.

Nume funcie SQL de Efect Conf. dr. ing. ANTAL Tiberiu Alexandru agregare Universitatea Tenhic| din Cluj-Napoca Avg([coloana]) Valoarea medie. Facultatea Construcii de Maini Catedra de Mecanic| i Programare valorile care nu au valoarea Count([coloana]) Num|r| Curs de baze de date Microsoft Access coloan|. Null din Count(*) Num|r| rezervate autorului. Copyright 2000. Toate drepturile sunttoate rndurile din mulimea de nregistr|ri. Multiplicarea acestui document n scop comercial este interzis|. Sum([coloana]) Suma valorilor din coloan|.

Poate lucra cu valori Null? nu nu da nu

Sudenii participani la orice form| de mic| valoare superior bugetar pot multiplica acest Min([coloana]) Cea mai nv||mnt din coloan|. nu document pentru uzul personal. Max([coloana]) Cea mai mare valoare din coloan|. nu Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare First([coloana]) Valoarea coloanei din primul rnd al da pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest mulimii de nregistr|ri rezultate. scop m| putei contact| la: Last([coloana]) Valoarea coloanei din ultimul rnd al da ANTAL Tiberiu Alexandru mulimii de nregistr|ri rezultate. tel.: 0040-264-530918 StDev([coloana]) e-mail: antaltiberiu@pcnet.roAbaterea standard pentru un eantion de nu populaie. StDevP([coloana]) Abaterea standard pentru o populaie. nu

307

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Var([coloana]) Variaia statistic| pentru un eantion de Universitatea Tenhic| din Cluj-Napoca populaie. Facultatea Construcii de Maini Catedra de Mecanic| i Programare statistic| pentru o populaie. VarP([coloana]) Variaia Curs de baze de date Microsoft Access

nu nu

Copyright 2000. Toate drepturile suntcombinaii de funcii de agregare i matematice, iat| Este posibil| folosirea unor expresii din rezervate autorului. cteva exemple: Multiplicarea acestui document n scop comercial este interzis|. Pentru a nsuma (cu Sum()) valorile absolute (cu funcia Abs()) ale cmpului Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Cheltuieli scriem: personal. document pentru uzulSum(Abs([Cheltuieli])). Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Pentru a calcula valoarea medie a costului unor articole putem scrie: al autorului. n acest pot multiplica documentul numai contra cost i cu acordul scris Avg([Pret]* [Cantitate]*(1-[Reducere])). scop m| putei contact| la: ANTAL Tiberiu Alexandru clauza GROUP BY Interog|ri de agregare f|r| tel.: 0040-264-530918 Se poate folosi instruciunea SELECT f|r| clauza GROUP BY pentru a calcula nsum|ri e-mail: antaltiberiu@pcnet.ro statistice pe rnduri care ndeplinesc condiia clauzei WHERE. Aceasta este util| pentru totale la nivel de tabel sau la nivelul unei submulimi de tabel. Acest tip de interogare de agregare se creeaz| prin includerea numai de funcii de agregare n clauza SELECT a instruciunii SELECT. Exemplu: Conf. dr. ing. ANTAL Tiberiu Alexandru SELECT COUNT(ComenziID) AS NumarulTotal, MIN(ValoareComanda) AS Universitatea Tenhic| din Cluj-Napoca ComandaMinima, MAX(ValoareComanda) AS ComandaMaxima Facultatea Construcii de Maini Catedra de Mecanic| i Programare FROM TComenzi; Curs de baze de date Microsoft Access Interog|ri 2000. Toate cu clauza sunt rezervate Copyright de agregare drepturileGROUP BY autorului. Clauza GROUP BY se folosete pentru a defini grupuri de rnduri pentru care se dorete Multiplicarea acestui document modul ncomercial este interzis|. se intercaleaz| n sintaza calculul funciei de agregare. Iat| n scop care clauza GROPU BY instruciunii SELECT: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. SELECT lista-coloane Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare FROM lista-tabele pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: [WHERE clauza-where] [GROUP Tiberiu Alexandru ANTAL BY clauza-groupby] tel.: 0040-264-530918 [HAVING clauza-having] e-mail: antaltiberiu@pcnet.ro [ORDER BY clauza-orderby] Sintaxa clauzei GROUP BY este:

308

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL[, expresie2 [,...]] GROUP BY expresie1 Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programarereferi coloane de tabele, cmpuri calculate sau Expresiile din clauza GROUP BY pot Curs de baze de date Microsoftpot fi funcii de agregare. Cmpurile din GROUP BY constante. Termenii expresiei nu Access definesc grupurile ntoarse de interogare. La folosirea clauzei GROUP BY, toate cmpurile CopyrightSELECT trebuie s| fie argumente ale unei funcii de agregare sau s| fie prezente n din clauza 2000. Toate drepturile sunt rezervate autorului. clauza GROUP BY. Multiplicarea acestui document n scop comercial este interzis|. Exemplu: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. ale unor clieni scriem: Pentru calculul num|rului comenzi Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai NumardeComenziacordul scris al autorului. n acest SELECT ClientID, COUNT(*) AS contra cost i cu scop m| putei contact| la: FROM TClienti GROUP BY ClientID; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Rezultatele vor fi de forma: ClientID 1 2 NumardeComenzi 24 14

Conf. dr. ing. ANTAL Tiberiu Alexandru 3 1 Universitatea Tenhic| din Cluj-Napoca 4 12 Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Interog|rile de agregare pot conine una din clauzele WHERE sau HAVING sau pe ambele. Orice criterii din WHERE sunt aplicate nainte de gruparea rndurilor. Din acest motiv clauza Copyright 2000. Toate drepturile sunt rezervate autorului. WHERE se poate folosi pentru excluderea rndurilor care nu dorii s| fie grupate. Orice criterii din HAVING sunt aplicate n scop comercial este interzis|. rnduri pe baza Multiplicarea acestui document dup| grupare. Astfel, se pot filtra statisticilor de sumare calculate pe grupuri. Sintaxa pentru clauza HAVING este: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. HAVING expresie1 [{AND | OR} expresie2 [...]] Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Exemplu: scop m| putei contact| la: S| presupunem c| dorii s| calculai cantitatea medie comandat| din fiecare articol de un individ, exculzndu-i pe cei care au comandat mai puin de 3 articole. Pentru c| se dorete ANTAL Tiberiu Alexandru excluderea rndurilor care nu respect| criteriul impus nainte de a se face gruparea lor vom tel.: 0040-264-530918 folosi clauza WHERE astfel: e-mail: antaltiberiu@pcnet.ro SELECT DenumireArticol, Avg(Cantitate) AS CantitateMedieComandata

309

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL TiberiuTComenzi ON TArticole.ArticolID=TComenzi.ArticolID FROM TArticole INNER JOIN Alexandru Universitatea Tenhic| din Cluj-Napoca WHERE Cantitate > 3 de Maini Facultatea Construcii GROUP BYMecanic| i Programare Catedra de DenumireArticol; Curs de baze de date Microsoft Access Dac| dorii 2000. Toate drepturile sunt rezervate autorului. din muimea de nregistrare Copyright s| realizai aceleai calcule cu eliminarea articolelor dac|, n medie, mai puin de 3 articole au fost vndute pe o comand|, criteriul trebuie aplicat dup| ce s-au evaluat valorile medii pentru comercial este interzis|. se va folosi clauza Multiplicarea acestui document n scop fiecare grup. Pentru aceasta HAVING dup| cum urmeaz|: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. SELECT DenumireArticol, Avg(Cantitate) AS CantitateMedieComandata form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice pot multiplica documentul numai contra ON TArticole.ArticolID=TComenzi.ArticolID FROM TArticole INNER JOIN TComenzi cost i cu acordul scris al autorului. n acest scop m| BY DenumireArticol GROUP putei contact| la: HAVINGTiberiu Alexandru ANTAL Avg(Cantitate) > 3; tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Este simplu s| reinei cnd se aplic| cele dou| clauze dac| privii poziia lor n instruciunea SELECT. WHERE se scrie naintea lui GROUP BY, adic| caluza WHERE se aplic| nainte de grupare, iar HAVING se scrie dup| GROUP BY corespunznd aplic|rii clauzei HAVING dup| aplicarea criteriilor de grupare.

Interog|ri de reuniune (UNION Queries)

Conf. dr. ing. ANTAL Tiberiu Alexandru n Access este obligatorie utilizarea SQL-ului pentru crearea unei interog|ri de reuniune; nu Universitatea Tenhic| din Cluj-Napoca exist| un echivalent n Access QBE pentru crearea acestui tip de interogare. UNION este un Facultatea Construcii de Maini operator i nu o instruciune sau clauz| producnd o mulime de nregistr|ri care pot fi numai Catedra de Mecanic| i Programare citite. de baze lui este: Microsoft Access Curs Sintaxa de date Copyright 2000. Toate drepturile sunt rezervate autorului. instruciune-select1 Multiplicarea acestui document n scop comercial este interzis|. UNION[ALL] instruciune-select2 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. [UNION[ALL] instruciune-select3] Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare [...] pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Access-ul pune n coresponden| coloanele din fiecare SELECT pe baza poziiilor din ANTAL Tiberiu Alexandru SELECT i nu pe baza numelor de coloane. Implicit, Access-ul elimin| nregistr|rile tel.: 0040-264-530918 duplicate. Se poate fora includerea dublurilor prin folosirea opiunii ALL. e-mail: antaltiberiu@pcnet.ro Exemplu: Dac| dorim s| cre|m o interogare care reunete toate adresele i numele elevilor i

310

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru profesorilor pentru a-i invita la aniversarea liceului scriem: Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini SELECT de Mecanic| Prenume AS Nume, Adresa, Oras, Cod Catedra Nume & ": " i Programare Curs de baze de date Microsoft Access FROM TProfesori UNION 2000. Toate drepturile sunt rezervate autorului. Copyright SELECT Nume & ": " Prenume AS Nume, Adresa, Oras, Cod Multiplicarea acestui document n scop comercial este interzis|. FROM TElevi Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. pentru sortarea nregistr|rilor din mulimea de nregistr|ri Se poate folosi clauza ORDER BY rezultat|. Dac| unele nume de coloane difer|, se va folosi numele din ultimul SELECT pentru Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare a specifica ordinea din mulimea de nregistrare rezultat|. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: SELECT Nume ANTAL Tiberiu Alexandru FROM TProfesori tel.: 0040-264-530918 UNION ALL e-mail: antaltiberiu@pcnet.ro SELECT NumeElev FROM TElevi ORDER BY Nume; Compatibilitatea interog|rilor Conf. dr. ing. ANTAL Tiberiu Alexandru Interog|rile sunt compatibile pentru a fi reunite dac| au acelai num|r de coloane. Access-ul Universitatea Tenhic| din Cluj-Napoca folosete urm|toarele reguli pentru a le combina: Facultatea Construcii de Maini pentru coloane i nume diferite, Catedra de Mecanic| cu Programare se folosete numele coloanei din prima interogare; Curs de baze coloane Microsoft Access pentru de date cu tipuri de date diferite Access-ul va converti datele coloanelor la un singur tip de dat| care este compatibil cu toate tipurile de date ale coloanelor. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Subinterog|ri Este posibil ca o parte a unei instruciuni SELECT s| fie o alt| instruciune SELECT. Tipic, Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest subinterog|rile se folosesc n clauza WHERE pentru a filtra rezultatele afiate de interogare document pentru uzul personal. pe baza valorilor unei alte interog|ri (subinterogarea). Urm|toarele forme sintactice sunt definite pentru subinterog|ri: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare expresie [NOT] IN (instruciune-select): i folosete pentru verifica dac| n acest pot multiplica documentul numai contra cost se cu acordul scrisaal autorului. valoarea unei m| putei contact| la: scop coloane face parte dintr-o list| de valori. ANTAL Tiberiu Alexandru Exemplu: tel.: 0040-264-530918 S| presupunem c| dorim selectarea num|rului de identificare (ProdusID), a numelui e-mail: antaltiberiu@pcnet.ro (Descriere) i a preului(Pret) pentru toate produsele care care s-au vndut n cantitate (Cantitate) mai mic| de 7 pentru ca s| renun|m a le mai comercializa.

311

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ProdusID, DescriereProdus, Pret SELECT ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca FROM TProduse Facultatea Construcii de Maini WHERE de Mecanic| i Programare Catedra ProdusID IN Curs de baze de date Microsoft Access (SELECT ProdusID FROM TProduseDetalii WHERE Cantitate <=6); Copyright 2000. Toate drepturile sunt rezervate autorului. Utilizarea operatorului NOT va duce la ntoarcerea valorilor care nu sunt n list|. Aceast| form| de subinterogare poate ntoarce numai o singur| coloan|; Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest comparaie [{ANY | SOME document pentru uzul personal. | ALL}] (instruciune-select): permite compararea unei valori cu valorile din rndurile unei subinterog|ri. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Predicat Descriere scop m| putei contact| la: f|r| ANTAL Tiberiu Alexandru tel.: 0040-264-530918 ANY, SOME e-mail: antaltiberiu@pcnet.ro ALL Realizeaz| comparaia cu o singur| valoare. Este adev|rat| dac| comparaia este adev|rat| pentru unul sau mai multe rnduri din subinterogare. Este adev|rat| dac| comparaie este adev|rat| pentru toate rndurile din subinterogare.

Exemplu: Dac| dr. ing. cunoatem care sunt automobilele mai scumpe dect SKODA: Conf.dorim s| ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini SELECT de Mecanic| i Programare Catedra DescriereProdus, Pret Curs de baze de date Microsoft Access FROM TProduse WHERE Pret > Copyright 2000. Toate drepturile sunt rezervate autorului. (SELECT Pret FROM TProduse WHERE DescriereProdus = "Automobil SKODA"); Multiplicarea acestui document n scop comercial este interzis|. [NOT] EXIST (instruciune-select): permite compararea unor valori pentru a verifica Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest existena lor n una sau mai multe rnduri ale unei subinterog|ri. Dac| subinterogarea are cel document pentru uzul personal. puin un rnd, comparaie este adev|rat| (True), altfel este fals| (False). Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentulg|sim automobilele care nu au fostscris al autorului. un client, Exemplu: dac| dorim s| numai contra cost i cu acordul cump|rate de nici n acest scop m| NOT EXIST scriem: folosind putei contact| la: ANTAL Tiberiu Alexandru SELECT ProudID, DescriereProdus, Pret tel.: 0040-264-530918 e-mail: TProduse FROM antaltiberiu@pcnet.ro WHERE NOT EXIST (SELECT * FROM TProduseDetalii WHERE ProdusID = TProduse.ProdusID);

312

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru SQL cu parametri Universitatea Tenhic| din Cluj-Napoca La fel ca n Construcii de n SQL se pot specifica parametrii care vor fi rezolvai n timpul Facultatea Access QBE i Maini execuiei de Mecanic| i Programare Catedra aplicaiei. Sintaxa pentru declaraia parametrilor este: Curs de baze de date Microsoft Access PARAMETERS parametru1 tip1 [, parametru2 tip2 autorului. Copyright 2000. Toate drepturile sunt rezervate [, ...]]; instruciune-sql; Multiplicarea acestui document n scop comercial este interzis|. Exemplu: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. tabelul Orders ntre dou| date Data1 i Data2 scriem: Dac| dorii s| afi|m comenzile din Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest PARAMETERS Data1 DateTime, Data2 DateTime; scop m| putei contact| la: Orders.ShipAddress, Orders.ShipCity, Orders.ShippedDate SELECT Orders.ShipName, FROM Orders Alexandru ANTAL Tiberiu tel.: 0040-264-530918 WHERE (((Orders.ShippedDate) Between [Data1] And [Data2])); e-mail: antaltiberiu@pcnet.ro Fiecare parametru trebuie s| aib| un tip de dat| din lista tipurilor SQL prezentate n tabelul care urmeaz|:

Tip SQL Conf. dr. ing. ANTAL Tiberiu Alexandru BIT, BOOLEAN, LOGICAL, YESNO Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini BYTE, INTEGER1 Catedra de Mecanic| i Programare COUNTER, de date Microsoft Access Curs de baze AUTOINCREMENT

Tip cmp n mod proiectare al tabelului Yes/No Number, FiledSize=Byte AutoNumber, FildSize=Long Integer

CURRENCY, MONEY Currency Copyright 2000. Toate drepturile sunt rezervate autorului. DATETIME, DATE, TIME Date/Time Multiplicarea acestui document n scop comercial este interzis|. SHORT, INTEGER2, SMALLINT Number, FildSize = Integer Sudenii INT, INTEGER, INTEGER4de nv||mnt superior bugetar pot multiplica acest LONG, participani la orice form| Number, FildSize = Long document pentru uzul personal. SINGLE, FLOAT4, REAL Number, FildSize = Single Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare DOUBLE, FLOAT, FLOAT8, NUMBER pot multiplica documentul numai contra cost i Number, FildSizeal autorului. n acest cu acordul scris = Double scop m| ALPHANUMERIC, CHAR, TEXT, putei contact| la: Text CHARACTER, STRING ANTAL Tiberiu Alexandru LONGTEXT, MEMO, Memo tel.: 0040-264-530918 NOTE e-mail: antaltiberiu@pcnet.ro LONGBINARY, GENERAL, OLEOBJECT OLE Object GUID AutoNumber, FildSize=ReplicationID

313

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Actualizarea datelor cu SQL Universitatea Tenhic| din Cluj-Napoca n plus, pe lng| interogarea datelor, SQL-ul permite i modificarea acestora. SQL-ul se poate Facultatea Construcii de Maini folosi pentruMecanic| i Programare copierea nregistr|rilor. Instruciunile SQL care au o Catedra de actualizarea, tergerea sau coresponden| de Access QBE se prezint| n tabelul care urmeaz|: Curs de baze n date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Instruciune SQL Echivalent n Access QBE Multiplicarea acestui document n scop comercial este interzis|. UPDATE Update Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest DELETE Delete document pentru uzul personal. INSERT INTO Append Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare SELECT INTO Make-table pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Toate fac parte i din ANSI SQL, cu excepia ultimei, mai precis SELECT INTO este folosit| ANTALaltfel pentru mutarea unui singur rnd de date ntr-o list| de variabile. cu totul Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Instruciunea UPDATE Se folosete pentru modificarea valorilor din una sau mai multe coloane ale unui tabel. Sintaxa este: UPDATE tabel-interogare Conf. dr. ing. ANTAL Tiberiu Alexandru SET coloana1=expresie1 [, coloana2=expresie2] [, ...] Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini [WHERE criteriu]; Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Dac| se folosete o interogare ca aceasta trebuie s| fie permis| actualizarea (updateable) Copyright 2000. din clauza SET poate fi rezervate autorului. datelor. Expresia Toate drepturile sunt o constant| sau rezultatul unor calcule. Multiplicarea acestui document n scop comercial este interzis|. Exemplu: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Pentru a crete preul produselor care nu sunt automobile din tabelul TProduseDetalii cu 1.05 document pentru uzul personal. scriem: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare UPDATE TProduseDetalii numai contra cost i cu acordul scris al autorului. n acest pot multiplica documentul scop TProduseDetalii.Pret = [Pret]*1.05 SET m| putei contact| la: WHERE Tiberiu Alexandru Like "Automobil*"; ANTAL DescriereProdus Not tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Standardul ANSI permite utilizarea subinterog|rilor n clauza SET, n timp ce Access SQL-ul nu le suport|, dar suport| asocieri, aceasta fiind o deviere de la standard, pentru a asigura o oarecare echivalen| n funcionare.

314

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Instruciunea DELETE Universitatea Tenhic| din Cluj-Napoca Se foloseteConstrucii de Maini Facultatea pentru tergerea rndurilor dintr-un tabel. Sintaxa ei este: Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access DELETE [tabel.*] FROM clauza-form Copyright 2000. Toate drepturile sunt rezervate autorului. [WHERE criteriu]; Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la opional| pentrunv||mnt superior bugetar pot multiplica acest Folosirea lui tabel.* este orice form| de interog|ri ce se refer| la un singur tabel. Este document pentrurndurilor din tabel asociate respectnd regulile: posibil| tergerea uzul personal. se pot folosi datele unui tabel de nv||mnt cu rnduri s| fie terse dintr-un tabel Sudenii participani la orice form|pentru a decide careplat| sau alte persoane doritoare asociat. Aceasta se realizeaz| folosind o asocierei cu acordul scris al prin folosirea unei pot multiplica documentul numai contra cost n clauza FROM sau autorului. n acest subinterog|ri n contact| la: scop m| putei clauza WHERE. Relaia dintre tabele poate fi 11 sau 1M; se pot terge rnduri cu o singur| interogare DELETE dac| tabelele sunt n relaia de 11; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 se pot terge rnduri din tabelele asociate printr-o relaie 1M cu o serie de interog|ri e-mail: antaltiberiu@pcnet.ro DELETE. Exemplu: Pentru a terge toi clienii din TClienti care nu au f|cut o comand| n ultimii 3 ani scriem: Conf. dr. ing. ANTAL Tiberiu Alexandru DELETE Universitatea Tenhic| din Cluj-Napoca FROM TClienti Facultatea Construcii de Maini WHERE de Mecanic| i Programare Catedra TClienti.ClientID NOT IN Curs de baze de date Microsoft Access (SELECT ClientID FROM TClienti WHERE DataComenzii > DateAdd('yyyy',-3,Date())); Copyright 2000. Toate drepturile sunt rezervate autorului. Instruciunea INSERT INTO Multiplicarea acestui document n tabel sau interogare ntr-un alt tabel sau se mai poate Permite copierea de rnduri dintr-un scop comercial este interzis|. folosi pentru ad|ugarea unui singur rnd de date unui tabel. Sintaxa este: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. INSERT INTO tabel-destinaie Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare instruciune-select; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Exemplu: ANTAL Tiberiu Alexandru Cea mai simpl| form| este copierea ntregului coninut al unui tabel (TClienti) n altul tel.: 0040-264-530918 (TClientiNou) scriem: e-mail: antaltiberiu@pcnet.ro INSERT INTO TClientiNoi SELECT * FROM TClienti;

315

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Dac| dorii inserarea unui rnd de valori unui tabel se folosete sintaxa: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access [, coloana2 [, ...]])] INSERT INTO tabel-interogare [(coloana1 VALUES (valoare1 [, valoare2 [, ...]]); Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Dac| referinele coloanelor sunt omise trebuie incluse valori pentru fiecare coloan| n ordinea de apariie din definiia tabelului. Dac| referinele coloanelor sunt scrise,pot pot omite coloane Sudenii participani la orice form| de nv||mnt superior bugetar se multiplica acest i se poate modifica ordinea de apariie a valorilor. document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Exemplu: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Pentru a putei contact| la: scop m| insera un rnd nou n tabelul TProduse scriem: ANTAL Tiberiu Alexandru INSERT INTO TProduse (ProdusID, Pret, DescriereProdus) tel.: 0040-264-530918 VALUES (108, 90000000, "Automobil SKODA Felicia"); e-mail: antaltiberiu@pcnet.ro Instruciunea SELECT INTO Este specific| Access SQL-ului i permite crearea unui tabel nou din rndurile unui alt tabel sau interogare. Sintaxa este: Conf. dr. ing. ANTAL Tiberiu Alexandru SELECT coloana1 [, coloana2 [, ...]] INTO tabel-nou Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini FROM lista-tabele Catedra de Mecanic| i Programare [WHERE clauza-where] Curs de baze de date Microsoft Access [ORDERED BY clauza order-by]; Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Exemplu: Pentru crearea tabelului TComenziVasile scriem: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. SELECT ComandaID, DataComada, ClientID Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare INTO TComenziVasile pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest FROM TComanzi scop m| putei contact| la: WHERE ClientID = 7; ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Att INSERT INTO ct i SELECT INTO pot include orice instruciune SELECT care produce o mulime de ntregistr|ri folosind clauza GROUP BY, asocieri, subinterog|ri sau operatorul UNION.

316

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| dinDefiniia datelor cu SQL Cluj-Napoca Facultateametode pentru crearea i manipularea schemei bazelor de date prin programe Exist| trei Construcii de Maini CatedraActiveX Data Objects (ADOX), interog|ri Data Definition Language (DDL) i mai Access: de Mecanic| i Programare Curs de baze de date Microsoft Access vechea Data Access Objects (DAO). n paragraful care urmeaz| se vor prezenta, ntr-o versiune concentrat|, interog|rile DDL. La fel ca i n cazul interog|rilor de reuniune, se Copyright 2000. Toate drepturile sunt rezervate autorului. lucreaz| interog|ri DDL ce folosesc SQL. Nu exist| un corespondent n Access QBE. De asemenea, se pot executa interog|ri DDL prin definirea i executarea unei definiii de Multiplicarea acestui document care urmeaz| prezint| 4interzis|. DDL suportate de interogare folosind VBA. Tabelul n scop comercial este instruciuni SQL: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Instruciune DDL Efect Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare CREATE TABLE Creeaz| cu acordul tabel nou. pot multiplica documentul numai contra cost ischema unui scris al autorului. n acest scop m| putei contact| la: ALTER TABLE Modific| schema unui tabel existent. ANTAL Tiberiu Alexandru CREATE INDEX tel.: 0040-264-530918 DROP e-mail: antaltiberiu@pcnet.ro Creeaz| un index nou. terge schema unui tabel sau un index.

Instruciunea CREATE TABLE


Instruciunea creeaz| un tabel nou. Sintaxa ei este: Conf. dr. ing. ANTAL Tiberiu Alexandru CREATE TABLE tabel Universitatea Tenhic| din Cluj-Napoca (coloana1 tip1 [(dimensiunea1)] [CONSTRAINT constrngere1-coloana] Facultatea Construcii de Maini Catedra de Mecanic| i Programare [, (coloana2 tip2 [(dimensiunea2)] [CONSTRAINT constrngere2-coloana] Curs de baze de date Microsoft Access [, ...]] [CONSTRAINT Toate drepturile sunt rezervate autorului. Copyright 2000.constrngere1-tabel [, constrngere2-tabel [, ...]]]); Multiplicarea acestui document n scop comercial este interzis|. Tipul de dat| al coloanelor este specificat conform tabelului prezentat n paragraful SQL cu parametri. Parametrulla orice form| de nv||mnt specificarea lungimii unei coloaneacest Sudenii participani opional dimensiunea permite superior bugetar pot multiplica text. Dac| dimensiunea uzul personal. document pentru este nespecificat|, valoarea dimensiunii atribuite implicit este de 255. Prin folosirea lui CREATE TABLE se pot crea dou| tipuri de constrngeri, indexuri simple i multi-coloan|, prin folosirea clauzei CONSTRAINS. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Exemplu: Pentru a Tiberiu Alexandru ANTAL crea un tabel TProduseNoi folosind schema tabelului TProduse scriem: tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro CREATE TABLE TProduseNoi (ProdusID LONG, DescriereProdus TEXT (200), Pret CURRENCY);

317

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Clauza CONSTRAINT Universitatea Tenhic| din Cluj-Napoca n SQL-92, Construcii dese folosesc pentru: restricionarea valorilor care pot fi ad|ugate Facultatea constrngerile Maini unui tabel; crearea cheilorProgramare Catedra de Mecanic| i primare i str|ine; forarea valorilor unor coloane s| fie unice (UNIQUE) sau nenule Microsoft Access Curs de baze de date (NOT NULL); crearea regulilor de validare (prin constrngerea CHECK). Pentru c| singura constrngere pe care Access-ul o suport| este cea legat| de definiia indexurilor, este convenabil s| ne gndim c| n Access clauza CONSTRAINT se Copyright 2000. Toate drepturile sunt rezervate autorului. folosete pentru a crea indexuri. Sintaxa pentru crearea unei chei simple este: Multiplicarea acestui document n scop comercial este interzis|. CONSTRAINT nume Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest {PRIMARY KEY UNIQUE | REFERENCES tabel-str|in [(coloan|-str|in|)]} document pentru |uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare iar pentru crearea unei chei multi-coloan| este: i cu acordul scris al autorului. n acest pot multiplica documentul numai contra cost scop m| putei contact| la: CONSTRAINT nume ANTAL Tiberiu Alexandru tel.: 0040-264-530918 {PRIMARY KEY (coloana1 [, coloana2 [, ...]]) e-mail: antaltiberiu@pcnet.ro | UNIQUE | FOREIGN KEY (coloana1 [, coloana2 [, ...]]) REFERENCES tabel-str|in [(coloan|-str|in|1 [, coloan|-str|in|2 [, ...]])]} Exemple: Conf. dr. ing. ANTAL Tiberiu Alexandru Pentru a crea folosind instruciunea CREATE TABLE tabelul TProduseNoi avnd un index Universitatea Tenhic| din Cluj-Napoca unic cmpul DescriereProdus Facultatea Construcii de Maini scrie: Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access CREATE TABLE TProduseNoi (ProdusID 2000. Toate drepturile TEXT CONSTRAINT DescriereProdus UNIQUE, Pret CopyrightLONG, DescriereProdus sunt rezervate autorului. CURRENCY); Multiplicarea acestui document n scop comercial este interzis|. n continuare s| presupunem c|form| de nv||mnt tabele TComenziNoipot multiplica ntre Sudenii participani la orice dorim crearea a dou| superior bugetar i TArticoleNoi acest care s| existe o relaie 1M. TComenziNoi va avea cmpurile ComandaID - cheia primar|, document pentru uzul personal. DataComenzii i ClientID, iar TArticoleNoi va avea cmpurile DescriereArticol, ComandaID i AtricolID -form| de dou| mpreun| vor forma cheia primar|, iar Sudenii participani la orice ultimele nv||mnt cu plat| sau alte persoane doritoare ComandaID va fi cheia str|in|. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: CREATE TABLE TComenziNoi ANTAL Tiberiu Alexandru (ComandaID LONG CONSTRAINT CheiePrimara PRIMARY KEY, DataComenzii tel.: 0040-264-530918 DATETIME, Client ID LONG); e-mail: antaltiberiu@pcnet.ro CREATE TABLE TArticoleNoi (ComandaID LONG CONSTRAINT TComenziNoiChStraina REFERNCES TComenziNoi ,

318

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru AtricolID LONG, DescriereAtricol TEXT (100), CONSTRAINT CheiePrimara PRIMARY Universitatea Tenhic| din Cluj-Napoca KEY (ComandaID, AtricolID)); Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Instruciunea CREATE INDEX Al|turi de clauza CONSTRAINT din instruciunile CREATE TABLE i ALTER TABLE se Copyright 2000. Toate drepturile sunt rezervate autorului. poate folosi instruciunea CREATE INDEX (care nu face parte din ANSI SQL) pentru crearea unui index al unui tabel deja existent. Sinatxa comenzii este: Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani INDEX index de nv||mnt superior bugetar pot multiplica acest CREATE [UNIQUE] la orice form| document pentru uzul personal. ON tabel (coloana1 [, coloana2 [, ...]]) Sudenii participani DISALLOW NULL | IGNORE cu plat| sau alte persoane doritoare [WITH {PRIMARY | la orice form| de nv||mnt NULL}]; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Cuvntul cheie UNIQUE face ca valorile indexului s| fie unice. PRIMARY permite crearea ANTAL Tiberiuprimar|. Toate indexurile cheie primar| sunt automat indexuri unice. unui index cheie Alexandru tel.: 0040-264-530918 motorul Jet de la crearea unui index cu valori Null. DISALLOW IGNORE NULL oprete e-mail:oprete utilizatorul s| introduc| o valoare Null n cmpul index. NULL antaltiberiu@pcnet.ro

Instruciunea ALTER TABLE


Se folosete pentru modificarea schemei unui tabel existent. Ea permite ad|ugarea unei coloane noi sau a unei constrngeri respectiv tergerea unei coloane sau a unei constrngeri. Se poate opera numai asupra unui singur cmp sau index ntr-o singur| instruciune ALTER Conf. dr. ing. ANTAL Tiberiu Alexandru TABLE. Sintaxa pentru ad|ugarea unei coloane este: Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini CatedraTABLE tabel ADD [COLUMN] tipdata [(dimensiune)] ALTER de Mecanic| i Programare Curs de baze de date Microsoft Access [CONSTRAINT costrngere_coloan|_unic|]; Copyright 2000. Toate drepturile sunt rezervate autorului. Exemplu: acestui document n scop comercial este interzis|. Multiplicarea Ad|ugarea unei coloane noi Cantiate tabelului TArticoleNoi se face prin: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. ALTERT TABLE TArticoleNoi ADD Cantitate SHORT; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Sintaxa pentru ad|ugarea unei constrngeri este: scop m| putei contact| la: ANTALTABLE tabel ADD CONSTRAINT constrngere; ALTER Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Sintaxa pentru tergerea unei coloane este: ALTER TABLE tabel DROP [COLUMN] coloana;

319

Tratarea erorilor n VBA si Access SQL - cursul 12 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Nu se poate Construcii de Maini dect dup| ce s-a ters indexul. Facultatea terge o coloan| index Catedra de Mecanic| i Programare Curs depentrude date Microsoft Access Sintaxa baze tergerea unui index este: Copyright 2000. Toate drepturile sunt rezervate autorului. ALTER TABLE tabel DROP CONSTRAINT index; Multiplicarea acestui document n scop comercial este interzis|. Nu se poate terge un la orice form| de ntr-o relaie dect dup| tergerea multiplica acest Sudenii participani index care particip|nv||mnt superior bugetar pot tuturor relaiilor n care particip|. document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Instruciunea DROP numai contra cost i cu acordul scris al autorului. n acest pot multiplica documentul scop m| putei contact| la: tabelelor sau a indexurilor. Are dou| forme sintactice. Sintaxa Se folosete pentru tergerea pentru tergerea unui tabel din baza de date este: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:TABLE tabel; DROP antaltiberiu@pcnet.ro Sintaxa pentru tergerea unui index este: DROP INDEX index ON tabel; Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Interog|ri SQL Pass-Through Facultatea Construcii de Maini Catedra de Mecanic| este transmis| neinterpretat| unui server de baze de date. Access-ul nu Acest tip de interogare i Programare Curs de baze de date va interpreta i nici nu va traduce instruciunile acestei interog|ri SQL. va verifica sintaxa, nu Microsoft Access Se creeaz| prin crearea unei interog|ri noi, apoi din Query, selectai SQL Specific i n final Copyright 2000. Toate drepturile sunt rezervate autorului. Pass-Through. Pass-Through. O interogare normal| nu se poate converti n una Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

320

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 13 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Dupa parcurgerea acestui curs veti cunoaste: 7 Curs de baze de date Microsoft Access Copyright 2000.este o mulime de nregistr|ri; ! ce Toate drepturile sunt rezervate autorului. ! Multiplicareacum se creeaz| o mulime de nregistr|ri; interzis|. acestui document n scop comercial este ! cum se parcurge o mulime de nregistr|ri; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ! cum se caut| o nregistare ntr-o mulime de nregistr|ri; document pentru uzul personal. ! cum se utilizeaz| marcajele ntr-o mulime de nregistr|ri; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ! cum se sorteaz| ntregistr|rile dintr-o mulime de nregistr|ri; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: nregistr|rile dintr-o mulime de nregistr|ri; ! cum se filtreaz|
! cum se editeaz| ANTAL Tiberiu Alexandru (adaug|, modific|, terg) datele dintr-o mulime de tel.: 0040-264-530918 nregistr|ri; e-mail: antaltiberiu@pcnet.ro ! cum se creeaz| folosind VBA obiecte ale bazei de date.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

321

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Lucrul cu mulimi de Universitatea Tenhic| din Cluj-Napoca nregistr|ri (sets of records) Facultatea am folosit interfaa Access-ului pentru afiarea, manipularea i modificarea Pn| acum Construcii de Maini Catedra debaz|. Uneori, aplicaiile trebuie s| aib| controlul direct asupra datelor pentru a datelor din Mecanic| i Programare Curs de baze de date Microsoft Access putea derula anumite sarcini speciale. Limbajul de programare VBA mpreun| cu obiectele pentru accesul la date (DAO), asigur| un limbaj de manipulare al datelor, sumar prezentat n Copyright 2000. Toate baz| de date n Access 2000 acesta va presupune c| dorii s| folosii cursul 11. Cnd creai o drepturile sunt rezervate autorului. numai obiectul ADO (care va fi prezentat n cursul 14) i va include referine numai c|tre Multiplicarea acestui document n inclusiv Access 97 politica Microsoft-ului a fost orientat| aceast| bibliotec|. Pentru c| pn| la scop comercial este interzis|. c|tre popularizarea lui DAO, voi descrie lucrul cu aceast| bibliotec|, apoi voi descrie i Sudenii participani la orice form| de nv||mnt s| folosiibugetar pot multiplica acest modul de lucrul cu ADO. Dac| n Access 2000 dorii superior biblioteca DAO, n timp ce document pentru uzul personal. editai codul VBA, selectai din Tools pe Reference i ad|ugai Microsoft DAO 3.6 Object Library n lista referinelor selectate. Din cursul 11, cunoatei c| obiectul DBEngine - adic| SudeniiJet - este la nivelul cel form| de nv||mnt DAO. Toate referinele la orice obiecte motorul participani la orice mai de sus n ierarhia cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest o DAO ncep prin referirea obiectului DBEngine. n cadrul unei aplicaii, motorul Jet conine scop m|de unul contact|multe obiecte. Fiecare obiect Workspace conine o colecie de unul colecie putei sau mai la: sau mai multe obiecte Database. Fiecare obiect Database conine o colecie de obiecte ANTAL Tiberiu Alexandru conin colecii de obiecte Fields .a.m.d. Un obiect particular se TableDefs, care la rndul lor tel.: 0040-264-530918 poate stoca ntr-o variabil| i poate fi manipulat prin intermediul acesteia. Pentru a referi baza e-mail: curent| n DAO, soluia este plecarea din DBEngine i coborrea prin colecia de date antaltiberiu@pcnet.ro Workspaces pn| la colecia Databases, unde prin Databases(0) Access-ul va referi tocmai baza de date curent|. Conform celor spuse exist| dou| metode de scriere pentru aceasta: DBEngine.Workspaces(0).Databases(0) Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca sau forma scurtat|: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access DBEngine(0)(0) Copyright 2000. Toate drepturile sunt rezervate autorului. n plus Access-ul are i o funcie CurrentDB() care ntoarce o referin| la baza de date Multiplicarea i Access-ul sunt dou|scop comercial este interzis|. curent|. Jet-ul acestui document n produse separate. Jet-ul furnizeaz| serviciile de tip baz| de date de care are Access-ul nevoie, dar Access-ul are i el la rndul lui un grup de servicii Sudenii participani la se folosete la proiectarea aplicaiilor din interiorul Access-ului. propriu bazat pe Jet care orice form| de nv||mnt superior bugetar pot multiplica acest documentfurnizeaz| CurrentDB() pentru referirea bazei de date curente, iar Jet-ul Access-ul pentru uzul personal. furnizeaz| DBEngine.Workspaces(0).Databases(0) n acelai scop. n momentul Sudenii participani la orice form| de nv||mntmetode desau alte persoane doritoare de fa| exist| o problem| subtil| legat| de cele dou| cu plat| acces. CurrentDB() i pot multiplica documentul numaiintern acelaii cu acordul scris al autorului. n acest DBEngine(0)(0) nu reprezint| contra cost obiect, dei ambele se refer| la aceeai baz| scop m|La fiecare folosire a lui CurrentDB() Access-ul creeaz| intern un obiect nou care de date. putei contact| la: se refer| la baza de date curent|. Dup| ce VBA execut| linia cu aceast| referin| Access-ul ANTAL Tiberiu Alexandru baza de date (excepie face obiectul Recordset) motiv pentru nchide automat referina c|tre tel.: 0040-264-530918n continuare, orice referire la coleciile bazei de date curente vor fi care, din acel moment e-mail: antaltiberiu@pcnet.ro invalide. Pentru codul care urmeaz|, n procedura AsaNu() cnd se ajunge la doc.Name apare o eroare fatal|. Obiectul din baza de date care a fost referit nu mai exist|, iar doc devine o referin| invalid|. Dac| ns| se folosete DBEngine(0)(0) n locul lui CurrentDB() procedura va lucra corect.

322

Programarea cu obiectul DAO - cursul 13

Conf. AsaNu() Sub dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Dim doc As Document Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Set doc = CurrentDb.Containers("Forms").Documents(0) Debug.Print doc.Name Copyright 2000. Toate drepturile sunt rezervate autorului. End Sub Multiplicarea acestui document n scop comercial este interzis|. Sub AsaDa() Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Dim db As Database document pentru uzul personal. Dim doc As Document Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Set db = CurrentDb() scop m| putei contact| la: ANTAL Tiberiu = db.Containers("Forms").Documents(0) Set doc Alexandru tel.: 0040-264-530918 doc.Name Debug.Print e-mail: antaltiberiu@pcnet.ro End Sub Procedura AsaDa() lucreaz| de asemenea corect pentru c| se lucreaz| cu o variabil| de tipul baz| de date n locul unei simple referine. Cnd folosii numai Jet-ul pentru a accesa datele dintr-o baz| utilizai DBEngine(0)(0), dac| lucrai din Access, baza de date curent| poate fi referit| prin ambele metode. Baza de date referit| prin CurrentDb() este ntodeauna Conf. dr. ing. ANTAL Tiberiu Alexandru actualizat| la baza de date deschis| din Access. La utilizarea lui DBEngine(0)(0) trebuie Universitatea Tenhic| din Cluj-Napoca apelat| metoda Refresh nainte de folosirea oric|ror obiecte din coleciile bazei de date. Facultatea Construcii de Maini Pentru cei care lucreaz|i Programare declaraiile de variabile din procedurile de mai sus se Catedra de Mecanic| n Access 2000, modific| baze de date Microsoft Access Curs de astfel: Copyright 2000. Toate drepturile sunt rezervate autorului. Declaraii n Access 2.0, 95 i 97 Declaraie n Access 2000 i 2002 Multiplicarea acestui document n scop comercial este interzis|. Dim db As Database Dim db As DAO.Database Dim doc As Document Dim doc As DAO.Document Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de de nregistr|ri (recordset) sau persoane Obiectul mulime nv||mnt cu plat| scrisalteautorului. doritoare pot multiplica documentul numai contra cost i cu acordul al n acest DAO asigur| trei feluri de mulimi de nregistrare, descrise n tabelul urm|tor mpreun| cu scop m| putei contact| la: caracteristicile fiec|reia. ANTAL Tiberiu Alexandru Tip mulime de Avantaje Dezavantaje tel.: 0040-264-530918 Descriere nregistr|ri e-mail: antaltiberiu@pcnet.ro Mulime de Poate folosi Se poate folosi numai Table nregistr|ri pe baza indexuri pentru pentru tabele locale unui tabel. c|ut|ri rapide; Access, nu i n cazul datele pot fi editate. tabelelor ataate.

323

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Mulime de poantori Dynaset Universitatea Tenhic| din Cluj-Napoca Poate include date din mai multe tabele (pointers) referind Facultatea Construcii de Maini datele unui tabel sau locale sau ataate; Catedra de Mecanic| i Programare interog|ri din baza Curs de baze de date Microsoft Access poate folosi SQL; n majoritatea de date. cazurilor datele pot Copyright 2000. Toate drepturile sunt rezervate autorului. fi editate.

n unele cazuri mulimea de ntregistrare nu se poate edita; nu permite c|ut|ri rapide pe baza de index.

Multiplicarea acestuicopie instantanee comercial este interzis|. O document n scop Poate fi folosit| Datele nu se pot edita; Snapshot a unei mulimi de numai pentru toate datele se citesc n Sudenii participani la orice form| de nv||mnt superior bugetar potnainte de acest nregistr|ri, valorile parcurgere n avans mulime multiplica document pentru uzul personal. a sunt o copie fix| asigurnd creterea redarea controlului datelor i nu vitezei unor programului, deci nu vor Sudenii participani la orice form| de nv||mnt cu plat| sau reflecta modific|rile n alte persoane doritoare poantori la acestea. operaii. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest regimul de lucru cu scop m| putei contact| la: utilizatori multipli (multiuser); nu permite ANTAL Tiberiu Alexandru c|ut|ri rapide prin tel.: 0040-264-530918 indexuri. e-mail: antaltiberiu@pcnet.ro

Crearea unei mulimi de nregistr|ri


O mulime de nregistr|ri se creeaz| pn| la inclusiv Access 97 cu unul din grupurile de instruciuni: Conf. dr. ing. ANTAL Tiberiu Alexandru Dim rs As Recordset Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Set rs = db.OpenRecordset(Sursa, Tip, Optiuni, BlocareEditare) Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access sau Copyright 2000. Toate drepturile sunt rezervate autorului. Set rs=obiect.OpenRecordset(Tip, Optiuni, BlocareEditare) Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest n Access 2000 declaraia variabilei va fi de forma: document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dimmultiplica DAO.Recordset contra cost i cu acordul scris al autorului. n acest pot rs As documentul numai scop m| putei contact| la: n primul caz mulimea se creeaz| pe baza variabilei db care este tipul obiect baz| de date. ANTAL Tiberiu Alexandru Parametrul Sursa specific| de unde vor veni datele i poate fi: un nume de tabel, un nume de tel.: 0040-264-530918 interogare, o instruciune SQL. Pentru cel de al doilea exemplu, obiect este sursa de date i e-mail: antaltiberiu@pcnet.ro poate fi orice obiect al bazei de date care este deschis i ntoarce nregistr|ri: tabel, interogare sau alt| mulime de nregistr|ri. Parametrul Tip specific| tipul mulimii de nregistr|ri i poate lua valorile pe baza constantelor predefinite din tabelul care urmeaz|:

324

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Numele tipului mulime Cluj-Napoca Descriere Universitatea Tenhic| dinde nregistrare Facultatea Construcii de Maini Catedra de Mecanic| i Programare dbOpenTable Deschiderea unei mulimi de nregistr|ri Table. Curs de baze de date Microsoft Access dbOpenDynaset Deschiderea unei mulimi de nregistr|ri Dynaset. Copyright 2000. Toate drepturile sunt rezervate autorului. dbOpenSnapshot Deschiderea unei mulimi de nregistr|ri Snapshot. Multiplicarea acestui document n scop comercial este interzis|. dbOpenForwardOnly Deschiderea unei mulimi de nregistr|ri care poate fi parcurs| numai n sensul avansului (forward-only). Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Parametrul Optiuni controleaz| accesul n regimul de utilizatori multipli i comportamentul Sudenii participani la orice form| de nv||mnt cu plat| sause dau n tabelul care la actualizarea nregistr|rilor din mulime. Constantele predefinite alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest urmeaz|: scop m| putei contact| la: ANTAL Tiberiu Alexandru Constant| Descriere tel.: 0040-264-530918 dbAppendOnly Se e-mail: antaltiberiu@pcnet.ro pot ad|uga numai nregistr|ri noi (se aplic| numai tipului Dynaset). dbSQLPassThrough dbSeeChanges Face ca SQL-ul s| fie transferat direct server-ului pentru prelucrare (numai pentru tipul Snapshot).

Jet-ul genereaz| o eroare dac| un alt utilizator modific| datele editate la momentul curent (numai pentru tipul Conf. dr. ing. ANTAL Tiberiu Alexandru Dynaset). Universitatea Tenhic| din Cluj-Napoca dbDenyWrite Ceilali utilizatori nu pot modifica sau ad|uga nregistr|ri, Facultatea Construcii de Maini toate nregistr|rile tabelului vor fi blocate mpreun| cu cele Catedra de Mecanic| i Programare ale celorlalte tabele care formeaz| sursa de date ale tipului Curs de baze de date Microsoft Access Dynaset. Copyright 2000. Toate drepturile sunt rezervate autorului. dbDenyRead Ceilali utilizatori nu pot vizualiza datele tabelului (numai pentru tipul Table). Multiplicarea acestui document n scop comercial este interzis|. dbForwardOnly Mulimea nregistr|rilor se parcurge ntr-un singur sens, de la Sudenii participani la orice form| de nv||mnt superior bugetar pot singur| nceput la sfrit; se folosete cnd se face o multiplica acest document pentru uzul personal. parcurgere a mulimii de nregistr|ri, caz n care datele nu se copiaz| ntr-o zon| temporar| de memorie, viteza de Sudenii participani la orice form| de nv||mntmai plat| sau altepentru tipul Snapshot parcurgere fiind mult cu mare (numai persoane doritoare pot multiplica documentul numai contra cost i cu acordul cu dbOpenForwardOnly). i nu se folosete n conjuncie scris al autorului. n acest scop m| putei contact| la: dbReadOnly Utilizatorul poate vedea datele, ceilali ultilizatori le pot i ANTAL Tiberiu Alexandru modifica. tel.: 0040-264-530918 dbInconsistent Permite actualiz|ri inconsistente (numai pentru tipul Dynaset e-mail: antaltiberiu@pcnet.ro cu folosirea lui dbInconsistent sau dbInconsistent).

325

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru dbConsistent Permite numai actualiz|ri consistente (numai pentru tipul Universitatea Tenhic| din Cluj-Napoca Dynaset cu folosirea lui dbInconsistent sau Facultatea Construcii de Maini dbInconsistent). Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Parametrul BlocareEditare controleaz| concurea utilizatorilor multipli pentru accesul la Copyright 2000. Toate drepturile sunt rezervate autorului. noua mulime de nregistr|ri. Urm|toarele constante sunt predefinite: Multiplicarea acestui document n scop comercial este interzis|. Constant| Sudenii participani la orice form| de nv||mnt Descrierebugetar pot multiplica acest superior document pentru uzul personal. dbReadOnly nregistr|rile pot fi vizualizate de utilizatorul curent, alii le pot modifica (se folosete fie n Opiuni fie n BlocareEditare, dar Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare nu simultan). pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: dbPesimistic Blocare pesimist|; o pagin| este blocat| la folosirea metodei Edit i va r|mne blocat| ct timp datele paginii sunt editate. Aceasta ANTAL Tiberiu Alexandru este opiunea implicit| pentru Jet. tel.: 0040-264-530918 dbOptimistic Blocare e-mail: antaltiberiu@pcnet.ro optimist|; o pagin| este blocat| numai la folosirea metodei Update fiind blocat| un timp foarte scurt corespunz|tor actualiz|rii datelor.

Consistena i inconsistena actualiz|rilor


La crearea unei mulimi de nregistr|ri bazat| pe mai multe tabele, implicit, Access-ul permite Conf. dr. ing. ANTAL Tiberiu Alexandru Aceasta se cunoate sub numele de modific|ri numai n partea "muli" a asocierii. Universitatea Tenhic| din Cluj-Napoca actualizare consistent|. Dac| dorii actualizarea de cmpuri situate de ambele p|ri ale Facultatea Construcii de opiunea dbInconsistent. Aceasta poate duce la violarea asocierii trebuie s| folosii Maini Catedra de Mecanic| i Programare relaiilor dintre tabelele aplicaiei. Dac| ai activat integritatea referenial| pentru relaie i ai Curs de baze de date Microsoft Access validat cascadarea actualiz|rilor, dbInconsistent i dbConsistent produc comportament identic. n acest caz integritatea referenial| este mai puternic| i actualizarea Copyright 2000. Toate drepturile sunt rezervate autorului. se va face i pentru cmpurile din partea muli mpreun| dac| se face actualizarea celor din parte unu. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de de nregistrare bugetar pot multiplica acest Moduri de creare a mulimilore nv||mnt superior document pentru uzul personal. Sudenii participani la orice form| depe baza unui cu plat| sau alte persoane doritoare 1. Mulime de nregistr|ri creat| nv||mnt tabel sau interogare: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim m| puteiDatabase scop db As contact| la: Dim rsClienti As RecordSet ANTAL Tiberiu Alexandru Dim 0040-264-530918 RecordSet tel.: rsVanzari As e-mail: antaltiberiu@pcnet.ro Set db = CurrentDB()

Set rsClienti = db.OpenRecordset("TClienti", dbOpenTable)

326

Programarea cu obiectul DAO - cursul 13

Conf. rsVanzari = db.OpenRecordset("QVanzari", dbOpenDynaset) Set dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare pe baza unui ir SQL: 2. Mulime de nregistr|ri creat| Curs de baze de date Microsoft Access Dim db As Database Copyright 2000. Toate drepturile sunt rezervate autorului. Dim rsClienti As RecordSet Dim sirSQL As String Multiplicarea acestui document n scop comercial este interzis|. Set db = CurrentDB() Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. sirSQL="SELECT [Nume Client] AS Nume FROM TClienti" & _ Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare "ORDER BY [Nume Client]" contra cost i cu acordul scris al autorului. n acest pot multiplica documentul numai scop m| putei contact| la: Set rsClienti = db.OpenRecordset(sirSQL, dbOpenDynaset) ANTAL Tiberiu Alexandru tel.: 0040-264-530918 3. Mulime de nregistr|ri creat| pe baza unui tabel care blocheaz| accesul altor e-mail: antaltiberiu@pcnet.ro utilizatori la sursa de date: Dim db As Database Dim rsClienti As RecordSet

Set db = CurrentDB() Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Set rsClienti = de Maini Facultatea Construcii db.OpenRecordset("TClienti", dbOpenTable,E dbDenyRead) Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access 4. Mulime Toate drepturile sunt rezervate autorului. Copyright 2000.de nregistr|ri creat| pe baza unei definiii de interogare (QueryDef): Dim db As Database Multiplicarea acestui document n scop comercial este interzis|. Dim rs As RecordSet Sudenii participani la orice Dim qdf As QueryDef form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Dim pr As Parameter Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Set m| putei contact| la: scop db = CurrentDB() Set qdf = db.QueryDefs("Nume Interogare") ANTAL Tiberiu Alexandru For Each pr In qdf.Parameters tel.: 0040-264-530918 e-mail:pr.Value = Eval(pr.Name) antaltiberiu@pcnet.ro Next pr Set rs = qdf.OpenRecordSet(dbOpenDynaset)

327

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Ciclul parcurge toi parametri obiectului QueryDef (dac| acesta nu are parametri, ciclul nu Facultatea Construcii de Maini se execut|). Pentru fiecare parametru, codul evalueaz| proprietatea Name folosind funcia Catedra de Mecanic| i Programare Eval() baze de date Microsoft Access Curs de i atribuie valoarea ntoars| propriet|ii Value a parametrului. n acest fel toate valorile parametrilor se evalueaz| f|r| a trebui cunoscut n avans num|rul lor. Copyright 2000. Toate drepturile sunt rezervate autorului. Codul prezentat este necesar atunci cnd dorim s| cre|m o mulime de nregistr|ri pe baza Multiplicarea acestui document n scop comercial este interzis|. unei interog|ri despre care nu tim nimic pn| n momentul execuiei aplicaiei cnd ar putea fi necesar| furnizarea unor parametri din definiia interog|rii. F|r| acest cod ar trebui s| Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest cunoatem n avans num|rul i valorile acestor parametri. Prin folosirea DAO toi parametri document pentru uzul personal. necesari pot fi evaluai nainte de crearea muimii de nregistr|ri. Obiectul QueryDef are colecia Parameters, unde fiecare element al coleciei este un parametru al interog|rii. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Access-ul nu tie evalua valorile parametrilor cnd se creeaz| o mulime de nregistr|ri pe pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest baza unei definiii de interogare, dei parametrii sunt cunoscui, singura modalitate de scop m| putei contact| la: rezolvare fiind codul prezentat deja. De exemplu, dac| avem o interogare care are ca parametru cmpul Forms!FTContacte![Nume Contact], containerul QueryDef va ANTAL Tiberiu Alexandru conine un singur obiect parametru pentru care numele va fi Forms!FTContacte![Nume tel.: 0040-264-530918 Contact]. e-mail: antaltiberiu@pcnet.ro 5. Mulime de nregistr|ri creat| pe baza unui formular:

Dim rsClienti As RecordSet

Set rsClienti = Forms![FClienti].RecordSetClone Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Proprietatea Mecanic| i Programare formular este o mulime de nregistr|ri de tip Catedra de RecordsetClone a unui Dynaset care de ca surs| de date tabelul Curs de baze are date Microsoft Access sau interogarea care este sursa de date a formularului. Copyright 2000. Toate drepturile sunt rezervate autorului.

Parcurgerea unei mulimi de scop comercial este interzis|. Multiplicarea acestui document n nregistr|ri
Dup| ce au fost create, mulimile de nregistr|ri au ntotdeauna o nregistrare curent|. Cnd Sudenii participani la orice nregistr|ri, valorile obinute sunt cele alepot multiplica acest referim cmpurile mulimii de form| de nv||mnt superior bugetar nregistr|rii curente document pentru Exist| cazuri cnd poziia curent| este imediat naintea primei nregistr|ri (current record). uzul personal. sau imediat dup| ultima nregistrare din mulimea de nregistr|ri. n anumite cazuri speciale Sudenii participani curent| s| fie nedefinit|. Navigarea printre nregistr|rile mulimii se este posibil ca poziia la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul n tabelul care urmeaz|: acordul scris al autorului. n acest face cu metodele prezentate numai contra cost i cu scop m| putei contact| la: ANTAL Tiberiu Alexandru Numele metodei Efect tel.: 0040-264-530918 MoveFirst Deplasare pe prima nregistrare. e-mail: antaltiberiu@pcnet.ro MoveLast MoveNext Deplasare pe ultima nregistrare. Deplasare pe nregistrarea urm|toare.

328

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru MovePrevious Deplasare pe nregistrarea anterioar|. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini nainte sau napoi, relativ la un marcaj (bookmark). Move Deplasare Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Metoda Move, permite deplasarea nainte sau napoi, cu un num|r de nregistr|ri, n raport cu Copyright 2000. Toate drepturile sunt rezervate autorului. nregistrarea curent| sau cu un marcaj. Dac| obiectul este de tipul Table, deplasarea se face pe baza valorilor indexului, care se poate modifica prin proprietatea Index. n lipsa unui Multiplicarea nregistr|rilor este nedefinit|. Mulimile deinterzis|. prin propriet|ile index, ordinea acestui document n scop comercial este nregistr|ri, AbsolutePosition i PercentPosition, permit citirea sau scrierea poziiei curente Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest pe baza datelor din mulimea de nregistr|ri. Metodele MoveFirst, MoveLast, document pentru uzul personal. o aciune evident|, pentru cazul lui Move ns| treaba MoveNext, MovePrevius au devine ambigu|. Dac| rs este o mulime de nregistrare, atunci rs.Move nrrnduri [, Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare nceput] specific| deplasarea peste nrrnduri (>0 deplasarea se face nainte, <0 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest deplasarea se face napoi), iar parametrul opional poate conine un marcaj salvat. Dac| scop m| putei contact| la: marcajul nu este scris, Access-ul ncepe deplasarea de la nregistrarea curent|, altfel deplasarea este relativ| la marcaj. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro G|sirea num|rului de nregistr|ri din mulime Proprietatea RecordCount permite aflarea num|rului de nregistr|ri dintr-o mulime. Ea stocheaz| num|rul de nregistr|ri accesate pn| la momentul curent din mulimea de nregistr|ri. Pentru g|sirea num|rului actual de nregistr|ri trebuie folosit| MoveLast, naintea citirii valori lui RecordCount. ntr-un regim cu mai muli utilizatori problema se complic|. Dac| datele sunt partajate ntre mai muli utilizatori i dac| mai muli utilizatori au deschis mulimi de nregistr|ri pe baza aceleiai surse de date, tergerile nu vor fi v|zute Conf. dr. ing. ANTAL Tiberiu Alexandru imediat ntre maini. n acest caz urm|torii pai vor fi urmai pentru aflarea num|rului de Universitatea Tenhic| din Cluj-Napoca nregistr|ri: Construcii de Maini Facultatea se folosete metoda Requery a obiectului mulime de nregistrare; se folosete metoda MoveLast pentru a ne deplasa la sfritul mulimii; se citete valoarea stocat| n Catedra de Mecanic| i Programare RecordCount. Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Testarea limitelor mulimii de nregistr|ri Orice mulime acestui document n scop comercial EOF pentru a Multiplicarea de nregistrare are propriet|ile BOF ieste interzis|. indica dac| nregistrarea curent| este la sfritul (EOF) sau nceputul (BOF) mulimii: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest < la folosirea lui MovePrevious dac| prima nregistrare este curent|, BOF devine document pentru uzul personal. True i nu va mai exista rnd curent; < dac| se folosete orice form| de nv||mnt cu r|mne True dar apare o eroare n Sudenii participani la din nou MovePrevious, BOF plat| sau alte persoane doritoare execuie; pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: < la folosirea lui MoveNext, dac| ultima nregistrare este curent|, EOF devine True i nu va mai exista nregistrare curent|; ANTAL Tiberiu Alexandru < dac| se folosete tel.: 0040-264-530918 MoveNext din nou, EOF r|mne adev|rat| dar se genereaz| o eroare n execuia ciclului. e-mail: antaltiberiu@pcnet.ro Pentru ca s| tii la deschiderea unei mulimi de nregistr|ri, dac| aceasta are sau nu nregistr|ri, trebuie s| testai simultan propriet|ile BOF i EOF astfel (dac| BOF i EOF sunt

329

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. mulimea Tiberiu Alexandru ambele True, ANTAL nu are nregistr|ri): Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini If Not de Mecanic| i Programare Catedra rs.BOF And Not rs.EOF Then Curs de baze de date Microsoft Accessdaca multimea are nregistr| ri 'aici se ajunge numai 7 End If Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop s| test|m terminarea relu|rii operaiei ciclate, iar Deseori, n instruciunile de ciclare dorim comercial este interzis|. dac| mulimea nu are nregistr|ri ciclul nici m|car s| nu fie nceput, codul folosit pentru Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest aceasta este: document pentru uzul personal. Do Until rs.EOF Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra aici cu acordul scris al autorului. n acest 'opera iile ciclate vin cost i ... scop m| putei contact| la: 'undeva aici se face i avansul la nregistrarea 'urm| toare, de exemplu cu rs.MoveNext ANTAL Tiberiu Alexandru Loop tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

C|utarea unor nregistr|ri specifice


Urm|toarele metode se pot folosi pentru localizarea unor nregistr|ri din mulimile de tipurile Dynaset sau Snapshot.

Conf. dr. ing. ANTAL Tiberiu Alexandru Numele metodei Efect Universitatea Tenhic| din Cluj-Napoca FindFirst criteriu Facultatea Construcii de Maini G|sete prima nregistrare care satiface criteriul. Catedra de Mecanic| i Programare FindLast criteriu G|sete ultima nregistrare care satisface criteriul. Curs de baze de date Microsoft Access FindNext criteriu G|sete urm|toarea nregistrare care satisface criteriul. Copyright 2000. Toate drepturile sunt rezervate autorului. FindPrevious criteriu G|sete nregistrarea anterioar| care satisface criteriul. Multiplicarea acestui document n scop comercial este interzis|. Metodeleparticipani la orice form| unui criteriu de selecie de forma unei ecuaii acest Sudenii Find necesit| specificarea de nv||mnt superior bugetar pot multiplica ce conine nume de cmpuri care iau valori specifice. De exemplu, dac| dorim s| g|sim prima document pentru uzul personal. apariie a numelui "Ioan" scriem: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra = 'Ioan' " rs.FindFirst "[Nume Contact] cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru Instruciunea With tel.: 0040-264-530918 serii de instruciuni ale unui singur obiect f|r| a specifica n mod Permite executarea unei e-mail:numele obiectului. Sintaxa instruciunii este: repetat antaltiberiu@pcnet.ro With obiect

330

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru [ instructiuni] Universitatea Tenhic| din Cluj-Napoca End With Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Dac| dorim, de exemplu s| g|sim toate contactele cu [Nume Contact] = Ioan atunci trebuie realizat unToate care parcurge toate nregistr|rile mulimii verificnd criteriul dorit Copyright 2000. ciclu drepturile sunt rezervate autorului. dup| cum urmeaz|: Multiplicarea acestui document n scop comercial este interzis|. sircriteriu = "[Nume Contact] = 'Ioan' " Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. With rs .FindFirst sircriteriu Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Do While Not .NoMatch pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| puteiDebug.Print ![Nume Contact] contact| la: .FindNext ANTAL Tiberiu Alexandru sircriteriu tel.: 0040-264-530918 Loop e-mail: antaltiberiu@pcnet.ro End With

Proprietatea NoMatch devine True de cte ori operaia Find nu reuete i poziia nregistr|rii curente devine nedefinit|. Dac| c|utarea are ca scop modificarea unor valori de cmpuri, folosirea unei interog|ri de aciune este mai eficient|. Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca C|utarea n tabele Facultatea Construcii de Maini Metoda Seek se folosete pentru localizarea unei nregistr|ri dintr-o mulime indexat| de Catedra de Mecanic| i Programare tipul de baze de date Microsoft Access CursTable care satiface un criteriu pentru indexul curent. Sintaxa ei este: Copyright 2000. Toate drepturile sunt rezervate autorului. rstabel.Seek operatorcomp. cheie1, cheie2 ... Multiplicarea acestui document n scop comercial este interzis|. rstabel este o variabil| mulime de nregistr|ri care refer| tabelul n care se va c|uta. Sudenii participani la orice form| de un ir de caractere ce specific| operatorul de acest Primul parametru, operatorcom, este nv||mnt superior bugetar pot multiplica document pentru uzul personal. comparaie i poate fi: "=", "<=", "<", ">=", ">". Argumentele cheie sunt una sau mai multe valori pe care VBA le compar| cu valorile indexului din tabel. Dac| indexul este format Sudeniisingur cmp atunci se folosete pentru comparaie numai valoarea cheie1, dac| dintr-un participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest indexul este format din dou| cmpuri, atunci se folosesc pentru comparaie valorile cheie1 scop m| putei contact| la: i cheie2, etc. Indexul curent trebuie stabilit explicit nainte de folosirea lui Seek. Dac| indexul localizeaz| un cmp cheie cu valoarea neunic|, Seek va g|si prima nregistrarea care ANTAL Tiberiu Alexandru satisface criteriul. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Sub SeekIndex() Dim db As Database

331

Programarea cu obiectul DAO - cursul 13

Conf. Diming. ANTAL Tiberiu Alexandru dr. rs As Recordset Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de db = CurrentDb() Set Mecanic| i Programare Curs de baze de date Microsoft Access Set rs = db.OpenRecordset("TContacte", dbOpenTable) Copyright 2000. Toate drepturile sunt rezervate autorului. rs.Index = document n scop Multiplicarea acestui"IDContact" comercial este interzis|. rs.Seek "=", 1 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. If Not rs.NoMatch Then Debug.Print rs![Nume Contact] Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Do Until Not la: scop m| putei contact| rs.NoMatch Debug.Print rs![Nume Contact] ANTAL Tiberiu Alexandru rs.Seek tel.: 0040-264-530918 "=", 1 e-mail: antaltiberiu@pcnet.ro Loop rs.Close

End Sub Conf. dr. ing. ANTAL Tiberiu Alexandru Utilizarea marcajelor Cluj-Napoca Universitatea Tenhic| din (bookmark) Facultateanregistr|rile unei mulimi de nregistr|ri sunt o submulime a nregistr|rilor unor n Access, Construcii de Maini Catedra de Mecanic| i Programare tabele. Pentru c| num|rul actual de nregistr|ri se poate modifica oricnd, mai ales n regim Curs de cu mai muli utilizatori, nu exist| un num|r absolut care s| specifice poziia unei de lucru baze de date Microsoft Access nregistr|ri particulare. Motorul Jet, are o proprietate Bookmark sau marcaj, care permite Copyright 2000. Toate drepturile sunt rezervate autorului. mulime de nregistr|ri. p|strarea i poziionarea rapid| pe nregistrarea curent| dintr-o Fiecare mulime de nregistr|ri are o singur| nregistrare curent|. Pentru a stoca poziia Multiplicarea acestui marcajul rndului respectiv care este un ntreg pe 4 bii unic, generat de acesteia se poate stoca document n scop comercial este interzis|. sistem, pentru fiecare nregistrare. Valoarea numeric| a marcajului are o semnificaie numai Sudenii participani la oricefolosi nde nv||mnt superior bugetar pot multiplica acest pentru Access, ea nu se poate form| cadrul unor expresii aritmetice. Pentru a salva valoarea document pentru uzulunei variabile de tipul Variant valoarea propriet|ii Bookmark. unui marcaj se atribuie personal. Pentru a seta valoarea unui marcaj, se seteaz| valoarea propriet|ii Bookmark la valoarea Sudenii participani la orice form| demulime de nregistr|risau alte persoane doritoare variabilei. Num|rul marcajelor pentru o nv||mnt cu plat| este nelimitat. Acestea asigur| pot multiplica documentulmare cu contra cost i cu acordul scris al autorului. n acest viteza de manevr| cea mai numai nregistr|rile mulimii. De exemplu, dac| dorii s| v| scop m| putei contact| la: curent| pe alta, apoi s| revenii, putei lucra prin dou| metode: poziionai de pe nregistrarea stocai valoarea cheii primare - v| poziionai pe o alt| nregistrare, apoi folosii una dintre ANTAL Tiberiu Alexandru metodele Seek sau FindFirst pentru a reveni la nregistrarea original| pe baza valorii tel.: 0040-264-530918stocai valoarea marcajului - v| poziionai pe o alt| nregistrare, apoi cheii primare salvate; e-mail: marcajul pentru a reveni la nregistrarea original|. Dac| de exemplu, dorim s| folosim folosii antaltiberiu@pcnet.ro marcajul nregistr|rii curente dintr-o mulime la care apoi s| revenim, codul va fi ceva de forma:

332

Programarea cu obiectul DAO - cursul 13

Conf. bm ing. ANTAL Tiberiu Alexandru Dim dr. As Variant Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare bm= rs.Bookmark Curs de baze de date Microsoft Access rs.MoveFirst 'Pozitionare pe prima nregistrare Copyright 2000. Toate drepturile sunt rezervate autorului. 'Realizati acestui document n scop comercial este interzis|. 7 7 Multiplicarea cautarea dorita .... Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest 'Pentru revenire la nregistrarea originala 7 document pentru uzul personal. rs.Bookmark=bm Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dup| nchiderea mulimii de scop m| putei contact| la: nregistr|ri prin folosirea metodei Close valoarea marcajului devine invalid|. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Sortarea nregistr|rilor dintr-o mulime de nregistr|ri e-mail: antaltiberiu@pcnet.ro nregistr|rile unei mulimi de nregistr|ri apar n ordinea introducerii lor n baza de date. Dac| se dorete afiarea datelor ntr-o ordine specific| se pot folosi mai multe metode de sortare. Sortarea prin folosirea propriet|ii Index nregistr|rile unui tabel se pot extrage pe baza valorii oric|rui index, inclusiv pe baza cheii Conf. dr. ing. ANTAL Tiberiusortare se face dnd propriet|ii Index a variabilei mulime primare. Specificarea ordinii de Alexandru Universitatea (recordset), mai jos rs, numele unui index al tabelului, mai jos id. Imediat de nregistr|ri Tenhic| din Cluj-Napoca Facultatea Construcii de Maini dup| setarea acestei propriet|i, nregistr|rile apar n noua ordine. Dup| modificarea Catedra de Mecanic| i Programare indexului, Access-ul se pare c| face prima nregistrare ca nregistrare curent|, ns| acest Curs de baze de date Microsoft Access comportament nu este documentat. Dac| proprietatea Index este setat| la un index inexistent se va genera o eroare care va putea fi tratat| conform procedurilor din cursul anterior. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui documentcmpurile indexate, este interzis|. Procedura care urmeaz| afieaz| n scop comercial n ordinea specific|rii indexurilor pentru tabel. Indexurile tabelului cu numele stocat n variabila NumeTabel se obin prin Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest parcurgerea colecie de indexuri a obiectului TableDef. Pentru fiecare index din colecie, document numele uzul personal. este extras pentru lui i numele cmpului indexat mpreun| cu valorile cmpului indexat corespunz|tor fiec|rei nregistr|ri din mulimea de nregistrare. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Sub AfisareCampuriIndexate(NumeTabel As String) Dim db As Database ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Dim rs As Recordset e-mail: antaltiberiu@pcnet.ro Dim tdf As TableDef Dim id As Index Dim fl As Field

333

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Dim sircamp de String Facultatea Construcii As Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Set db = CurrentDb() Copyright 2000. Toate drepturile sunt rezervate autorului. Set tdf = db.TableDefs(NumeTabel) Set rs = db.OpenRecordset(NumeTabel, dbOpenTable) Multiplicarea acestui document n scop comercial este interzis|. For Each id In tdf.Indexes Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest rs.Index = id.Name document pentru uzul personal. Debug.Print "Index este: "; rs.Index Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare rs.MoveFirst pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Do While Not rs.EOF ANTAL Tiberiu Alexandru For tel.: 0040-264-530918 Each fl In id.Fields e-mail: antaltiberiu@pcnet.ro sircamp = sircamp & vbTab & rs(fl.Name) Next fl

Debug.Print sircamp sircamp = "" Conf. dr. ing. ANTAL Tiberiu Alexandru rs.MoveNext Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Loop Catedra de Mecanic| i Programare Next id Curs de baze de date Microsoft Access rs.Close Copyright 2000. Toate drepturile sunt rezervate autorului. End Sub Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Pentru a testa procedura de mai sus, document pentru uzul personal. folosind baza de date ex1.mdb, care conine tabelul cu numele TContacte, scriem AfisareCampuriIndexate "TContacte" n fereastra imediat|. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Sortarea prin folosirea clauzei SQL ORDER BY Cnd datele unei Alexandru ANTAL Tiberiumulimi de nregistr|ri vin din mai multe tabele problema ordinii nregistr|rilor este mai tel.: 0040-264-530918 complicat|. O variant| pentru sortare este folosirea SQL-ului. De e-mail: antaltiberiu@pcnet.ro exemplu, pentru sortarea ascendent| a nregist|rilor unui tabel TContacte folosind codul: Dim db As Database

334

Programarea cu obiectul DAO - cursul 13

Conf. rs ing. ANTAL Tiberiu Alexandru Dim dr. As Recordset Universitatea Tenhic| din Cluj-Napoca set rs=db.OpenRecordset("SELECT * FROM TContacte ORDER BYE Facultatea Construcii de Maini [Nume Contact];") Programare Catedra de Mecanic| i Curs de baze de date Microsoft Access n acest caz, mulimea de nregistr|ri poate fi creat| autorului. Copyright 2000. Toate drepturile sunt rezervate numai folosind un obiect baz| de date i un ir SQL, iar mulimea de nregistr|ri rezultat| este implicit de tip Dynaset (eventual de tip Snapshot dac| se cere explicit aceasta). Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Sortare folosind proprietatea Sort document pentru uzul personal. Metoda se poate aplica pentru tipurile de mulime de nregistr|ri Dynaset i Snapshot prin setarea propriet|ii Sort folosind un de nv||mnt cu cu cel al alte persoane doritoare Sudenii participani la orice form| criteriu asem|n|torplat| sau clauzei ORDER BY. Se va specifica cmpul pe baza c|ruia se face sortarea, i cu acordul scris al autorului. n acest pot multiplica documentul numai contra cost opional tipul cresc|tor sau descresc|tor al sort|rii. putei contact| la: scop m|Cteva exemple de setare a propriet|ii Sort sunt: ANTAL Tiberiu Alexandru rs.Sort = "[Nume Contact]" tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro rs.Sort = "[Nume Contact] ASC" rs.Sort = "[Nume Contact] DESC"

La folosirea propriet|ii Sort trebuie reinute: noua ordine de sortare are efect numai la crearea unei noi mulimi de nregistr|ri, bazat| pe ing. ANTAL Tiberiu ilustreaz| aceast| modalitate de lucru fiind: Conf. dr. cea veche, un cod care Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dim db de Mecanic| i Programare Catedra As Database Curs de baze de date Microsoft Access Dim rs As Recordset Dim rssortatToateRecordset Copyright 2000. As drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Set db = CurrentDb() Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Set rs = db.OpenRecordset("TContacte") document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare rs.Sort = "[Nume Contact] DESC" pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Set rssortat = rs.OpenRecordset() ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail:proprietatea nu se aplic| unei mulimi de nregistrare de tipul Table, n acest caz se antaltiberiu@pcnet.ro folosete proprietatea Index.

Filtrarea mulimilor de nregistr|ri

335

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru face parte din mulimea de nregistr|ri, n Este posibil| i filtrarea nregistr|rilor care vor Universitatea Tenhic| dindou| metode cu avantajele i dezavantajele lor. continuare fiind prezentate Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Filtrarea folosind clauza SQL WHERE Copyright 2000. Toate drepturile sunt rezervate autorului. Se poate crea o mulime de nregistr|ri prin folosirea instruciunii SQL cu clauza WHERE astfel: Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Sub Filtrare() document pentru uzul personal. Dim db As Database Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dim rs As Recordset pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim fl As Field scop m| putei contact| la: ANTAL Tiberiu Alexandru Set db = CurrentDb() tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Set rs = db.OpenRecordset( _ "SELECT * FROM TContacte WHERE [Nume Contact] Like 'A*';")

Do While Not rs.EOF Conf. dr. ing. ANTAL Tiberiu Alexandru For Each fl In rs.Fields Universitatea Tenhic| din Cluj-Napoca Debug.Print Facultatea Construcii de Maini fl.Name; " = "; rs(fl.Name).Value Catedra de Next fl i Programare Mecanic| Curs de baze de date Microsoft Access rs.MoveNext Copyright 2000. Toate drepturile sunt rezervate autorului. Loop Multiplicarea acestui document n scop comercial este interzis|. rs.Close Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. End Sub Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m|se poatecontact| la: cnd cre|m mulimea de nregistr|ri utiliznd un obiect al bazei Metoda putei folosi numai de date, spre deosebire de celelalte variante de OpenRecordset unde se pot folosi tabele, ANTAL Tiberiu Alexandru nregistr|ri. interog|ri sau alte mulimi de tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Filtrarea prin proprietatea Filter Mulimile de nregistr|ri cu tipurile Dynaset i Snapshot pot fi filtrate utiliznd proprietatea Filter. Aceasta este un ir de caractere, identic cu cel folosit n clauza WHERE. Filtrarea va avea efect la urm|toarea creare a unei mulimi de ntergistr|ri.

336

Programarea cu obiectul DAO - cursul 13

Conf. Filtrare1() Tiberiu Alexandru Sub dr. ing. ANTAL Universitatea Tenhic| din Cluj-Napoca Dim db As Database Facultatea Construcii de Maini Catedra de rs As Recordset, rsFil As Recordset Dim Mecanic| i Programare Curs de baze de date Microsoft Access Dim fl As Field Copyright 2000. Toate drepturile sunt rezervate autorului. Set db = CurrentDb() Multiplicarea acestui document n scop comercial este interzis|. Set rs = db.OpenRecordset("TContacte", dbOpenDynaset) Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest rs.Filter = "[Nume Contact] Like 'A*'" document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set rsFil = rs.OpenRecordset() pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Do While Not rsFil.EOF ANTAL Tiberiu Alexandru For Each tel.: 0040-264-530918 fl In rsFil.Fields e-mail: antaltiberiu@pcnet.ro Debug.Print fl.Name; " = "; rsFil(fl.Name).Value Next fl rsFil.MoveNext Loop Conf. dr. ing. ANTAL Tiberiu Alexandru rs.Close Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini rsFil.Close Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access End Sub Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Editarea datelor unei mulimi de nregistr|ri Datele unei mulimi de nregistr|ri se pot modifica sau nu n funcie de permisiuni. La Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest deschiderea mulimii de nregistr|ri este posibil ca datele s| nu se poat| modifica ci numai document pentru uzul personal. vizualiza. ncercarea de a modifica aceste date duce la o eroare de execuie a aplicaiei care se poate trata prin cod. Mulimile de nregistr|ri de tipul Table i Dynaset pot fi ntotdeauna Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare editate cu excepia cazului n care altcineva a blocat tabelul (prin folosirea opiunilor de pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest blocare prezentate). La Dynaset n plus, regulile de asociere pot opri editarea anumitor scop m| putei contact| la: cmpuri. Cele de tipul Snapshot nu se pot modifica prin definiie. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Modificarea unei nregistr|ri existente e-mail: antaltiberiu@pcnet.ro Modificarea unei nregistr|ri existente decurge n patru pai: 1. 2. Poziionai-v| pe nregistrare (cu Move sau Find); Folosii metoda Edit pentru punerea nregistr|rii curente n modul de editare;

337

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru 3. Realizai modific|rile; Universitatea Tenhic| din Cluj-Napoca 4. Folosii metoda de Maini Facultatea ConstruciiUpdate pentru salvarea modific|rilor. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Sub EditareRand() Copyright 2000. Toate drepturile sunt rezervate autorului. Dim db As Database Dim rs As Recordset Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Set db = CurrentDb() document pentru uzul personal. Set rs = db.OpenRecordset("TContacte", dbOpenDynaset) Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest With rs scop m| putei contact| la: .FindFirst "[Nume Contact] = 'Grisa Marius'" ANTAL Tiberiu Alexandru If .NoMatch Then tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro exista persoana de contact !",E MsgBox "Nu vbCritical Else .Edit ![Nume Contact] = "Grigore Mariuta" .Update Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca End If Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access End With Copyright 2000. Toate drepturile sunt rezervate autorului. rs.Close Multiplicarea acestui document n scop comercial este interzis|. End Sub Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Ad|ugarea unei nregistr|ri noi Sudenii participani la orice form| de nv||mnt cu plat| sau alte se face n trei pai: Ad|ugarea unei nregistr|ri ntr-o mulime de tipul Dynaset sau Table persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris Toate cmpurile vor lua 1. Folosii metoda AddNew pentru ad|ugarea noii nregistr|ri. al autorului. n acest scop m| putei contact| la: valorile implicite; 2. Atribuii valorile dorite ANTAL Tiberiu Alexandru cmpurilor; tel.: 0040-264-530918 Update pentru a salva noua nregistrare. 3. Folosii metoda e-mail: antaltiberiu@pcnet.ro Sub AdaugareRand() Dim db As Database

338

Programarea cu obiectul DAO - cursul 13

Conf. Diming. ANTAL Tiberiu Alexandru dr. rs As Recordset Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de db = CurrentDb() Set Mecanic| i Programare Curs de baze de date Microsoft Access Set rs = db.OpenRecordset("TContacte", dbOpenDynaset) Copyright 2000. Toate drepturile sunt rezervate autorului. With rs Multiplicarea acestui document n scop comercial este interzis|. .AddNew Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ![Nume Contact] = "Sebastian Corina" document pentru uzul personal. .Update Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare End With pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: rs.Close ANTAL Tiberiu Alexandru End 0040-264-530918 tel.: Sub e-mail: antaltiberiu@pcnet.ro La folosirea metodei AddNew nregistrarea curent| nu se modific| dup| ad|ugarea noii nregistr|ri. Dac| dorii ca noua nregistrare s| devin| cea curent| folosii metoda Move avnd ca parametru marcajul ntors de proprietatea LastModified a mulimii de nregistr|ri. Conf. dr. ing. ANTAL Tiberiu Alexandru Pentru mulimea de nregistr|ri de tipul Dynaset, Access plaseaz| ntotdeauna noua Universitatea Tenhic| din Cluj-Napoca nregistrare Construcii de Mainila cap|tul tabelului care este sursa de date. n cazul Facultatea la sfritul mulimii i mulimii de nregistr|rii Programare dac| este definit un index, Access plaseaz| Catedra de Mecanic| de tipul Table, nregistrarea n poziia Microsoft Access Curs de baze de date corespunz|toare valorii indexului. Copyrightunor nregistr|ri dintr-o mulime de nregistr|ri tergerea 2000. Toate drepturile sunt rezervate autorului. tegerea unui acestui document n scop comercial este interzis|. Multiplicarearnd dintr-o mulime de nregistr|ri se face parcurgnd paii: 1. Poziionai-v| pe nregistrarea (rndul) dorit|; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest 2. Folosii metodai Delete pentru tergerea lui. document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane este Dup| tergerea unei nregistr|ri aceasta continu| s| r|mn| nregistrarea curent|, doritoare pot multiplica documentul numai contra trece i cu acordul scris al autorului. n acest necesar| folosirea lui MoveNext pentru a cost la urm|torul rnd. scop m| putei contact| la: ANTAL Tiberiu Alexandru O modalitate de tergere a tuturor nregistr|rilor dintr-un tabel este codul care urmeaz|, dei tel.: 0040-264-530918 mai bun| este folosirea unei interog|ri pentru tergere: n practic| metoda cea e-mail: antaltiberiu@pcnet.ro Sub StergeRandurileUnuiTabel(NumeTabel As String) Dim db As Database

339

Programarea cu obiectul DAO - cursul 13

Conf. Diming. ANTAL Tiberiu Alexandru dr. rs As Recordset Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de db = CurrentDb() Set Mecanic| i Programare Curs de baze de date Microsoft Access Set rs = db.OpenRecordset(NumeTabel) Copyright 2000. Toate drepturile sunt rezervate autorului. With rs Multiplicarea acestui document n scop comercial este interzis|. If .RecordCount > 0 Then Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest .MoveFirst document pentru uzul personal. Do Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare .Delete pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest .MoveNext scop m| putei contact| la: Loop Until .EOF ANTAL Tiberiu Alexandru End If tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro .Close End With End Sub

Modificarea unui grup de nregistr|ri

Conf. dr. ing. ANTAL Tiberiu Alexandru Modificarea unui grup de nregistr|ri se poate realiza folosind instruciunile de ciclare Universitatea Tenhic| din Cluj-Napoca prezentate, dar cea mai eficient| metod| r|mn interogarile de actualizare sau tegere. Dac| Facultatea Construcii de Maini dorim s| modific|m toateProgramare telefoane care ncep cu cifra 1 la cifra 2 se poate folosi Catedra de Mecanic| i numerele de codul:de baze de date Microsoft Access Curs Copyright 2000. Toate drepturile sunt rezervate autorului. Sub Modifica() Dim db As Database Multiplicarea acestui document n scop comercial este interzis|. Dim qdef As QueryDef Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Dim sirSQL uzul personal. document pentruAs String Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set db = documentul numai contra cost i cu acordul scris al autorului. n acest pot multiplica CurrentDb() scop m| putei contact| la: Set qdef = Alexandru ANTAL Tiberiu db.CreateQueryDef("") 'Crearea interogarii tel.: 0040-264-530918 sirSQL = "UPDATE TContacte1 SET TContacte1.[Info Contact] = " e-mail: antaltiberiu@pcnet.ro sirSQL = sirSQL + """2"" & Right([Info Contact],Len([InfoE Contact]-1))" sirSQL = sirSQL + " WHERE ((Left([Info Contact],1)=""1""));"

340

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru proprietatii SQL qdef.SQL = sirSQL 'Definirea Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare qdef.Execute 'Lansarea interogarii Curs de baze de date Microsoft Access qdef.Close 'Inchiderea interogarii Copyright 2000. Toate drepturile sunt rezervate autorului. End Sub Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest O alt| variant| de scriere a codului se mai sus este: document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Sub Modifica1() pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim db As Database scop m| putei contact| la: Dim qdef As QueryDef ANTAL Tiberiu Alexandru Dim sirSQL As tel.: 0040-264-530918String e-mail: antaltiberiu@pcnet.ro Set db = CurrentDb()

Set qdef = db.CreateQueryDef() 'Crearea interogarii qdef.Name = "Interogare de actualizare (update)" Conf. dr. ing. ANTAL Tiberiu Alexandru sirSQL = "UPDATE TContacte1 SET TContacte1.[Info Contact] = " Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini sirSQL = sirSQL + """7"" & Right([Info Contact],Len([InfoE ontact]-1))" Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access((Left([Info Contact],1)=""1""));" sirSQL = sirSQL + " WHERE qdef.SQL = sirSQL 'Definirea proprietatii Copyright 2000. Toate drepturile sunt rezervate autorului. SQL Multiplicarea acestui document n scop comercial este interzis|. db.QueryDefs.Append qdef 'Adaugarea interogarii Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. qdef.Execute 'Lansarea interogarii Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare qdef.Close 'Inchiderea interogarii pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: db.QueryDefs.Delete qdef.Name 'Stergerea interog| rii ANTAL Tiberiu Alexandru tel.: 0040-264-530918 End Sub e-mail: antaltiberiu@pcnet.ro Dac| metoda Append primete orice ir nevid (diferit de "" sau f|r| a fi scris), obiectul rezultat este automat ad|ugat coleciei QueryDefs, altfel obiectul rezultat este temporar.

341

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing.interogare Tiberiu Alexandru n cazul unor iruri SQL pentru obiectele care Definiiile de ANTAL temporare se folosesc Universitatea Tenhic| din Cluj-Napoca nu dorim s| devin| permanente, de exemplu, pentru c| ele la fiecare repetare se modific| Facultatea Construcii de Maini exist|, nu se poate crea o alta cu acelai nume dect dac| puin. Dac| o definiie de interogare Catedra de Mecanic| i Programare prima este tears| - cea de a dou| procedur| exemplific| acest mod de lucru. Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Modificarea datelor prin tranzacii Termenul de prelucrarea a tranzaciilor (transaction) se refer| n bazele de date la gruparea Multiplicarea acestui document n scop comercial este interzis|. modific|rilor aduse datelor n secvene speciale care sunt tratate asemenea unei singure operaii. Un astfel de grup reuete dac| fiecare operaie a grupului reuete i atunci spunem Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest c| tranzacia (commit) a reuit. Dac| oricare dintre operaiile de modificare ale grupului nu document pentru uzul personal. reuete, toate modific|rile aduse datelor se refac (roll back) la valorile avute naintea nceperii tranzaciei i spunem c| tranzacia nu a reuit. Access-ul lucreaz| cu trei metode Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pentru prelucrarea tranzaciilor BeginTrans - pentru nceperea unei noi tranzacii, pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest CommitTrans - pentru salvarea tuturor modific|rilor f|cute datelor de la cea mai recent| scop m| putei contact| la: BeginTrans i Rollback - pentru anularea tuturor modific|rilor f|cute datelor de la cel mai recent BeginTrans. Cele trei metode sunt ale obiectului Workspace, iar codul care ANTAL Tiberiu Alexandru urmeaz| este un ablon pentru folosirea acestora n derularea tranzaciilor: tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro On Error GoTo Tratare_Eroare

Dim ws As WorkSpace Dim StareTr As Boolean Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca StareTr = False Facultatea Construcii de Maini Catedra de Mecanic| i Programare Set ws = DBEngine.Workspaces(0) Curs de baze de date Microsoft Access . . . Copyright 2000. Toate drepturile sunt rezervate autorului. ws.BeginTrans StareTr=True Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ws.CommitTrans personal. document pentru uzul StareTr=False Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare . . . pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Tratare_Eroare: scop m| putei contact| la: if StareTr then ANTAL Tiberiu Alexandru ws.Rollback tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro End If ' alte prelucrari

342

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru n cazul formularelor legate Access-ul are propria lui metod| de tratare a tranzaciilor, din Universitatea Tenhic| din tranzacii n proceduri de evenimente pentru a grupa modific|rile acest motiv nu se pot folosi Cluj-Napoca Facultatea Construcii de Maini aduse datelor prin intermediul formularului. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului.

Definiia datelor cu DAO

Multiplicarea acestui document n scop comercial este interzis|. DAO Create... i O baz| de date poate fi creat| i prin folosirea exclusiv| a metodelor Append. Acestea permit crearea tuturor obiectelor ce alc|tuiesc o baz| de date. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.

Crearea obiectelor bazelor de date


Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Pentru crearea unui obiect nou se parcurg paii: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest 1. Folosii contact| la: scop m| putei una din metodele Create... pentru a crea obiectul (CreateTable, CreateField, CreateIndex, CreateQueryDef, CreateRelation, ...); ANTAL Tiberiu Alexandru noului obiect prin setarea propriet|ilor lui. Unele propriet|i, 2. Definii caracteristicile tel.: 0040-264-530918 obligatoriu de setat la crearea obiectului, altele pot fi setate mai de exemplu numele, sunt e-mail: antaltiberiu@pcnet.ro trziu. Majoritatea metodelor Create... au argumente opionale care permit specificarea propriet|ilor obligatorii ale noului obiect; 3. Folosii metoda Append pentru ad|ugarea obiectului la colecia din care face parte pentru a-l face permanent parte a bazei de date. Cnd obiectul conine laTiberiului noi obiecte, de exemplu tabelul conine cmpuri, trebuie Conf. dr. ing. ANTAL rndul Alexandru creat obiectul primar, sedin Cluj-Napoca Universitatea Tenhic| creeaz| subobiectele care fac parte din acesta i se adaug| la colecia corespunz|toare, iar n finalMaini primar se adaug| i el coleciei corespunz|toare lui. Facultatea Construcii de obiectul Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Crearea unui tabel S| presupunem c|Toate drepturileun tabel nou numit TAdrese care are cmpurile AdreseID, Copyright 2000. dorim s| cre|m sunt rezervate autorului. Tip adresa, Adresa folosii codul: Multiplicarea acestui document n scop comercial este interzis|.
1 2 3 4 5 6 7 8 9 10

Sub CreeazaTabelTel()form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice document pentru uzul personal. Dim db As Database Dim tdf As TableDef Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dim fl1 As Field pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Dim fl2 As Field Dim fl3 Alexandru ANTAL Tiberiu As Field tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Set db = CurrentDb() Set tdf = db.CreateTableDef("") tdf.Name = "TAdrese"

343 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Set fl1 = tdf.CreateField("AdreseID", dbLong) Facultatea Construcii de Maini Catedra de fl2 = tdf.CreateField("Tip adresa", dbText, 30) Set Mecanic| i Programare Curs de baze de date Microsoft Access Set fl3 = tdf.CreateField("Adresa", dbText, 100) Copyright 2000. Toate drepturile sunt rezervate autorului. With tdf.Fields Multiplicarea acestui document n scop comercial este interzis|. .Append fl1 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest .Append fl2 document pentru uzul personal. .Append fl3 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare End With pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: With db.TableDefs ANTAL Tiberiu Alexandru .Append tel.: 0040-264-530918 tdf e-mail: antaltiberiu@pcnet.ro .Refresh End With

Application.RefreshDatabaseWindow End Sub Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii14 tabelul i cele trei cmpuri exist| numai n memorie. Pentru ca Pn| la atingerea liniei de Maini Catedra de Mecanic| ipermanente trebuie folosit| metoda Append care le va ad|uga unor aceste obiecte s| devin| Programare Curs def|cndu-le permanente. Pentru cmpuri, ad|ugarea se face n liniile 16-20, iar pentru colecii baze de date Microsoft Access tabel, n liniile 22-25. n linia 24 se folosete metoda Refresh prin care se actualizeaz| Copyrightcoleciei, nouldrepturile sunt numai n acest mod disponibil i pentru ali coninutul 2000. Toate tabel devenind rezervate autorului. utilizatori care lucreaz| cu aceeai baz| de date (regim multiuser). Dei tabelul este Multiplicarea acestui document n scop comercial este coninutul fereastrei bazei de date disponibil pentru utilizare, Access-ul nu remprosp|teaz| interzis|. dect dac| ne poziion|m pe o alt| colecie i apoi revenim pe cea a tabelelor. Pentru a rezolva Sudenii participani la oricemetoda RefreshDatabaseWindow a obiectului aplicaie. aceast| problem| se folosete form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Tabelul participani la orice Sudeniimetodelor Create... form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplicaDAO poate fi numai contra cost prin metoda Create... asociat| n acest Fiecare obiect documentul creat prin program i cu acordul scris al autorului. din tabelul scopurmeaz|: contact| la: care m| putei ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Obiect Metod| e-mail: antaltiberiu@pcnet.ro Tabel (Table) CreateTableDef

Argume nte Nume

Tip de dat| String

Descriere Numele noului tabel.

344

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Atribute

Integer

Set|ri pentru tabele ataate, de sistem i ascunse. Sursa de date a unui tabel ataat.

Surs|

String

Copyright 2000. Toate drepturile sunt rezervate autorului. Conexiun String e Multiplicarea acestui document n scop comercial este interzis|.

Calea c|tre tabelul care este sursa de date a tabelului ataat. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. CreateFiled Cmp (Feld) Nume String Numele noului cmp. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. dat|acest Tip Integer Tipul de n al scop m| putei contact| la: noului cmp. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Index Interogare (Query) CreateIndex CreateQueryDef M|rime Integer M|rimea cmpului dac| este de tipul text. Numele noului index. Numele noii interog|ri. Un ir QL valid care definete noua interogare. Numele noii relaii. Numele cheii primare din relaie.

Nume Nume TextSQL

String String String

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra(Relation) CreateRelation Relat ie de Mecanic| i Programare Curs de baze de date Microsoft Access

Nume

String

Tabel String Copyright 2000. Toate drepturile sunt rezervate autorului. Tabel String Multiplicarea acestui document n scop comercial este interzis|. asociat

Numele cheii str|ine din tabelul asociat. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Atribute Integer Setarea tipului de relaie, forarea Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare intergrit|ii pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest relaionale. scop m| putei contact| la: CreateWorkspace Nume Spat iu de lucru String Numele noului (Workspace) spaiu de lucru. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Utilizator String Numele unui e-mail: antaltiberiu@pcnet.ro utilizator existent. Acesta va deveni proprietarul noului spaiu de lucru.

345

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Parol| Tip

String Long

Parola pentru noul spaiu de lucru. Valoare care indic| sursa datelor (Jet sau ODBCDirect).

Copyright 2000. Toate drepturile sunt rezervate autorului. CreateDatabase Baza de date 7 Nume String (Database) Multiplicarea acestui document n scop comercial este interzis|.

Numele fiierului care va conine baza de date. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Indirecte String ir care specific| document pentru uzul personal. date colaterale (limb|, parol| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare implicit|). pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Opiuni Integer Valoare care definete dac| noua ANTAL Tiberiu Alexandru baz| de date este tel.: 0040-264-530918 sau nu incriptat| i e-mail: antaltiberiu@pcnet.ro versiunea de Jet folosit| la stocarea fiierelor. Grup (Group) CreateGroup Nume PID String String Numele noului grup. Identificator personal al noului grup. Numele noului utilizator. Identificator personal al noului utilizator.

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini CreateUser Catedra de Mecanic| i Programare Utilizator (User) Curs de baze de date Microsoft Access

Nume

String

PID String Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

Parol| String Parola pentru noul Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest obiect utilizator. document pentru uzul personal. Sudenii unui Index la orice form| de nv||mnt cu plat| sau alte persoane doritoare Crearea participani pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Este posibil ca ntr-o aplicaie s| fie necesar| crearea unui index prin program. Etapele scop m| putei contact| la: necesare pentru aceasta sunt: 1. Folosii metoda CreateIndex a obiectului TableDef pentru a crea obiectul index, ANTAL Tiberiu Alexandru iar proprietatea Name tel.: 0040-264-530918va fi setat| la acest obiect; e-mail: antaltiberiu@pcnet.ro 2. Atribuii valori propriet|ilor noului index. Ct timp indexul nu a fost ad|ugat unui obiect index toate propriet|ile lui pot fi setate dup| cum dorim. n general vor fi setate propriet|ile Name, Primary, Unique i Required. Dac| obiectul index a fost ad|ugat unei colecii, propriet|ile lui nu mai pot fi modificate fiind necesar| tergerea lui i crearea

346

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru s|-i set|m una dintre propriet|i; unui obiect index nou n cazul n care am uitat Universitatea Tenhic| din Cluj-Napoca 3. Paii 1 i 2 se reiau pentru Facultatea Construcii de Maini toate cmpurile care vor fi parte a indexului, iar fiecare cmp index va fi ad|ugat Programare Catedra de Mecanic| i coleciei Fields; Curs de baze de date Microsoft a obiectului TableDef pentru ad|ugarea index-ului n 4. Folosii metoda Append Access colecia Indexes. Copyright 2000. Toate drepturile sunt rezervate autorului.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Multiplicarea acestui document n scop comercial esteAs String, NumeCheieP E Function CreareCheiePrimara(NumeTabel interzis|. As String, ParamArray VectorParametri() As Variant) As E Boolean Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Dim id As Index Dim tdf As la orice form| Sudenii participani TableDef de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim fld As Field scop m| putei contact| la: Dim varCP As Variant ANTAL Tiberiu Alexandru Dim varid As Variant tel.: 0040-264-530918 Dim ids As Indexes e-mail: antaltiberiu@pcnet.ro Dim db As Database

On Error GoTo CreareaCheieP_Eroare

Conf. Seting. ANTAL Tiberiu Alexandru dr. db = CurrentDb() Universitatea Tenhic| din Cluj-Napoca Set tdf = db.TableDefs(NumeTabel) Facultatea Construcii de Maini Set Mecanic| i Programare Catedra de ids = tdf.Indexes Curs de baze de date Microsoft Access varCP = GasesteCheiaPrimara(tdf) Copyright 2000. Toate drepturile sunt rezervate autorului. If Not IsNull(varCP) Then Multiplicarea acestui document n scop comercial este interzis|. ids.Delete varCP Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End If document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set id = tdf.CreateIndex(NumeCheieP) pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: id.Primary = True ANTAL Tiberiu Alexandru tel.: 0040-264-530918 For Each varid In e-mail: antaltiberiu@pcnet.ro VectorParametri AdaugaCamp id, varid Next varid

347 30 31 32 33 34 35 36 37 38 39 40 41 42

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca ids.Append id Facultatea Construcii de Maini Catedra de Mecanic| i Programare CreareCheiePrimara = True Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. CreareaCheieP_Iesire: Exit Function Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest CreareaCheieP_Eroare: document pentru uzul personal. MsgBox "Eroare: " & Err.Description & " (" & Err.Number &E ")" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest CreareCheiePrimara = False scop m| putei contact| la: Resume CreareaCheieP_Iesire ANTAL Tiberiu Alexandru End Function tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Private Function GasesteCheiaPrimara(tdf As TableDef) As E Variant

1 2 3 4 5 6 7 8 9 10 11 12 13

Dim id As Index Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| In Cluj-Napoca For Each id din tdf.Indexes Facultatea Construcii de Maini If id.Primary Then Catedra de Mecanic| i Programare GasesteCheiaPrimara = id.Name Curs de baze de date Microsoft Access Exit Function Copyright 2000. Toate drepturile sunt rezervate autorului. End If Multiplicarea acestui document n scop comercial este interzis|. Next id GasesteCheiaPrimara = Null Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. End Function Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al As Variant) AsE Private Function AdaugaCamp(id As Index, varid autorului. n acest scop m| putei contact| la: Boolean Dim fld As Field ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro On Error GoTo AdaugaCamp_Eroare If Len(varid & "") > 0 Then Set fld = id.CreateField(varid)

1 2 3 4 5 6 7

348 8 9 10 11 12 13 14 15 16 17 18

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru id.Fields.Append fld Universitatea Tenhic| din Cluj-Napoca End If Facultatea Construcii de Maini Catedra de Mecanic|= True AdaugaCamp i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. AdaugaCamp_Iesire: Exit Function Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest AdaugaCamp_Eroare: document pentru uzul personal. AdaugaCamp = False Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Resume AdaugaCamp_Iesire pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest End Function scop m| putei contact| la: ANTAL Tiberiu Alexandru Sub 0040-264-530918 tel.: TestCreareCP() e-mail: antaltiberiu@pcnet.ro Debug.Print CreareCheiePrimara("TAdrese", "CheiePrimata",E "AdreseID", "Tip adresa") End Sub

Funcia CreareCheiePrimara() creeaz| cheia primar| cu numele NumeCheieP a unui tabel numit NumeTabel. n liniile 17-20 se caut| dac| tabelul are cheie primar|, iar dac| Conf. dr. ing. ANTAL Tiberiu Alexandru aceasta exist| este tears| i Cluj-Napoca creeaz| un nou index. Linia 24 seteaz| noul index Universitatea Tenhic| din n linia 22 se drept cheie primar| mpreun| cu propriet|ile: IgnoreNulls = False, Facultatea Construcii de Maini Required=True, Unique=True. n liniile 26-28 nou createle cmpuri care formeaz| Catedra de Mecanic| i Programare indexul baze de coleciei Fields. n Curs dese adaug|date Microsoft Accessfinal, prin linia 30 se adaug| noul index coleciei Index a definiiei de tabel TableDef. Copyright 2000. Toate drepturile sunt rezervate autorului. O procedur| deacestui document n scop comercial este interzis|. Multiplicarea tip funcie sau subprogram poate avea ultimul parametru precedat de cuvntul opional ParamArray i urmat de paranteze rotunde (). n acest fel parametrul se definete ca un tablou cu elemente orice form| de nv||mnt este metoda disponibil| n VBA pentru Sudenii participani la de tipul Variant. Aceasta superior bugetar pot multiplica acest a transfera unei funcii un num|r variabil de argumente. document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Funcia GasesteCheiaPrimara() are ca parametru de intrare o definiie de tablou i are pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest rolul de a g|si numele cheii primare dac| aceasta exist|. Rezultatul ntors este numele cheii scop m| putei contact| la: primare sau Null n cazul cnd aceasta nu exist|. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Funcia AdaugaCamp() adaug| un obiect cmp unui obiect index. Rezultatul ntors este e-mail: antaltiberiu@pcnet.ro altfel. True n caz de reuit| sau False Crearea unei relaii Pentru crearea unei relaii se va folosi metoda CreateRealtion a obiectului baz| de date

349

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru urmnd paii: Universitatea Tenhic| din Cluj-Napoca 1. Deschidei baza de Maini Facultatea Construcii de date n care se va crea relaia; Catedra de Mecanic| i Programare are o cheie primar|; 2. Se verific| dac| tabelul primar Curs de baze de date Microsoft Access 3. Folosii metoda CreateRelation pentru crearea obiectului relaie; 4. Creai un Toate drepturile fiecare cmp de cheie primar| a tabelului primar. Pentru Copyright 2000. obiect cmp pentrusunt rezervate autorului. fiecare obiect cmp se seteaz| proprietatea ForeignName ce corespunde numelui corespunz|tor acestui document Multiplicarea din tabelul ataat; n scop comercial este interzis|. 5. Folosii metoda Append pentru ad|ugarea noi relaii n colecia Relations a bazei Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest de date. document pentru uzul personal. Sudenii participani prezint| constantele predefinite cu plat| fi date propriet|ii doritoare Tabelul care urmeaz| la orice form| de nv||mnt care pot sau alte persoane pot multiplica documentulrelaie: contra cost i cu acordul scris al autorului. n acest Attributes a obiectului numai scop m| putei contact| la: ANTAL Tiberiu Alexandru Constant| tel.: 0040-264-530918 dbRelationUnique e-mail: antaltiberiu@pcnet.ro dbRelationDontEnforce dbRelationInherited Descriere Relaia este 1 1. Integritatea referenial| nu este activat|. Relaia dintre tabele este definit| ntr-o baz| de date extern|.

dbRelationLeft Relaia este de tip asociere la stnga extern|, aceasta include toate nregistr|rile din primul tabel Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca(cel din stnga), inclusiv cele care nu au un corespondent n cel de al doilea tabel. Facultatea Construcii de Maini Catedra de Mecanic| i Programare dbRelationRight Relaia este de tip asociere la dreapta extern|, Curs de baze de date Microsoft Access aceasta include toate nregistr|rile din cel de al doilea tabel (cel din dreapta), inclusiv cele care nu Copyright 2000. Toate drepturile sunt rezervate autorului. au un corespondent n primul tabel. Multiplicarea acestui document n scopActualiz|rile vorinterzis|. dbRelationUpdateCascade comercial este fi cascadate. dbRelationDeleteCascade tergerile vor fi cascadate. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Proprietatea este setat|la orice suma constantelor prezentate. Majoritatea programatorilor Sudenii participani f|cnd form| de nv||mnt cu plat| sau alte persoane doritoare folosesc operatorul pe bii Or pentrucontra cost i cu acorduln scopul autorului. n acest c| pot multiplica documentul numai "adunarea" constantelor scris al evidenierii faptului nu este vorba decontact| la: scop m| putei o simpl| expresie aritmetic|. Dac| proprietatea Attributes nu este setat| de c|tre programator, Access-ul creeaz| o relaie de tipul 1 M intern| (particip| numai nregistr|rile care Alexandru ANTAL Tiberiu au valori identice n cmpurile asociate) cu integritatea referenial| activat|. Funcia care urmeaz| creeaz| o relaie 1 M cu asociere la stnga extern| ntre tabelele tel.: 0040-264-530918 TContacte i TAdrese avnd tergerea cascadat|. e-mail: antaltiberiu@pcnet.ro Function CreeazaRelatie() As Boolean Dim db As Database

350

Programarea cu obiectul DAO - cursul 13

Conf. Diming. ANTAL Tiberiu Alexandru dr. rel As Relation Universitatea Tenhic| din Cluj-Napoca Dim fld As Field Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access On Error GoTo CreazaRelatie_Eroare Copyright 2000. Toate drepturile sunt rezervate autorului. Set db = CurrentDb() Multiplicarea acestui document n scop comercial este interzis|. Set rel = db.CreateRelation("Relatia1", "TContacte", E Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest "TAdrese", dbRelationLeft Or dbRelationDeleteCascade) document pentru uzul personal. Set fld = rel.CreateField("IDContact") Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest fld.ForeignName = "AdreseID" scop m| putei contact| la: rel.Fields.Append fld ANTAL Tiberiu Alexandru tel.: 0040-264-530918 db.Relations.Append rel e-mail: antaltiberiu@pcnet.ro CreazaRelatie = True

CreazaRelatie_Iesire: Conf. Exit Function dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare CreazaRelatie_Eroare: Curs de baze de date Microsoft Access MsgBox "Eroare: " & Err.Description & " (" & Err.Number &E ")" Copyright 2000. Toate drepturile sunt rezervate autorului. CreazaRelatie = False Multiplicarea acestui document n scop comercial este interzis|. Resume CreazaRelatie_Iesire End Function Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal.

Ataarea tabelelor orice form| de date externe Sudenii participani ladin bazele de nv||mnt cu plat| sau alte persoane doritoare
potlng| posibilitatea definirii de noi tabele,cost i cu acordul scris al autorului. n acest Pe multiplica documentul numai contra exist| posibilitatea ata|rii unor tabele din baze scop m| putei contact| la:unui tabel extern, informaia de conectare este stocat| n baza de de date externe. La ataarea date Access, iar conectarea are loc automat la deschiderea bazei de date. Datele ns| vor ANTAL Tiberiu Alexandru extern|. Dup| ataare, aceste tabele pot fi folosite asemenea r|mne stocate n baza de date tel.: 0040-264-530918 tabelelor interne ale Access-ului ns| nu se pot crea obiecte Recordset de tipul Table pe e-mail: antaltiberiu@pcnet.ro a obiectului TableDef permite controlul tabelelor ataate baza lor. Proprietatea Connect mpreun| cu proprietatea SourceTableName i metoda RefreshLink. Fiecare obiect TableDef are o proprietate Connect care este un ir ce identific| tipul i locul tabelului ataat. Numele tabelului este stocat separat n proprietatea SourceTableName. Dac|

351

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru tabelul face parte din baza de date Access proprietatea lui Connect are valoarea "". Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Ataarea unui tabel extern unei baze Catedra de Mecanic| i Programare de date Access Curs de baze de date Microsoft Access 1. Folosii metoda CreateTableDef a obiectului baz| de date (Database) pentru a crea un nou obiect TabelDef pentru tabelul ataat. Dai tabelului un nou nume prin care va Copyright 2000. Toate drepturile sunt rezervate autorului. fi identificat n baza de date local|; 2. Setai propriet|ile SourceTableName i Connect ale obiectului TableDef Multiplicarea acestui document n scop comercial este interzis|. pentru a specifica tabelul extern i baza de date care va fi ataat|; Sudenii participani la orice form| pentru ad|ugarea noului obiect TableDef n baza de 3. Folosii proprietatea Append de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. date. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentulextern care va ficost i este posibil scris al autorului. adiionale n funcie de tipul tabelului numai contra ataat cu acordul ca unele informaii n acest scop m| putein proprietatea Connect (parol|, nume de utilizator, driver ISAM sau s| fie necesare contact| la: ODBC). Un cod tipic pentru ataarea unui tabel este de forma: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Dim db As Database e-mail: antaltiberiu@pcnet.ro Dim tdf As TableDef Dim NumeTabel As String Set db = CurrentDB() NumeTabel="TAT_Clienti" Conf. dr. ing. ANTAL Tiberiu Alexandru Set tdf = Tenhic| din Cluj-Napoca Universitatea db.CreateTableDef(NumeTabel) Facultatea Construcii de Maini Catedra de Mecanic| i Programare With tdf Curs de baze de date Microsoft Access .Connect";DATABASE=" & "c:\My Documents\Northwind.mdb" .SourceTableName = "Customers" Copyright 2000. Toate drepturile sunt rezervate autorului. End With Multiplicarea acestui document n scop comercial este interzis|. db.TableDefs.Append tdf de nv||mnt superior bugetar pot multiplica acest Sudenii participani la orice form| document pentru uzul personal. Pus sub forma unei proceduri de tipul de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice form| funcie codul devine: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Function CreareTabelAtasat(NumeTabel As String, Cale As E String, NumeTabelExtern As String) As Boolean ANTAL Tiberiu Alexandru Dim db As Database tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Dim tdf As TableDef Dim strConnect As String Dim vIntoarsedeFunctie As Boolean

352

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca On Error GoTo Maini Facultatea Construcii deCreareTabelAtasat_Eroare Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Set db = CurrentDb() Copyright 2000. Toate drepturile sunt rezervate autorului. Set tdf = db.CreateTableDef(NumeTabel) Multiplicarea acestui document n scop comercial este interzis|. With tdf Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest .Connect = ";DATABASE=" & Cale document pentru uzul personal. .SourceTableName = NumeTabelExtern Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare End With pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: db.TableDefs.Append tdf ANTAL Tiberiu Alexandru vIntoarsedeFunctie = True tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro CreareTabelAtasat_Iesire: CreareTabelAtasat = vIntoarsedeFunctie Exit Function Conf. dr. ing. ANTAL Tiberiu Alexandru CreareTabelAtasat_Eroare: Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Err.Description & " (" & Err.Number &E MsgBox "Eroare: " & Catedra de Mecanic| i Programare ")" Curs de baze de date Microsoft Access vIntoarsedeFunctie = False Resume CreareTabelAtasat_Iesire Copyright 2000. Toate drepturile sunt rezervate autorului. End Function Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Reataarea tabelelor document pentru uzul personal. De multe ori, din motive independente de voina noastr|, poziia tabelelor externe se poate modifica participani la orice form| de nv||mnt cu plat| saugenera o eroare doritoare Sudenii pe discul folosit pentru stocarea lor. Aplicaia Access va alte persoane n execuie dac| unul dintre tabelele externe au fost mutate ntr-un alt director sau disc. Este util| acest pot multiplica documentul numai contra cost i cu acordul scris al autorului. n scrierea unei funcii s| verifice dac| tabelele ataate au fost mutate, iar dac| au fost, s| fac| reataarea scop m| putei contact| la: lor pe baza noii poziii ocupate de acestea pe disc. Funcia VerificaAtasareaTabelului() verific| ataarea tabelului NumeTable, iar dac| ANTAL Tiberiu Alexandru acesta nu mai este ataat, ncearc| s|-l ataeze folosind calea din parametrul CaleNoua tel.: 0040-264-530918 parcurgnd paii: e-mail: antaltiberiu@pcnet.ro 1. 2. 3. Se activeaz| tratarea erorilor n execuie (On Error Resume Next); Se ncearc| accesarea propriet|ii Name din lista de cmpuri ale tabelului dorit; Dac| ncercarea este nereuit| se apeleaz| funcia ReatasareTabel()care va

353

Programarea cu obiectul DAO - cursul 13

Conf. dr. ing. ANTAL Tiberiu Alexandruncercarea este nereuit| se afieaz| un mesaj de ncerca reataarea tabelului. n cazul n care Universitatea Tenhic| din Cluj-Napoca eroare i se revine cu valoarea False; Facultatea Construcii de Maini 4. Dac| ncercarea de accesare a reuit nseamn| c| tabelul este ataat corect i se revine Catedra de Mecanic| i Programare cu valoarea Truedate funcie. Curs de baze de din Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Function VerificaAtasareaTabelului(NumeTabel As String, E CaleNoua As String) As Boolean Multiplicarea acestui document n scop comercial este interzis|. Dim db As Database Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Dim strName As String document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare VerificaAtasareaTabelului = True pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: On Error Resume Next ANTAL Tiberiu Alexandru Set db = CurrentDb() tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro strName = db.TableDefs(NumeTabel).Fields(0).Name

If Err.Number <> 0 Then If Not ReatasareTabel(NumeTabel, CaleNoua) Then MsgBox "Nu am reusit reatasarea tabelului :'" & E NumeTabel & "'" Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca VerificaAtasareaTabelului = False Facultatea Construcii de Maini Catedra de End If i Programare Mecanic| Curs de baze de date Microsoft Access End If On Error GoTo 0 Copyright 2000. Toate drepturile sunt rezervate autorului. End Function Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Function ReatasareTabel(NumeTabel As String, CaleNoua As E document pentru uzul personal. String) As Integer Dim db As Database Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim tdf As TableDef scop m| putei contact| la: ReatasareTabel = ANTAL Tiberiu Alexandru True tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Set db = CurrentDb() Set tdf = db.TableDefs(NumeTabel)

354

Programarea cu obiectul DAO - cursul 13

Conf. If ing. ANTAL Tiberiu Alexandru dr. Len(tdf.Connect) > 0 Then Universitatea Tenhic| din Cluj-Napoca tdf.Connect = ";DATABASE=" & CaleNoua Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access On Error Resume Next Copyright 2000. Toate drepturile sunt rezervate autorului. tdf.RefreshLink ReatasareTabel = (Err = 0) Multiplicarea acestui document n scop comercial este interzis|. On Error GoTo 0 Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End If document pentru uzul personal. End Function Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

355

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Obiectivele cursului 14 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Dupa parcurgerea acestui curs veti cunoaste: 7 Curs de baze de date Microsoft Access Copyright 2000. Toatenout|ile aduse de Access 2000; ! care sunt drepturile sunt rezervate autorului. ! Multiplicareacare este document n scop comercial este interzis|. de date Access; acestui noul model de date pentru manipularea bazelor ! ce este obiectul Connection; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ! cum se manipuleaz| document pentru uzul personal. coleciile n Access 2000; ! cum se lucreaz| cu mulimile de nregistr|ri n Access 2000; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare ! cum se efectueaz| operaiile cost i cu mulimile de al autorului. n acest pot multiplica documentul numai contracomunecu acordul scris nregistr|ri (creare, scop m| putei contact| la: navigare, editare i operaii cu interog|ri); ! ce Alexandru ANTAL Tiberiueste schema bazei de date i cum se lucreaz| cu ea n Access 2000 tel.: 0040-264-530918 locale i legate, crearea i modificarea interog|rilor, crearea de (crearea de tabele e-mail: antaltiberiu@pcnet.ro indexuri i relaii).

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

356

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Ce aduce nou Access 2000? Universitatea Tenhic| din Cluj-Napoca Facultatea produsului Access un salt mare s-a produs de la versiunea 2.0 la 95. Access 2000, n evoluia Construcii de Maini Catedra de Mecanic| i Programareversiunii 97 care se pot grupa pe urm|toarele domenii: la rndul lui, aduce modific|ri majore Curs de baze dei rapoarte, obiectele pentru accesul la date, internet/intranet. VBA, formulare date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului.

VBA n Access 2000


Multiplicarea acestui document n scop comercial este interzis|. Editorul Access pentru module de program a fost nlocuit cu cel folosit n limbajul de programare Visual Basic 6, iar modific|rile f|cute ntr-o prezentare sumar| sunt: Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest editorul VBA din Access 2000 este acelai cu editoarele VBA ale altor aplicaii document pentru uzul personal. Microsoft Office (Excel i Word) i cu cel al firmelor tere care permit programarea aplicaiei lor din VBA; Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost formulare i rapoarte se poate proteja acest ntregul cod VBA din modulele globale, i cu acordul scris al autorului. n printr-o scop m| putei VBA nu mai este protejat prin sistemul de securitate la nivel de utilizator; singur| parol|. contact| la: editorul VBA folosete modelul de obiect programabil i suport| tehnologia COM ANTAL Tiberiu Alexandru pentru aplicaii add-ins (o procedur| Visual Basic mpreun| cu obiectele pe care le tel.: 0040-264-530918fi stocat| sau tears| din baza de date sub controlul unui program manipuleaz| ce poate e-mail: antaltiberiu@pcnet.ro gestionar de add-ins-uri) care cresc productivitatea scrierii, analizei i format|rii codului VBA.

Formulare i rapoarte n Access 2000


Aici modific|rile nu sunt foarte mari i se pot grupa astfel: formularele i rapoartele Alexandru Conf. dr. ing. ANTAL Tiberiu suport| gruparea i degruparea controalelor; Universitatea Tenhic| afieaz| text permit folosirea unui chenar definit de utilizator n jurul controalele care din Cluj-Napoca Facultatea Construcii de Maini n interiorul controlului; textului permind mutarea textului Catedra de Mecanic| i Programare se pot de date Microsoft Access Curs de baze aplica reguli de formatare condiionat| datelor din cutiile cu text i combinate; mulimea de nregistr|ri care formeaz| sursa de date a formularului se poate seta la o Copyright 2000. ToateDAO sau ADO. rezervate autorului. mulime de nregistr|ri drepturile sunt Multiplicarea acestui document n scop comercial este interzis|.

Accesul la date n Access 2000


Sudeniila date a suferit o modificare important|, motorul bazeibugetar vine multiplica acest Accesul participani la orice form| de nv||mnt superior de date pot cu o opiune document pentru uzul personal. la date i un nou format al bazei de date, toate aceste nou|, un nou model pentru accesul mbun|t|iri sunt prezentate pe scurt n cele ce urmeaz|: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare dei motorul Jet r|mne motorul implicit, cu acordul scris lucrul cu Microsoft Data pot multiplica documentul numai contra cost iAccess-ul permite al autorului. n acest Engine (MSDE), o versiune cu num|r de conect|ri limitate ale lui SQL Server 7; scop m| putei contact| la: este posibil| crearea de fiiere Access Data Projects (ADP) pe lng| clasicele baze de date Access MDB. Un fiier ADP este o baz| de date f|r| date n care se pot stoca formulare, ANTAL Tiberiu Alexandru rapoarte, macro-uri, module i leg|turi la date care sunt stocate pe un SQL server sau pe baz| tel.: 0040-264-530918 de date antaltiberiu@pcnet.ro e-mail: MSDE; motorul Jet stocheaz| datele n formatul Unicode, motiv pentru care aplicaiile multilingve sunt mai uor de scris; Access-ul 2000 folosete noul model de date ActiveX Data Objects (ADO) ca model

357

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru DAO va continua s| existe i s| lucreze corect; preferenial pentru accesul la date dei codul Universitatea Tenhic| din Cluj-Napoca motorul Jet permite blocare Facultatea Construcii de Maini la nivel de nregistrare i nu la pagin| ca i pn| acum; Jet-ul are o serie Programare Catedra de Mecanic| ide facilit|i care permit determinarea mainii i a numelui tuturor utilizatorilor care acceseaz| baza Access Curs de baze de date Microsoft de date i permite inhibarea leg|rii de noi utilizatori la baza de date pentru a permite derularea unor operaii de ntreinere a bazei de date; Copyright 2000. Toatedou| noi modele de obiecte autorului. ADO pentru lucrul cu schema Microsoft-ul d| drepturile sunt rezervate din familia bazei de date i ntreinerea acesteia: ADOX i JRO. ADOX permite investigarea i Multiplicarea acestui document n scop comercialcompactarea i repararea bazelor de date. modificarea schemei bazei de date, iar JRO permite este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Facilit|ile internet i intranet ale lui Access 2000 n aceast| versiune de Access Generatorul de pagini Web este nlocuit cu pagini pentru Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare accesul la date. O pagin| pentru accesul la date este o pagin| Web care se poate folosi la pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest vizualizarea i editatrea datelor dintr-o baz| de date Access, MSDE sau SQL Server 7 prin scop m| putei contact| la: intermediul lui Internet Explorer 5. Cteva dintre informaiile legate de aceste pagini sunt: paginile pentru accesul ANTAL Tiberiu Alexandru la date se folosesc de capacitatea lui IE5 de legare la datele unui 0040-264-530918 client; tel.: e-mail:pagina pentru accesul la date face parte dint-o pagin| HTML care folosete eXtensible antaltiberiu@pcnet.ro Markup Language (XML); paginile pentru accesul la date pot fi folosite dintr-o baza de date MDB, proiect ADP sau IE5; Access-ul are un Generator pentru proiectarea paginilor pentru accesul la date; se poate ataa cod scris n limbajele VBscript sau JavaScript paginilor; Conf. dr. ing. ANTAL Tiberiu Alexandru pagina Tenhic| din Cluj-Napoca Universitatea pentru accesul la date poate fi scris| de la zero sau se poate baza pe coninutul unei alte pagini de Web ; Maini Facultatea Construcii de se pot include componente de Web Office n pagini; Catedra de Mecanic| i Programare Curs de baze de date pentru accesul la date pot fi folosite pentru navigare i editarea paginile active Microsoft Access nregistr|rilor unei baze de date i pentru realizarea de rapoarte datorit| facilit|ilor n Copyright 2000. Toate drepturile sunt rezervate autorului. grupare. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Versiunile pentru uzul Access foloseau o bibliotec| numit| DAO pentru accesul la date din document anterioare de personal. program. DAO i-a nceput existena ca interfa| cu motorul Jet odat| cu Access 1 i treptat a ajuns la o m|rime i complexitate impresionant| sub cu plat| sau alte persoane doritoare Sudenii participani la orice form| de nv||mntAccess 97, sau cu alte cuvinte a devenit preamultiplica documentul Access contraDAO i cu acordul scris al autorului. naccesul pot complicat. ncepnd cu numai 2000, cost nu mai este modelul preferat pentru acest la date, locul ei contact| de scop m| putei fiind luat la: ADO. Exist| situaii cnd este de preferat folosirea lui DAO n Access 2000, cele mai importante sunt: ANTAL Tiberiu Alexandru de nregistr|ri a unui formular dintr-o baz| de date Access este folosirea unei mulimi tel.: 0040-264-530918 DAO (formularele unui proiect Access folosesc mulimi de o mulime de nregistr|ri e-mail: antaltiberiu@pcnet.ro nregistr|ri ADO); la conversia unei baze de date dintr-o versiune anterioar| de Access, mulimile de nregistr|ri vor fi implicit DAO (la crearea unei baze de date noi n Access 2000 se folosete implicit ADO).

ADO sau DAO?

358

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Specificarea referinelor Curs de baze de date Microsoft Access La crearea unei baze de date noi (fiierul are extensia MDB) sau a unui proiect (fiierul are extensia ADP) Access 2000 presupune c| vei lucra cu ADO i va seta referina din figura Copyright 2000. Toate drepturile sunt rezervate autorului. urm|toare c|tre biblioteca Microsoft ActiveX Data Objects 2.1. Referina se poate seta i manual din editorul de module Visual Multiplicarea acestui document n scop comercial este interzis|. Basic al Access-ului selectnd din Tools pe References. Pentru aceasta n Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest fereastra de dialog References, unde document pentru uzul personal. sunt afiate sub forma unei liste toate bibliotecile de obiecte instalate pe Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare calculator, se activeaz| butonul de pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest validare corespunz|tor numelui scop m| putei contact| la: aplicaiei dorite. Dac| validai Microsoft ActiveX Data Objects 2.1 ANTAL Tiberiu Alexandru Library, aplicaia va folosi ADO, dac| tel.: 0040-264-530918 validai Microsoft DAO 3.6 Object e-mail: antaltiberiu@pcnet.ro Library aplicaia va folosi DAO. Este posibil s| fie ambele biblioteci validate simultan, caz n care apar unele probleme de scriere ntruct exist| obiecte ale celor dou| biblioteci care au acelai nume. De exemplu, att DAO ct i ADO au obiectul Recordset, astfel o linie de program de forma: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dim rs As Recordset Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access nu se tie la ce fel de mulime de nregistr|ri se refer|. Pentru rezolvarea ambiguit|ii numele bibliotecii 2000. Toate drepturile sunt rezervate scrie: Copyrightva preceda numele obiectului astfel vom autorului. Multiplicarea acestui document n scop comercial este interzis|. Dim rs1 As ADODB.Recordset Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Dim rs2 As DAO.Recordset document pentru uzul personal. Sudenii participani obiecteform| de nv||mnt cu plat| sau alte persoane doritoare Noua ierarhie de la orice potfel cu versiunile anterioare, Access-ul cost i cu acordul scris al autorului. n acest La multiplica documentul numai contra scop m| putei contact| la: are propria lui ierarhie de obiecte prin care putem avea acces la informaii cu ANTAL Tiberiu Alexandru rapoartele privire la paginile, formularele, tel.: 0040-264-530918 aplicaiei. deschise sau la modulele e-mail:care urmeaz| le prezint| parial pe Figura antaltiberiu@pcnet.ro acestea. Ierarhia obiectului aplicaie (Application) include toate obiectele (formularele, rapoartele, paginile deschise i modulele de cod etc. ) cu care

359

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Access-ul poate lucra. n cele ce urmeaz|, din punctul de vedere al accesului la date, aceste document pentru uzulsecundar fiind discutate n principal obiectele care in de ierarhia obiecte vor avea un rol personal. ADO. Acestea vor fi folosite pentru a interaciona cu motorul bazei de date indiferent dac| Sudenii participani la orice form| demotorul MSDE. Figurasau alte persoane doritoare acesta este motorul Jet, SQL Server sau nv||mnt cu plat| care urmeaz| prezint| ca pot multiplica documentul numai contra cost i n ultima figur| se prezint| coleciaacest exemplu ierahia pentru obiectul Connection, apoi cu acordul scris al autorului. n scop m| putei contact| la: Connection, Command, Recordset i Filed. Properties comun| obiectelor ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini DAO a devenit n timp o bibliotec| uria|, ADO folosete trei modele Catedra ntre Diferent ede Mecanic| i Programare de obiecte distincte Curs de baze ADO s i DA O de date Microsoft Access pentru a furniza aceeai funcionalitate cu DAO. Acestea sunt ADO (ADODB), Microsoft ADO Extensions for DDL and Security (ADOX) i Microsoft Jet Copyright 2000. Toate drepturile sunt rezervate autorului. and Replication Objects (JRO). Majoritatea aplicaiilor nu au nevoie de toate aceste modele pentru a funciona, divizarea pe criteriul funcionalit|ilor putndu-se justifica n acest Multiplicarea acestui document n scop comercial este interzis|.fel. Aplicaia care acceseaz| datele se numete consumator de date (de exemplu, Access 2000 sau un program scris n Visual Basic 6.0),orice form| decare asigur| accesul la date se numete, furnizoracest Sudenii participani la iar programul nv||mnt superior bugetar pot multiplica de baz| de dat| (de exemplu, Microsoft OLE DB Provider for SQL Server sau Microsoft Jet 4.0 document pentru uzul personal. OLE DB Provider). Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Manipularea datelor prin ADO scop m| putei contact| la: ADO permite aplicaiilor client s| acceseze i s| manipuleze date prin orice furnizor de servicii OLE DB Alexandru ANTAL Tiberiu (OLE DB este o component| a unui SGBDR care implementeaz| accesul eficient prin reea local| sau internet la mai multe tipuri de surse de date: date stocate conform tel.: 0040-264-530918 modelului relaional, fiiere de pot| electronic|, foi de calcul). ADO conine obiecte pentru e-mail: antaltiberiu@pcnet.ro conectarea la o surs| de date i manipularea acestora. n ADO obiectul Connection definete o sesiune de lucru pentru un utilizator al unei surse de date particulare. n DAO obiectul Workspace definete o sesiune de lucru a unui utilizator, iar obiectul Database definete sursa de date. Obiectul ADO Command este similar obiectului DAO QueryDef, ambele

360

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr.folosite pentru Tiberiu Alexandru putnd fi ing. ANTAL executarea de instruciuni SQL asupra unei surse de date. Obiectul Universitatea Tenhic| din Cluj-Napoca pentru vizualizarea coninutului unui tabel sau a Recordset este folosit n ambele biblioteci Facultatea Construcii deinstruciuni SQL. rezultatelor execuiei unei Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Definiia datelor i securitatea cu ADOX Copyright 2000. Toate drepturile sunt rezervate autorului. ADOX conine obiectele pentru definiia datelor (Tables, Procedures i Views) i coleciile (Users i Groups) pentru securitate. Aici diferenele fa| de DAO sunt semnificative ntruct Multiplicarea acestui document n scop comercial este interzis|. cel Database cele pentru n DAO, obiectul Workspace coninea coleciile pentru securitate i definiia datelor. Fiecare obiect Catalog este asociat unui singur obiect Connection, n timp Sudenii participani la orice form| de nv||mnt superior bugetar pot Obiectele ADO ce n DAO obiectul Workspace putea conine mai multe obiecte Database. multiplica acest document pentru uzul personal. Tabel, Index i Column sau aproximativ echivalente cu obiectele DAO TableDef, IndexDef i Field, dar n ADO fiecare dintre aceste obiecte are o colecie standard Properties. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| puteiJRO Replicarea cu contact| la: Modelul JRO conine obiecte pentru crearea, modificarea i sincronizarea mai multor replici a ANTAL Tiberiu Alexandru unei baze de date. Se poate folosi numai pentru baze de date ale motorului Microsoft Jet. tel.: 0040-264-530918 Replica este obiectul primar folosit pentru crearea de replici noi, pentru modificarea e-mail: antaltiberiu@pcnet.ro propriet|ilor unei replici i pentru sincronizarea replicilor.

Utilizarea variabilelor obiect


Pentru o variabil| obinuit| linia de declaraie este de forma: Conf. dr. ing. ANTAL Tiberiu Alexandru Dim i As Integer din Cluj-Napoca Universitatea Tenhic| Facultatea Construcii de Maini Catedra de Mecanic| i Programare aceasta spune Access-ului s| rezerve spaiu n RAM pentru stocarea unei valori de tipul ntreg Curs de baze de date Microsoftobiect (o variabil| care refer| un obiect pentru accesul la date (Integer). n cazul unei variabile Access sau un obiect de interfa| cu utilizatorul) Access-ul creeaz| numai un poantor, adic| aloc| Copyright 2000. Toate drepturile sunt rezervate autorului. spaiu suficient numai pentru stocarea unei adrese de obiect. Deci, n Access 2000 dac| scriem liniile: Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Dim con As ADODB.Connection documentAs ADODB.Recordset Dim rs pentru uzul personal. Dim frm As Form la orice form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| vor conine obiectul n sine ci numai o referint| (un poantor) la variabilele respective nu la: obiect. n acest moment n aceste variabile nu sunt ns| stocate i adresele obiectelor, pentru ANTAL Tiberiu Alexandru aceasta trebuie s| scriem codul: tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Set con = CurrentProject.Connection Set rs = New ADODB.Recordset Set frm = Forms("FAdrese")

361

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Liniile de mai sus fac ca de Maini obiect s| se refere la cte un obiect actual. Dac| pe Facultatea Construcii variabilele parcursulde Mecanic| variabila obiect iese n afara scopului, Access-ul va elibera (obiectul Catedra codului scris i Programare este tersbazeRAM) i Microsoft RAM corespunz|tor obiectului poantat de variabila Curs de din de date spaiul de Access respectiv| n cazul n care aceast| variabil| este singura din cod n care se refer| obiectul. Dac| avei dubii asupra eliber|rii spaiului folosit laautorului. Copyright 2000. Toate drepturile sunt rezervate stocarea unui obiect aceasta se poate realiza i explicit prin: Multiplicarea acestui document n scop comercial este interzis|. Set rs = Nothing Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Unele obiecte au o metod| Close, aceasta trebuie apelat| nainte de dezalocarea spaiului pentru obiectul n cauz|, orice form| va nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la deci ordinea de fi: pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: rs.Close Set rs = Nothing ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Obiectul Connection
Este obiectul din vrful ierarhiei ADO, orice alt obiect se poate folosi numai dac| s-a specificat conexiunea care va fi folosit| pentru accesul la date. Obiectul corespunde unei singure conexiuni la un furnizor de date OLE DB. Obiectul Connection poate fi creat explicit sau se poate crea implicit cnd se lucreaz| cu Conf. dr. ing. ANTAL Tiberiu Alexandru un obiect derivat al lui, de exemplu obiectul Recordset, cnd este necesar| i specificarea informaiei de conectare. Dac| codul se scrie n Universitatea Tenhic| din Cluj-Napoca Access se poate folosi obiectul CurrentProject pentru a obine o referin| la conexiunea Facultatea Construcii de Maini bazei de de Mecanic| Catedradate curente. i Programare Curs de baze de date Microsoft Access Pentru a ne 2000. Toate baz| de date cu numele db2000-test.mdb se folosete codul: Copyright conecta la o drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Public Sub Conectare() Dim con As ADODB.Connection Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Set con = New ADODB.Connection Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai = _ cost i cu acordul scris al autorului. n acest con.ConnectionString contra scop m| putei contact| la: "Provider=Microsoft.Jet.OLEDB.4.0;" & _ ANTAL Tiberiu Alexandru CurrentProject.Path & "\db2000-test.mdb" "Data Source= " & tel.: 0040-264-530918 con.Open e-mail: antaltiberiu@pcnet.ro Debug.Print con.ConnectionString Set con = Nothing

362

Access 2000, ADO si ADOX - cursul 14 -

Conf. Subing. ANTAL Tiberiu Alexandru End dr. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare este: iar rezultatul afiat n fereastra imediat| Curs de baze de date Microsoft Access Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=C:\My Documents\db2000-test.mdb; Copyright 2000. Toate drepturile sunt rezervate autorului. Mode=Share Deny None;Extended Properties="";Locale Identifier=1033;Jet OLEDB:System database="";Jet Multiplicarea acestui document n scop comercial este interzis|. OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk document pentru uzul personal. Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Database=False;Jet OLEDB:Don't Copy Locale on pot multiplica documentul numai contra cost Without Replica autorului. n acest Compact=False;Jet OLEDB:Compact i cu acordul scris al scop m| putei contact| OLEDB:SFP=False Repair=False;Jet la: ANTAL Tiberiu Alexandru Procedura Sub de mai tel.: 0040-264-530918 sus folosete proprietatea CurrentProject.Path pentru a e-mail: antaltiberiu@pcnet.ro curent| sau fiierul proiect. R|spunsul afiat conine un determina calea c|tre baza de date num|r foarte mare de propriet|i ale conexiunii, dar singurele necesare pentru realizarea unei conexiuni sunt numele furnizorului OLE DB (Provider) i numele bazei de date care se va deschide (Data Source). Dac| dorii s| facei referire la baza de date curent| folosii codul: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Public Sub BdCurenta() Facultatea Construcii de Maini Catedra de Mecanic| i Programare Dim con As ADODB.Connection Curs de baze de date Microsoft Access Set con = CurrentProject.Connection Copyright 2000. Toate drepturile sunt rezervate autorului. Debug.Print con.ConnectionString End Sub Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru Enumerarea obiectelor unei colecii uzul personal. Prezint n continuare cel mai simplu mod de parcurgere a unei colecii prin folosirea Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane referi tipul instruciunii For Each ... Next. Este necesar| crearea unei variabile care s| poat| doritoare potobiect specific coleciei care va ficontra cost i cu acordul scris se autorului. n acest de multiplica documentul numai parcurs|. Baza de date folosit| al numete scop m| putei contact| la: Members. Figura care urmeaz| conine i codul pentru ADDBOOK.MDB, iar tabelul procedura de tipul Sub cu numele ListareCampuri. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Codul parcurge iterativ fiecare element al coleciei i folosete un Set implicit pentru a poanta la variabila obiect corespunz|toare pentru fiecare obiect al coleciei. Cnd ajunge la linia Next fld, valoarea poantorului se va modifica la urm|torul element al coleciei.

363

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Public Sub ListareCampuri(NumeTable As String) Universitatea Tenhic| din Cluj-Napoca Dim rs As ADODB.Recordset Facultatea Construcii de Maini Catedra de fld As ADODB.Field Dim Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Set rs = New ADODB.Recordset Multiplicarea acestui document n scop comercial este interzis|. rs.Open NumeTable, CurrentProject.Connection Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. For Each fld In rs.Fields Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Debug.Print fld.Name pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Next fld scop m| putei contact| la: ANTAL Tiberiu Alexandru rs.Close tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Set rs = Nothing End Sub

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Acelai cod rescris cu un For ... Next clasic devine:

364

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Public Sub ListareCampuriClasic(NumeTable As String) Universitatea Tenhic| din Cluj-Napoca Dim rs As ADODB.Recordset Facultatea Construcii de Maini Catedra de fld As ADODB.Field Dim Mecanic| i Programare Curs de baze de date Microsoft Access Dim i As Integer Copyright 2000. Toate drepturile sunt rezervate autorului. Set rs = New ADODB.Recordset Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest rs.Open NumeTable, CurrentProject.Connection document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare For i = 0 To rs.Fields.Count - 1 pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Set fld = rs.Fields(i) scop m| putei contact| la: Debug.Print fld.Name ANTAL Tiberiu Alexandru Next i tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro rs.Close Set fl = Nothing Set rs = Nothing End Sub Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Lucrul cu mulimile de nregistr|ri n Access 2000 Catedra de Mecanic| i Programare n ADO baze de date Microsoft Access Curs de se folosete termenul de cursor pentru a descrie comportamentul poantorului nregistr|rii curente dintr-o mulime de nregistr|ri. Un cursor este obiectul ce permite deplasarea 2000. nregistr|rile unei mulimi de nregistr|ri. ADO permite folosirea a patru Copyright printre Toate drepturile sunt rezervate autorului. tipuri de cursoare care sunt descrise n tabelul urm|tor: Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la oriceDescriere nv||mnt superior bugetar potDezavantaje form| de multiplica acest Tipul cusorului Avantaje document pentru uzul personal. Dynamic Mulime de Afieaz| toate Permite folosirea nregistr|ri dintr-un modific|rile f|cutealte persoane doritoare marcajelor numai Sudenii participani la orice form| de nv||mnt cu plat| sau tabel sau dintr-o alt| i ali utilizatori. dac| furnizorul le pot multiplica documentul numai contra cost decu acordul scris al autorului. n acest surs| de date. suport|. Nu poate scop m| putei contact| la: lucra cu jet ole db n acest mod. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

365

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Keyset Mulime de poantori Universitatea Tenhic| din Cluj-Napoca (bookmarks) Facultatea Construcii de Maini care Catedra de Mecanic| irefer| datele unui Programare tabel sau interogare Curs de baze de date Microsoft Access din baza de date.

Afieaz| toate modific|rile f|cute de ali utilizatori. Suport| lucrul cu marcaje ntotdeauna.

Copyright 2000. Toate drepturile sunt rezervate autorului. Static Copie a unei ntotdeuna suport| Nu reflect| Multiplicarea acestui documentde scop comercial este Singurul tip modific|rile aduse mulimi n marcaje. interzis|. nregistr|ri aa cum de mulime de datelor n regimul de Sudenii participani la era ea form| de nv||mnt superior bugetar lucru cu mai muli orice la momentul pot multiplica acest nregistrare este document pentru uzul personal. cre|rii ei. client-side cursor utilizatori Forward-only Mai cu plat| sau Permite navigarea n Sudenii participani la Copie form| de nv||mntrapid| dect alte persoane doritoare orice a unei mulimi de contra cost cursorul static al autorului.numai n mulime n acest pot multiplica documentul numai i cu acordul scris fa|. scop m| putei contact|nregistr|ri aa cum la: era ea la momentul cre|rii ANTAL Tiberiu Alexandru ei. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Nu afieaz| noile nregistr|ri ad|ugate de ali utilizatori. mpiedic| accesul la nregistr|rile terse de ali utilizatori.

Deschiderea unei mulimi de nregistr|ri


Codul pentru deschiderea unei mulimi de nregistr|ri este de forma: Dim rs As ADODB.Recordset Set rs ing. ANTAL Tiberiu Alexandru Conf. dr. = New ADODB.Recordset rs.Open Sursa, Conexiune, TipCursor, TipBlocare, Optiuni 7 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Toi aceti parametri sunt opionali i pot fi specificai i naintea deschiderii mulimii de Curs de baze de date Microsoft Access nregistr|ri, din acest motiv cele dou| poriuni de cod care urmeaz| sunt echivalente: Copyright 2000. Toate drepturile sunt rezervate autorului. rs.Connection = CurrentProject.Connection Multiplicarea acestui document n scop comercial este interzis|. rs.CursorType = adOpenStatic rs.LockType = adLockOptimistic Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. rs.Open "Members" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare rs.Open "Members", CurrentProject.Connection, al autorului. n acest pot multiplica documentul numai contra cost i cu acordul scris adOpenStatic, _ adLockOptimistic scop m| putei contact| la: ANTAL Tiberiu Alexandru Parametrul Sursa specific| locul din care vin datele i trebuie s| fie: 7 tel.: 0040-264-530918 e-mail:numele unui tabel existent; antaltiberiu@pcnet.ro numele unei interog|ri existente sau a unei proceduri stocate care ntoarce nregistr|ri; o instruciune SQL care ntoarce nregistr|ri; numele unei variabile obiect Command existente;

366

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru numele de fiier al unei mulimi de nregistr|ri persistente. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Parametrul TipCursor Programare cursorului pe care ADO l folosete la navigarea Catedra de Mecanic| i specific| tipul printre nregistr|ri i trebuie s| fie una dintre constantele prezentate n tabelul care urmeaz|: Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Numele constantei de tipul cursor Descriere Multiplicarea acestui document n scop comercial este interzis|. adOpenDynamic Deschide o mulime dinamic| de nregistr|ri. Sudenii participani la orice form| de nv||mnt mulime de nregistr|rimultiplica acest adOpenKeyset Deschide o superior bugetar pot de chei. document pentru uzul personal. adOpenStatic Deschide o mulime de nregistr|ri statice. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare adOpenForwardOnly Deschide o acordul scris al autorului. n acest pot multiplica documentul numai contra cost i cu mulime de nregistr|ri pentru navigare n fa|. scop m| putei contact| la: ANTAL Tiberiu Alexandru Parametrul TipBlocare specific| comportamentul n cazul edit|rii mulimii de nregistr|ri tel.: 0040-264-530918 n cazul bloc|rii lor. Tabelul urm|tor prezint| constantele predefinite care pot fi folosite: e-mail: antaltiberiu@pcnet.ro Numele constantei de tipul blocare adLockReadOnly Descriere Mulimea de nregistr|ri nu poate fi editat|.

adLockPessimistic Blocarea mulimii de nregistr|ri este pesimist|. Conf. dr. ing. ANTAL Tiberiu Alexandru adLockOptimistic Blocarea mulimii de nregistr|ri este optimist|. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini adLockBatchOptimistic Pentru mulimile de nregistr|ri care vor folosi Catedra de Mecanic| i Programare metoda UpdateBatch pentru actualizarea mai Curs de baze de date Microsoft Accessmultor nregistr|ri ntr-o singur| operaie. Copyright 2000. Toate drepturile sunt rezervate autorului. Not|: Implicit, mulimea de nregistr|ri ADO seteaz| valorile acestor parametri la Multiplicarea acestui document n scop comercial este interzis|. adOpenForwardOnly i adLockReadOnly Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Parametrul Optiuni spune lui ADO cum s| evalueze parametrul Sursa, el poate lua 7 document pentru uzul personal. valorile prezentate n tabelul urm|tor: Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact|evaluare Numele constantei de la: Descriere adCmdText ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro adCmdTable Spune furnizorului s| evalueze sursa ca i instruciune SQL. Spune ADO-ului s| genereze o interogare SQL pentru citirea tuturor nregistr|rilor unui tabel sau interogare a c|rui nume este specificat n surs|.

367

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru adCmdTableDirect Spune Universitatea Tenhic| din Cluj-Napoca furnizorului s| ntoarc| toate nregistr|rile unui Facultatea Construcii de Maini tabel sau interogare a c|rui nume este specificat n surs|. Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access furnizorului s| evalueze sursa ca un nume de adCmdStoredProc Spune procedur| stocat| sau ca interogare. Copyright 2000. Toate drepturile sunt rezervate autorului. adCmdUnknown Spune ADO-ului s| interogheze furnizorul pentru a Multiplicarea acestui document n determina dac| sursa interzis|. scop comercial este este o procedur| stocat|, un nume de tabel sau o instruciune SQL. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest adCmdFile Spune ADO-ului c| parametrul surs| este numele unui document pentru uzul personal. fiier care conine o mulime de nregistr|ri persistent|. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Codul pentru deschiderea unei mulimi de nregistr|ri pe baza tabelului Members din baza de scop m| putei contact| la: date ADDRBOOK.MDB este: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Public Sub DeschideMultimedeInregistrariADO() e-mail: antaltiberiu@pcnet.ro Dim con As ADODB.Connection Dim rs As ADODB.Recordset Dim fld As ADODB.Field

Conf. Seting. ANTAL Tiberiu Alexandru dr. con = CurrentProject.Connection Universitatea Tenhic| din Cluj-Napoca Set rs = New ADODB.Recordset Facultatea Construcii de Maini Catedra de Mecanic| i Programare rs.Open "SELECT * Access Curs de baze de date MicrosoftFROM Members", con, adOpenForwardOnly,E adLockReadOnly Copyright 2000. Toate drepturile sunt rezervate autorului. For Each fld In rs.Fields Multiplicarea acestui document n scop comercial este interzis|. Debug.Print fld.Name; "= "; fld.Value Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Next document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare rs.Close pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Set fld = Nothing Set rs = Nothing ANTAL Tiberiu Alexandru tel.: 0040-264-530918 End Sub e-mail: antaltiberiu@pcnet.ro Numele (Name) i valoarea (Value) fiec|rui cmp din prima nregistrare a mulimii vor fi afiate n fereastra imediat| prin parcurgerea iterativ| a coleciei Fields.

368

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr.obiectelor mulime de Alexandru Crearea ing. ANTAL Tiberiu nregistrare Universitatea Tenhic| din Cluj-Napoca Marele avantaj al ADO esteMaini Facultatea Construcii de flexibilitatea, adic| exist| mai multe feluri de a scrie acelai cod. Exemplele care urmeaz| specific| mai multe moduri de creare ale unui obiect Recordset: Catedra de Mecanic| i Programare 1. Crearea date Microsoft nregistr|ri pe baza unui tabel: Curs de baze deunei mulimi de Access Set rs = New ADODB.Recordset Copyright 2000. Toate drepturile sunt rezervate autorului. rs.Open "NumeTabel", CurrentProject.Connection Multiplicarea acestui document n scop comercial este interzis|. 2. Crearea unei la orice form| de nv||mnt superior bugetar pot multiplica de Sudenii participanimulimi de nregistr|ri pe baza unei interog|ri salvate n baza acest date: document pentru uzul personal. Set rs = New ADODB.Recordset Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare rs.Open "[NumeInterogare]", CurrentProject.Connection n acest pot multiplica documentul numai contra cost i cu acordul scris al autorului. scop m| putei contact| la: 3. Crearea unei mulimi ANTAL Tiberiu Alexandru de nregistr|ri care se poate edita i permite navigarea mpreun| cu sortare: tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro rs.CursorLocation=adUseClient rs.Open "SELECT * FROM numeTabel", CurrentProject.Connection,E adOpenKeyset, adLockOptimistic

4. Crearea unei mulimi de nregistr|ri pe baza unui tabel care permite c|utarea cu Conf. dr. ing. ANTAL Tiberiu Alexandru Seek: Universitatea Tenhic| din Cluj-Napoca rs.CursorLocation=adUseServer Facultatea Construcii de Maini Catedra de "NumeTable", CurrentProject.Connection, adOpenKeyset,E rs.Open Mecanic| i Programare Curs de baze de date Microsoft Access adLockOptimistic, adCmdTableDirect Copyright 2000. Toate drepturile sunt rezervate autorului.

Cursorul client

Multiplicarea acestui document n scop comercial este interzis|. Obiectul ADO Recordset are o proprietate CursorLocation care nu exista n DAO i care afecteaz| participani la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii funcionarea i performanele mulimii de nregistr|ri. Noiunea de cursor semnific| nregistr|rile din cache (termenul de cache se folosete pentru o memorie care stocheaz| date document pentru uzul personal. recent accesate i care este proiecat| pentru a crete viteza de acces n cazul referirii acelorai date) sau participani la orice form| de nv||mnt cu bazei de date lapersoane doritoare Sudenii de poantori la nregistr|ri furnizate de motorul plat| sau alte deschiderea unei mulimi de nregistr|ri. ADOnumai contra cost i cu acordulcursoare:autorului.(client-side) pot multiplica documentul suport| lucrul cu dou| tipuri de scris al cel client n acest i cel server (server-side). Un scop m| putei contact| la: cursor client se creeaz| pe aceeai main| cu clientul (adic| cu utilizatorul bazei de date), iar cel server se creeaz| pe aceeai main| cu server-ul, care poate fi chiar maina pe care lucreaz| ANTAL Tiberiu Alexandru utilizatorul sau poate fi o main| server oarecare. Dou| constante sunt definite pentru alegerea cursorului, adUseServer (implicit|) pentru cursorul tel.: 0040-264-530918 server i adUseClient pentru e-mail: antaltiberiu@pcnet.ro cursorul client. Cnd se specific| cursorul client, ADO transfer| cererile serviciului Microsoft Cursor Service pentru OLE DB care este proiectat pentru creterea funcionalit|ii n accesarea nregistr|rilor de la orice furnizor OLE DB. Serviciul cere n primul pas toate datele de la furnizorul OLE DB folosind o mulime de nregistr|ri cu parcurgere n avans (forward-only) f|r| posibilitatea de modificare (read-only).

369

Access 2000, ADO si ADOX - cursul 14 -

Conf.realizeaz| un cache local pentru date i le prezint| aplicaiei ca o mulime de nregistr|ri Apoi dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca static|. n majoritatea cazurilor cursorul client din interiorul unei baze de date Access duce la Facultatea Construcii de Maini date pe aceeai main|: odat| de motorul Jet, apoi de realizarea de dou| cache-uri pentru Catedra de Mecanic| i acest cursor extinde funcionalitatea obiectului, de exemplu se poate Serviciul Cursor. Totui, Programare Curs de baze Sort sau se poate folosi o mulime de nregistr|ri deconectat| care va fi mai folosi metoda de date Microsoft Access trziu reconectat| la baza de date i actualizat| n regimul cu o singur| comand| ce modific| Copyright 2000. Toategeneral valoarea implicit| este cea folosit| normal, mai puin n cazul nregistr|ri multiple. n drepturile sunt rezervate autorului. cnd funcionalitatea adus| de cursorul client este necesar|. Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Navigarea printre nregistr|ri document pentru uzul personal. La fel ca i la DAO, ADO are metodele Move, MoveFirst, MoveLast, MoveNext i MovePrevious pentru deplasarea de la o nregistrare la alta. Codul care urmeaz| prezint| Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare folosirea lui MoveNext pentru a parcurge toate i cu acordulobiectului Recordset. acest pot multiplica documentul numai contra cost ntegistr|rile scris al autorului. n scop m| putei contact| la: Public Sub ParcurgeMultimedeInregistrariADO() ANTAL Tiberiu Alexandru Dim con As tel.: 0040-264-530918ADODB.Connection e-mail: antaltiberiu@pcnet.ro Dim rs As ADODB.Recordset Dim fld As ADODB.Field

Set con = CurrentProject.Connection Set rs = New ADODB.Recordset Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini rs.Open "SELECT * FROM Members", con, adOpenForwardOnly,E Catedra de Mecanic| i Programare adLockReadOnly Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Do Until rs.EOF For Each fld In rs.Fields Multiplicarea acestui document n scop comercial este interzis|. Debug.Print fld.Value & ", "; Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Next document pentru uzul personal. Debug.Print Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare rs.MoveNext pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Loop scop m| putei contact| la: ANTAL Tiberiu Alexandru rs.Close tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Set fld = Nothing Set rs = Nothing End Sub

370

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca C|utareaConstrucii de Maini Facultatea nregistr|rilor Catedra de Mecanic| au Programare pentru localizarea unei nregistr|ri ntr-o mulime de Att DAO ct i ADO i dou| metode Curs de baze de date Microsoft Access nregistr|ri: Find i Seek. n ambele cazuri trebuie specificat un criteriu pentru localizarea nregistr|rii care se ndeplinete. Seek are, n general, performane mai bune ca Find pentru Copyright 2000. Toatela c|utarea poziiei nregistr|rilor, dar este limitat la mulimile de c| lucreaz| cu indexuri drepturile sunt rezervate autorului. nregistr|ri care au index. DAO are metodele FindFirst, FindLast, FindNext i Multiplicarea acestui document ADO are o singur| este interzis|. care cu ajutorul FindPrevious pentru c|utare. n scop comercial metod| pe Find parametrilor permite specificarea sensului c|ut|rii i poziia din care ncepe c|utarea. Forma Sudenii a lui Find este:orice form| de nv||mnt superior bugetar pot multiplica acest general| participani la document pentru uzul personal. Recordset.Find la orice form| de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani Criteriu, SariRanduri, SensCautare, Inceput pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Semnificaia parametrilor este: ANTAL Tiberiu Alexandru de caractere de forma unei clauze WHERE format| la fel ca n 1. Criteriu: este un ir tel.: 0040-264-530918 cuvntul WHERE, de exemplu, PersonID = 3. Poate conine expresiile SQL, dar f|r| e-mail: antaltiberiu@pcnet.ro un operator de comparaie i o valoare; numai un singur nume de cmp, 2. SariRanduri: specific| un deplasament fa| de nregistrarea curent| din care va ncepe c|utarea. Implicit c|utarea ncepe de la nregistrarea curent|; 3. SensCautare: ia valoarea adSearchForward (implicit) pentru c|utarea n avans sau adSearchBackward pentru c|utarea n urm|; 4. Inceput: un marcaj opional pentru specificarea locului de nceput al c|ut|rii. Conf. dr. ing. ANTAL Tiberiu Alexandru Implicit c|utarea ncepedinnregistrarea curent|. Universitatea Tenhic| cu Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Public Sub CautaInregistrariADO() Curs de baze de date Microsoft Access Dim rs As ADODB.Recordset Copyright 2000. Toate drepturile sunt rezervate autorului. Dim fld As ADODB.Field Dim crt As document Multiplicarea acestuiString n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest crt = "[LastName] = document pentru uzul personal. 'Fuller'" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set rs = New ADODB.Recordset pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: rs.Open "Members", CurrentProject.Connection, E adOpenKeyset, adLockOptimistic, adCmdTable ANTAL Tiberiu Alexandru rs.Find crt tel.: 0040-264-530918 Do While Not rs.EOF e-mail: antaltiberiu@pcnet.ro For Each fld In rs.Fields Debug.Print fld.Value & ", ";

371

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Next Universitatea Tenhic| din Cluj-Napoca Debug.Print Facultatea Construcii de Maini Catedra de rs.Find i Programare Mecanic| crt, 1 Curs de baze de date Microsoft Access Loop Copyright 2000. Toate drepturile sunt rezervate autorului. rs.Close Set fld = Nothing Multiplicarea acestui document n scop comercial este interzis|. Set rs = Nothing Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End Sub document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Tabelul care urmeaz| prezint| echivalena ntre metodele de c|utare DAO i metoda Find pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ADO: scop m| putei contact| la: Metoda DAO SariRanduri din ANTAL Tiberiu AlexandruFind tel.: 0040-264-530918 FindFirst e-mail: antaltiberiu@pcnet.ro0 SensCautare din Find adSearchForward (dac| nu suntem poziionai pe prima nregistrare se folosete MoveFirst nainte de Find). adSearchBackward (dac| nu suntem poziionai pe ultima nregistrare se folosete MoveLast nainte de Find).

FindLast

Conf. dr. ing. ANTAL Tiberiu Alexandru adSearchForward FindNext 1 Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini FindPrevious adSearchBackward 1 Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access DAO i ADO folosesc o sintax| diferit| pentru localizarea nregistr|rilor cu valori Null. n Copyright 2000.ir de forma: "LastName Is Null" autorului. DAO se scria un Toate drepturile sunt rezervate sau "LastName Is Not Null". ADO nu recunoate operatorul Is se vor folosi n schimb operatorii = i <>, adic| scriem: "LastName Multiplicarea acestui document n scop comercial este interzis|. = Null" sau "LastName <> Null". Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest n cazul deschideriiuzul personal.de nregistr|ri cu opiunea adCmdTableDirect se poate document pentru unei mulimi folosi metoda Seek pentru localizarea mai rapid| a unei nregistr|ri folosind codul care urmeaz|. Localizarea la orice cu Seek nv||mnt n dou| sau alte Sudenii participaniunei dateform| de se realizeaz|cu plat| etape: persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest 1. Setai proprietatea Index a mulimii. Aceasta spune Access-ului dup| care index se scop m| putei contact| la: va realiza c|utarea. Dac| c|utarea se va face dup| cheia primar| trebuie s| cunoatei numele ei (dac| numele ei nu s-a modificat din program acesta este PrimaryKey); ANTAL Tiberiu Alexandru 2. Folosii metoda tel.: 0040-264-530918 Seek pentru g|sirea valorii dorite prin utilizarea unei opiuni de c|utare antaltiberiu@pcnet.ro e-mail: i a uneia sau a mai multor valori de c|utare. Dac| index-ul este format din mai multe cmpuri se vor furniza toate valorile de cmpuri printr-un tablou care se poate construi folosind funcia Array.

372

Access 2000, ADO si ADOX - cursul 14 -

Conf.lucreaz| numai cu Tiberiu Alexandru care au proprietatea CursorLocation Seek dr. ing. ANTAL mulimi de nregistr|ri Universitateadiferit de adUserClient. Pentru c| setarea implicit| este adUseServer setat| la ceva Tenhic| din Cluj-Napoca Facultatea obicei, nu va de o problem|. Opiunile de c|utare se specific| prin constantele aceasta, de Construcii fi Maini Catedra dedin tabelul care urmeaz|: predefinite Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Opiune Seek Descriere Multiplicarea acestui document n cheii egal| cu valoarea specificat| sau dac| nu este o adSeekAfterEQ C|utarea scop comercial este interzis|. astfel de cheie, prima cheie dup| punctul unde egalitatea ar fi Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest ap|rut. document pentru uzul personal. adSeekAfter C|utarea primei chei dup| punctul n care egalitatea apare sau ar fi ap|rut. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost cu cu acordul scris al autorului. n acest adSeekBeforeEQ C|utarea cheii egal| i valoarea specificat| sau dac| nu este o scop m| putei contact| la: astfel de cheie, prima cheie naintea punctului unde egalitatea ar fi ap|rut. ANTAL Tiberiu Alexandru adSeekBefore tel.: 0040-264-530918 C|utarea primei chei naintea punctului n care apare egalitatea e-mail: antaltiberiu@pcnet.ro fi ap|rut. sau ar adSeekFirstEQ adSeekLastEQ Caut| prima cheie egal| cu valoarea specificat|. Caut| ultima cheie egal| cu valoarea specificat|.

Public Sub CautarecuSeekADO() Conf. dr. ing. ANTAL Tiberiu Alexandru Dim con As ADODB.Connection Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dim rs As ADODB.Recordset Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Set con = CurrentProject.Connection Copyright 2000. Toate drepturile sunt rezervate autorului. Set rs = New ADODB.Recordset Multiplicarea acestui document n scop comercial este interzis|. rs.Open "Members", con, adOpenKeyset, adLockReadOnly, E Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest adCmdTableDirect document pentru uzul personal. rs.Index = "PrimaryKey" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest rs.Seek 5, adSeekFirstEQ scop m| putei contact| la: ANTAL Tiberiu Alexandru If Not rs.EOF Then tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Debug.Print rs.Fields("FirstName").Value, E rs.Fields("LastName").Value End If

373

Access 2000, ADO si ADOX - cursul 14 -

Conf. rs.Close dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Set rs = Nothing Facultatea Construcii de Maini Catedra de Mecanic| i Programare End Sub Curs de baze de date Microsoft Access Copyright 2000. Toatelocalizeze nregistrarea, nregistrarea curent| devine cea care conine Dac| Seek reuete s| drepturile sunt rezervate autorului. valoarea specificat|. Dac| operaia nu reuete, proprietatea EOF a mulimii de nregistrare ia Multiplicarea acestui document n scop comercial este interzis|. valoarea True. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Editarea datelor unei mulimi de nregistr|ri Dac| o mulime de nregistr|ri se poate actualiza prin specificarea tipului corespunz|tor DAO Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare sau n ADO prin parametrii TipCursor i TipBlocare se pot modifica, ad|uga i terge pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest nregistr|ri prin contact| la: scop m| putei folosirea obiectului Recordset. ANTAL Tiberiu Alexandru Modificarea unei nregistr|ri tel.: 0040-264-530918 Modificarea din program a unei nregistr|ri se face parcurgnd etapele: e-mail: antaltiberiu@pcnet.ro 1. Poziionare pe nregistrarea dorit|; 2. 3. Realizarea modific|rilor; Folosirea opional| a metodei Update pentru salvarea modific|rilor.

Public ing. ANTAL Tiberiu Alexandru Conf. dr. Sub ModificarecuADO() Universitatea Tenhic| din Cluj-Napoca Dim con As ADODB.Connection Facultatea Construcii de Maini Dim Mecanic| i Programare Catedra de rs As ADODB.Recordset Curs de baze de date Microsoft Access Set con = CurrentProject.Connection Copyright 2000. Toate drepturile sunt rezervate autorului. Set rs = New ADODB.Recordset Multiplicarea acestui document n scop comercial este interzis|. rs.Open "Members", con, adOpenKeyset, bugetar pot multiplica E Sudenii participani la orice form| de nv||mnt superioradLockOptimistic,acest adCmdTable document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare With rs pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: .Find "[LastName] = 'Davolio'" If .EOF Then ANTAL Tiberiu Alexandru tel.: 0040-264-530918 MsgBox "Nu exist asa un nume!" e-mail: antaltiberiu@pcnet.ro Else .Fields("LastName") = "Marinica" .Update

374

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru End If Universitatea Tenhic| din Cluj-Napoca End With Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access rs.Close Copyright 2000. Toate drepturile sunt rezervate autorului. Set rs = Nothing End Sub Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest n DAO era obligatorie folosirea metodei Edit nainte de modificarea unei mulimi de document pentru uzul personal. nregistr|ri, n ADO aceasta nici m|car nu mai exist|. ADO nu necesit| folosirea metodei Update participani la orice form| de nv||mnt cu plat| sau alte persoane puin dac| Sudenii pentru salvarea modific|rilor f|cute, aceasta se realizeaz| automat, mai doritoare se apeleaz| metoda CancelUpdate. Dac| se modific| o nregistrare autorului. s| nchidei pot multiplica documentul numai contra cost i cu acordul scris al i ncercai n acest mulimeaputei contact|ADO va genera o eroare n execuie dac| nu ai folosit metoda scop m| de nregistr|ri la: Update. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Ad|ugarea unei nregistr|ri noi e-mail: antaltiberiu@pcnet.ro Unei mulimi de nregistr|ri care se poate actualiza i care are securitatea aa nct s| ne permit| aceasta, i se adaug| o nregistrare parcurgnd etapele: 1. Folosii metoda AddNew pentru ad|ugarea unei nregistr|ri. Toate cmpurile vor primi valorile lor implicite; 2. Completai cmpurile cu valorile dorite; Conf. dr. ing. ANTAL Tiberiu Alexandru 3. Opional, folosii metoda Update pentru salvarea noii nregistr|ri. Dac| nu apelai Universitatea Tenhic| din Cluj-Napoca nregistrare ADO va salva nregistrarea automat. metoda Update dar v| poziionai pe o alt| Facultatea Construcii de o mulime de nregistr|ri far| salvarea explicit| a nregistr|rii se va Dac| ncercai s| nchidei Maini Catedra eroare n execuie. genera o de Mecanic| i Programare Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. Public Sub AdaugarecuADO() Dim con As ADODB.Connection Multiplicarea acestui document n scop comercial este interzis|. Dim rs As ADODB.Recordset Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Set con = CurrentProject.Connection Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set rs = New ADODB.Recordset pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: rs.Open "Household", con, adOpenKeyset, adLockOptimistic,E ANTAL Tiberiu Alexandru adCmdTable tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro With rs .AddNew

375

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru .Fields("HouseholdName") = "Vasilis" Universitatea Tenhic| din Cluj-Napoca .Fields("Address") = "Muncii 103-105" Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access .Update Copyright 2000. Toate drepturile sunt rezervate autorului. End With Multiplicarea acestui document n scop comercial este interzis|. rs.Close Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Set rs = Nothing document pentru uzul personal. End Sub Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest tergerea unei nregistr|ri scop m| putei contact| la: Pentru a terge o nregistrare dintr-o mulime de nregistr|ri se parcurg etapele: ANTAL Tiberiu Alexandru 1. Poziionare pe tel.: 0040-264-530918nregistrarea dorit|; e-mail:Apelarea metodei Delete. antaltiberiu@pcnet.ro 2. Nu este nevoie de folosirea lui Update pentru tergerea nregistr|rii, odat| tears| nregistrarea dispare, mai puin n cazul n care face parte dintr-o tranzacie. n acest caz se poate reveni asupra tergerii. Dup| tergere nregistrarea care s-a ters r|mne cea curent|, de exemplu se poate folosi MoveNext pentru deplasarea pe nregistrarea urm|toare. Orice ncercare ing. ANTAL cu nregistrarea tears| Conf. dr. de a face ceva Tiberiu Alexandru va genera o eroare n execuie. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Public de Mecanic| i Programare Catedra Sub StergeToateInregistarileunuiTabelcuADO() Curs de baze de date ADODB.Connection Dim con As Microsoft Access Dim rs As ADODB.Recordset Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Set con = CurrentProject.Connection Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Set rs = New ADODB.Recordset document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare rs.Open "Members", con, adOpenStatic, adLockOptimistic,E adCmdTable pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: With rs ANTAL Tiberiu Alexandru tel.: 0040-264-530918 If .RecordCount > 0 Then e-mail: antaltiberiu@pcnet.ro .MoveFirst Do .Delete

376

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL .MoveNext Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Loop Until .EOF Facultatea Construcii de Maini Catedra de End If i Programare Mecanic| Curs de baze de date Microsoft Access End With Copyright 2000. Toate drepturile sunt rezervate autorului. rs.Close Multiplicarea acestui document n scop comercial este interzis|. Set rs = Nothing Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End Sub document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Codul prezentat terge toate nregistr|rile tabelului Members din baza de date pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest ADDRBOOK.MDB dei metoda nu este cea mai bun| pentru rezolvarea acestei probleme. n scop m| putei contact| la: practic| vei folosi pentru aceasta o interogare de tergere (Delete Query). ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Actualiz|ri n grup e-mail: antaltiberiu@pcnet.ro Dac| se folosete cursorul client avnd unul dintre tipurile: adOpenKeyset, adOpenStatic se poate folosi abilitatea ADO-ului de actualizare unui grup de nregistr|ri. Adic|, se pot edita nregistr|ri multiple din baza de date dup| care se pot transmite toate modific|rile furnizorului OLE DB pentru a fi stocate ntr-o singur| operaie. Codul care urmeaz| va modifica toate nregistr|rile avnd n cmpul Country stocat| "USA" n "Transilvania". Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Public Sub ModificareInBloccuADO() Facultatea Construcii de Maini Catedra de con As ADODB.Connection Dim Mecanic| i Programare Curs de baze de date Microsoft Access Dim rs As ADODB.Recordset Dim crt As String Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Set con = CurrentProject.Connection Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Set rs = New ADODB.Recordset document pentru uzul personal. crt = "[Country] = 'USA'" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest With rs scop m| putei contact| la: .CursorLocation = adUseClient ANTAL Tiberiu Alexandru .Open "Household", con, adOpenKeyset, E tel.: 0040-264-530918 adLockBatchOptimistic e-mail: antaltiberiu@pcnet.ro .Find crt Do While Not .EOF .Fields("Country") = "Transilvania"

377

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru .Find crt, 1 Universitatea Tenhic| din Cluj-Napoca Loop Facultatea Construcii de Maini Catedra de .UpdateBatch Mecanic| i Programare Curs de baze de date Microsoft Access End With Copyright 2000. Toate drepturile sunt rezervate autorului. rs.Close Multiplicarea acestui document n scop comercial este interzis|. Set rs = Nothing Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End Sub document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Dac| modific|rile nu pot fi salvate, de exemplu pentru c| un alt utilizator a ters o pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest nregistrare, apare o eroare n execuie. ntr-un astfel de caz se poate folosi proprietatea scop m| putei contact| la: Filter mpreun| cu constanta adFilterAffectedRecords pentru filtrarea interog|rilor afectate de ultimul Delete, UpdateBatch sau CancelBatch. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Executarea interog|rilor

La fel ca i n DAO i n ADO interog|rile pot fi executate ns| cu o tehnic| i o funcionalitate m|rit|. Executarea unei interog|ri f|r| parametri stocate n baza de date O interogare f|r| parametri stocat| n baza de Conf. dr. ing. ANTAL Tiberiu Alexandru date este o instruciune SQL care a fost slavat| n baza de dateTenhic| din Cluj-Napoca Universitatea i nu necesit| informaii suplimentare pentru a fi executat|. Codul care urmeaz| lucreaz| cu o astfel de interogare: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Public Sub ExecutieInterogareStocataADO() Copyright 2000. Toate drepturile sunt rezervate autorului. Dim con As ADODB.Connection Dim rs As ADODB.Recordset Multiplicarea acestui document n scop comercial este interzis|. Dim fld As ADODB.Field Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Set con = CurrentProject.Connection Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set rs = New ADODB.Recordset pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: rs.Open "[Invoices]", con, adOpenForwardOnly, E ANTAL Tiberiu Alexandru adLockReadOnly, adCmdStoredProc tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro With rs Do Until .EOF

378

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Each fld In .Fields For Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii Debug.Print fld.Value & "' "; de Maini Catedra de Mecanic| i Programare Next Curs de baze de date Microsoft Access Debug.Print Copyright 2000. Toate drepturile sunt rezervate autorului. .MoveNext Loop Multiplicarea acestui document n scop comercial este interzis|. .Close Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End With document pentru uzul personal. Set rs = Nothing Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set con = Nothing pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: End Sub ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Observai c| interogarea se folosete la fel ca i n DAO cu diferena c| aici numele interog|rii n Open se scrie ntre paranteze dreptunghiulare. Ea folosete interogarea Invoices din baza de date Northwind.mdb. Executarea unei interog|ri cu parametri stocate n baza de date O interogare cu parametri stocat| n baza de date este o instruciune SQL care a fost salvat| n Conf. dr. ing. ANTAL Tiberiu Alexandru baza de date i necesit| informaii suplimentare de natur| variabil| pentru a fi executat|. Universitatea Tenhic| din Cluj-Napoca Codul care urmeaz| lucreaz| cu o astfel de interogare: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Public Sub ExecutieInterogareStocatacuParametriADO() Dim con As ADODB.Connection Copyright 2000. Toate drepturile sunt rezervate autorului. Dim com As ADODB.Command Multiplicarea acestui document n scop comercial este interzis|. Dim rs As ADODB.Recordset Sudenii participani ADODB.Field nv||mnt superior bugetar pot multiplica acest Dim fld As la orice form| de document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set con = CurrentProject.Connection pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Set com = New ADODB.Command ANTAL Tiberiu Alexandru Set com.ActiveConnection = con tel.: 0040-264-530918 com.CommandText = e-mail: antaltiberiu@pcnet.ro "[Sales by Year]" Set rs = com.Execute(, Array(#7/28/1996#, #1/28/2000#), E adCmdStoredProc)

379

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca With rs Facultatea Construcii de Maini Catedra de Do Until .EOF Mecanic| i Programare Curs de baze de date Microsoft Access For Each fld In .Fields Copyright 2000. ToateDebug.Print rezervate autorului. "; drepturile sunt fld.Value & "' Next Multiplicarea acestui document n scop comercial este interzis|. Debug.Print Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest .MoveNext document pentru uzul personal. Loop Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare .Close pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest End With scop m| putei contact| la: Set rs = Nothing ANTAL Tiberiu Alexandru Set con = Nothing tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro End Sub

O alt| form| de scriere al aceluiai cod, ns| prin folosirea parametrului Parameters din obiectul Command n locul metodei Execute este: Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Public Sub ExecutieInterogareStocatacuParametriADO1() Facultatea Construcii de Maini Catedra de con As ADODB.Connection Dim Mecanic| i Programare Curs de baze de date Microsoft Access Dim cat As ADOX.Catalog Copyright 2000. Toate drepturile sunt rezervate autorului. Dim com As ADODB.Command Dim rs As ADODB.Recordset Multiplicarea acestui document n scop comercial este interzis|. Dim fld As ADODB.Field Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Set con = CurrentProject.Connection Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Set cat = New ADOX.Catalog scop m| putei contact| la: cat.ActiveConnection = con ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Set com = cat.Procedures("sales by Year").Command com.Parameters("Forms![Sales By YearE Dialog]!BeginningDate") = _ #7/28/1996# com.Parameters("Forms![Sales By Year Dialog]!EndingDate")E

380

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru = #1/28/2000# Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de rs = New ADODB.Recordset Set Mecanic| i Programare Curs de baze de date Microsoft Access rs.Open com, , adOpenForwardOnly, adLockReadOnly,E adCmdStoredProc drepturile sunt rezervate autorului. Copyright 2000. Toate Multiplicarea acestui document n scop comercial este interzis|. With rs Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Do Until .EOF document pentru uzul personal. For Each fld In .Fields Debug.Print fld.Value plat| "; Sudenii participani la orice form| de nv||mnt cu & "'sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Next scop m| putei contact| la: Debug.Print ANTAL Tiberiu Alexandru .MoveNext tel.: 0040-264-530918 Loop e-mail: antaltiberiu@pcnet.ro .Close End With

Set rs = Nothing Conf. Seting. ANTAL Tiberiu Alexandru dr. con = Nothing Universitatea Tenhic| din Cluj-Napoca End Sub Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access O alt| metod|, n cazul n care trebuie s| cre|m o mulime de nregistr|ri pe baza unei interog|ri despre care nu tim prea multe este codul: Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Public Sub ExecutieInterogareStocatacuParametriADO2() Dim par As la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani ADODB.Parameter document pentruAs ADODB.Command Dim com uzul personal. Dim rs As ADODB.Recordset Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim fld As ADODB.Field scop m| putei contact| la: Dim cat As ADOX.Catalog ANTAL Tiberiu As ADOX.Procedure Dim pro Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Set cat = New ADOX.Catalog cat.ActiveConnection = CurrentProject.Connection Set pro = cat.Procedures("Sales by Year")

381

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Set com = pro.Command Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access For Each par In com.Parameters Copyright 2000. Toate drepturile sunt rezervate autorului. par.Value = Eval(par.Name) Next Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Set rs = com.Execute document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare With rs pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Do Until la: scop m| putei contact| .EOF For Each fld In .Fields ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Debug.Print fld.Value & "' "; e-mail: antaltiberiu@pcnet.ro Next Debug.Print .MoveNext Loop .Close Conf. dr. ing. ANTAL Tiberiu Alexandru End With Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Set rs = Nothing Curs de baze de date Microsoft Access Set con = Nothing Copyright 2000. Toate drepturile sunt rezervate autorului. Set pro = Nothing Multiplicarea acestui document n scop comercial este interzis|. Set cat = Nothing Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End Sub pentru uzul personal. document Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Pentru ca exemplul prezentatnumai contra cost i cu acordul scris al autorului. n acest pot multiplica documentul s| funcioneze, trebuie deschis formularul "Sales by Year scop m| putei contact| la: Dialog" din baza de date Northwind.mdb. Dac| interogarea Alexandru ANTAL Tiberiu are ca parametri obiecte ale unui 0040-264-530918 formularul s| fie tel.: formular trebuie ca deschis, cu valorile parametrilor e-mail: antaltiberiu@pcnet.ro completai, nainte de lansarea interog|rii din program. Observai modul ciudat de stocare a obiectului Command. Se folosete ADOX (despre care se va vorbi mai pe larg n paragraful urm|tor)

382

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru pentru a extrage proprietatea Command a obiectului Procedure (o interogare stocat|). n Universitatea Tenhic| creatCluj-Napoca condiii normale s-ar fi din un obiect Command i s-ar fi atribuit propriet|ii Facultatea Construcii de Maini stocate n baza de date. Aceast| metod| ns| funcioneaz| CommandText numele interog|rii Catedra de Mecanic| iparametri. Furnizorul Jet nu va popula corect colecia Parametres numai cu interog|ri f|r| Programare Curs de baze de date Microsoft Access a obiectului Command dect dac| obiectul Command este nc|rcat prin ADOX. Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|.

Definirea i nc|rcarea schemei bazelor de date

Sudenii participani la oricenum|r de tabele, indexuri, constrngeri etc. Definiiile acestor Orice baz| de date conine un form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul poart| denumirea de schema bazei de date. Att DAO ct i ADO pun obiecte, toate la un loc, personal. la dispoziia utilizatorului obiecte pentru crearea de noi obiecte n baza de date ct i pentru Sudenii participani lalegate de obiectele deja existenteplat| sauPentru manipularea din nc|rcarea informaiilor orice form| de nv||mnt cu n baz|. alte persoane doritoare pot multiplica documentultrebuie setat| referina cu acordul scris al autorului. n acest program ale acestor obiecte numai contra cost i c|tre Microsoft ADO Extensions for DDL scop m| putei contact| la: and Security sau ADOX. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 de date Crearea unei baze e-mail: antaltiberiu@pcnet.ro nainte de crearea tabelelor sau a definirii oric|ror altor obiecte ale bazei de date trebuie creat| baza de date n sine. Codul care urmeaz| ilustreaz| cum se realizeaz| aceasta cu ADOX: Public Sub CreareBazadeDate() Dim cat As ADOX.Catalog Conf. Seting. ANTAL Tiberiu Alexandru dr. cat = New ADOX.Catalog Universitatea Tenhic| din Cluj-Napoca cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _ Facultatea Construcii de Maini Catedra de Mecanic| i Programare "Data Source=.\bdnoua2000.mdb" Curs de baze de date Microsoft Access End Sub Copyright 2000. Toate drepturile sunt rezervate autorului. Obiectului DAO Database i corespunde n ADOXeste interzis|. Multiplicarea acestui document n scop comercial obiectul Catalog, iar pentru crearea unei baze de date se folosete metoda Create. n ADOX, ncriptarea i versiunea bazei de date se specific| prin intermediul propriet|ilor Encript Database i Engine Type. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Linia care pentru creaz| o baz| document urmeaz|uzul personal.de date ncriptat| cu versiunea 1.1 a motorului Microsoft Jet prin specificarea propriet|ilor descrise mai sus n irul de conectare. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _ scop m| putei contact| la: "Data Source=.\bdnoua2000.mdb" & _ ANTAL Tiberiu Alexandru "Jet OLEDB:Encrypt Database=True;" & _ tel.: 0040-264-530918 "Jet OLEDB:Engine Type=2;" e-mail: antaltiberiu@pcnet.ro

nc|rcarea informaiilor legate de schema bazei de date


Exemplul care urmeaz| afieaz| toate tabelele bazei de date prin parcurgerea coleciei ADOX

383

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Tables: Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Public Sub AfisareTabele() Curs de baze de date Microsoft Access Dim cat As ADOX.Catalog Copyright 2000. Toate drepturile sunt rezervate autorului. Dim tbl As ADOX.Table Multiplicarea acestui document n scop comercial este interzis|. Set cat = New ADOX.Catalog Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. cat.ActiveConnection = CurrentProject.Connection Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest For Each tbl la: scop m| putei contact| In cat.Tables If ((tbl.Type <> "VIEW") And (tbl.Type <> "SYSTEM E ANTAL Tiberiu Alexandru TABLE")) Then Debug.Print tbl.Name, tbl.Type tel.: 0040-264-530918 Next e-mail: antaltiberiu@pcnet.ro End Sub

n DAO colecia TableDefs stoca tabele (obiecte TableDef) bazei de date, n ADOX colecia Tables conine obiectele Table din baza de date. n ADO ns| colecia Tables poate conine i obiecte care nu sunt tabele obinuite cum ar fi interog|ri f|r| parametri Conf. dr. ing. ANTAL Tiberiu Alexandru (considerate vederi [View] n ADOX). Tabelul care urmeaz| prezint| lista tuturor valorilor pe Universitatea Tenhic| din Cluj-Napoca care le poate lua proprietatea Type: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date ii Type Valoarea proprietat Microsoft Access 7Descriere ACCESS TABLE Copyright 2000. Toate drepturile sunt este unul de sistem al Microsoft Access-ului. Tabelul rezervate autorului. LINK Tabelul este legat printr-o surs| de Multiplicarea acestui document n scop comercial este interzis|. date ne-ODBC. PASS-THROUGH Tabelul este legat printr-o surs| ODBC. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest SYSTEM TABLE Tabelul este unul de sistem al motorului Microsoft Jet. document pentru uzul personal. TABLE Tabel normal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul parametri care ntoarce acest VIEW Tabelul este o interogare f|r| scris al autorului. n scop m| putei contact| la: nregistr|ri. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Crearea tabelelor e-mail: antaltiberiu@pcnet.ro Bazele de date Microsoft Jet pot conine tabele locale, acestea avnd definiia i datele stocate n cadrul bazei de date din care sunt referite i tabele legate care sunt stocate n baze de date externe bazei n care sunt folosite, dar prin intermediul unei leg|turi o copie a definiiei tabelului este stocat| n baza de date din care aceasta este referit|.

384

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr.pentru crearea Tiberiu Alexandru de date este sintetic prezentat| n etapele Strategia ing. ANTAL unui obiect al bazei Universitatea Tenhic| din Cluj-Napoca urm|toare: Facultatea Construcii de Maini 1. Deschidei obiectul Catalog Catedra de Mecanic| i Programarecorespunz|tor bazei de date; Curs de baze noul obiect prin definirea unei variabile de tipul obiect respectiv pentru a v| 2. Creai de date Microsoft Access putea referi la el; Copyright 2000. Toate drepturile sunt rezervate autorului. 3. Definii noul obiect prin setarea propriet|ilor lui; 4. Ad|ugai prin folosirea lui Append obiectul este interzis|. Multiplicarea acestui document n scop comercial coleciei pentru a-l face permanent parte a bazei de date. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Crearea unui tabel local Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Public Sub CreeazaUnTabelADOX() pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim cat As ADOX.Catalog scop m| putei contact| la: Dim tbl As ADOX.Table ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Set cat = New ADOX.Catalog e-mail: antaltiberiu@pcnet.ro cat.ActiveConnection = CurrentProject.Connection Set tbl = New ADOX.Table

With tbl Conf. dr. ing. ANTAL Tiberiu Alexandru .ParentCatalog = cat Universitatea Tenhic| din Cluj-Napoca .Name = de Maini Facultatea Construcii "Clienti" Catedra de .Columns.Append "IDClient", adInteger Mecanic| i Programare Curs de baze de date Microsoft Access .Columns("IDClient").Properties("AutoIncrement") = E True Copyright 2000. Toate drepturile sunt rezervate autorului. .Columns.Append "Nume", adVarWChar Multiplicarea acestui document n scop comercial este interzis|. .Columns.Append "Prenume", adVarWChar End With Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. cat.Tables.Append tbl Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest cat.Tables.Refresh scop m| putei contact| la: ANTAL Tiberiu = Nothing Set tbl Alexandru tel.: 0040-264-530918 Set cat = Nothing e-mail: antaltiberiu@pcnet.ro Application.RefreshDatabaseWindow

385

Access 2000, ADO si ADOX - cursul 14 -

Conf. Subing. ANTAL Tiberiu Alexandru End dr. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare n ADOX nu este necesar| folosirea metodei Create pentru crearea unei coloane nainte de Curs de baze de date MicrosoftAppend va fi folosit| att pentru crearea ct i pentru ad|ugarea ei la colecie. Metoda Access ad|ugarea coloanei. Denumirile tipurilor de date pentru coloane sunt diferite fa| de DAO i Copyright 2000. Toate drepturile sunt rezervate autorului. sunt prezentate comparativ n tabelul urm|tor: Multiplicarea acestui document n scop comercial este interzis|. Tip de dat| DAO Tip de dat| ADO Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. dbBinary adBinary adBoolean Sudenii participanidbBoolean de nv||mnt cu plat| sau alte persoane doritoare la orice form| pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest dbByte adUnsignedTinyInt scop m| putei contact| la: dbCurrency adCurrecy ANTAL Tiberiu Alexandru dbDate adDate tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro dbDecimal adNumeric dbDouble dbGUID dbInteger dbLong Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca dbLongBinary Facultatea Construcii de Maini dbMemo Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access dbSingle adDouble adGUID adSamllInt adInteger adLongVarBinary adLongVarWChar adSingle

dbText adVarWChar Copyright 2000. Toate drepturile sunt rezervate autorului. Multiplicarea acestui document n scop comercial este interzis|. Exist| i alte atribute ale unui tabel sau ale unei coloane care nu pot fi setate la crearea tabelului sau coloanei n DAO numai prin folosirea propriet|ii bugetar pot multiplica acest Sudenii participani la orice form| de nv||mnt superior Attributes, n ADO setarea lor se face cu aceeai proprietate, iar echivalena ntre propriet|ile DAO i ADO se document pentru uzul personal. dau n continuare sub form| tabelar|. n noul model de date unele propriet|i au r|mas n ADO iar altele sunt specifice furnizoruluinv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice form| de Microsoft Jet. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Proprietate Valoare Proprietate Table Valoare TableDef ANTAL Tiberiu Alexandru ADOX DAO tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro dbAttachExclusive Jet OLEDB: Exclusive True Attributes Link Attributes dbAttachSavePWD Jet OLEDB: Cache Link Name/Password True

386

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru dbAttachedTable Attributes Type Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini dbAttachedODBC Attributes Type Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access Proprietate Valoare Proprietate Column Copyright 2000. Toate drepturile sunt rezervate autorului. Field DAO ADOX Multiplicarea acestui document n scop comercial este interzis|. dbAutoIncrement Attributes AutoIncrement

"LINK" "PASS-THROUGH"

Valoare True

dbFixedField Attributes ColumnAttributes Sudenii participani la orice form| de nv||mnt superior bugetar adColFixed acest pot multiplica document pentru uzul personal. dbHyperlinkField Jet OLEDB: True Attributes Hyperlink Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i are acordul scris al autorului. n acest dbSystemField nu cu echivalent Attributes scop m| putei contact| la: dbUpdatableField Attribute (obiectul adFldUpdatable Attributes Field) ANTAL Tiberiu Alexandru tel.: 0040-264-530918 dbVariableField Not adColFixed Attributes ColumnAttribute e-mail: antaltiberiu@pcnet.ro n exemplul prezentat proprietatea ParentCatalog a obiectului Catalog este setat| la cea a furnizorului nainte de setarea propriet|ii AutoIncrement la valoarea True din colecia Properties. Conf. dr.unui tabel legat Crearea ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Legarea cunoscut| i sub denumirea de ataare a unui tabel dintr-o baz| de date extern| Facultatea Construcii de Maini permite citirea, actualizarea i ad|ugarea datelor i crearea de interog|ri pe baza tabelului Catedra de Mecanic| i Programare legat ca i cnd acesta ar face parte din baza de date. Pentru crearea unui tabel legat trebuie Curs de baze de date Microsoft Access specificat| sursa datelor externe i numele tabelului extern. n ADOX, propriet|i specifice furnizorului2000. Toate drepturile sunt rezervate autorului. La referirea coleciei Copyright Microsoft Jet sunt folosite pentru crearea leg|turii. Properties a obiectului Table nainte de ad|ugarea lui la colecia Tables trebuie setat| proprietatea ParentCatalog. Setarea este obligatorie pentru ca ADOX s| tie de la care Multiplicarea acestui document n scop comercial este interzis|. furnizor OLE DB va primi informaiile legate de proprietate. Proprietatea Jet OLEDB: Link Datasource la orice form| de nv||mnt superior bugetar pot multiplica acest Sudenii participani va stoca numai numele i calea c|tre baza de date care conine tabelul extern. Alte opiuniuzulconectare sunt specificate n proprietatea Jet OLEDB: Link document pentru de personal. Provider String, de exemplu aici se va specifica dac| este cazul numele de utilizator i parola lui pentru conectare la baza de de nv||mnt cu plat| sau alte persoane doritoare Sudenii participani la orice form| date din care face parte tabelul extern. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Codul urm|tor leag| n baza de date Northwind.mdb tabelul cu numele Clienti din baza de date bdnoua2000.mdb. Pentru aceasta se va deschide baza de date Northwind.mdb, iar ANTAL Tiberiu Alexandru codul care urmeaz| va fi introdus i lansat n execuie din cadrul acestei baze de date. tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Public Sub LegareTablecuADO() Dim cat As New ADOX.Catalog

387

Access 2000, ADO si ADOX - cursul 14 -

Conf. Diming. ANTAL Tiberiu Alexandru dr. tbl As New ADOX.Table Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare CurrentProject.Connection cat.ActiveConnection = Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului. tbl.Name = "Clienti-legati" Set tbl.ParentCatalog = comercial este interzis|. Multiplicarea acestui document n scop cat Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest tbl.Properties("Jet OLEDB:Create Link") = True document pentru uzul personal. tbl.Properties("Jet OLEDB:Link Datasource") =E ".\bdnoua2000.mdb" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest tbl.Properties("Jet OLEDB:Link Provider String") = "" scop m| putei contact| la: tbl.Properties("Jet OLEDB:Remote Table Name") = "Clienti" ANTAL Tiberiu Alexandru tel.: 0040-264-530918 cat.Tables.Append e-mail: antaltiberiu@pcnet.ro tbl Set cat = Nothing End Sub Conf. dr. ing. ANTAL Tiberiu Alexandru As New ADOX.Catalog, aceasta este Observai n codul de mai sus linia Dim cat Universitatea Tenhic| din Cluj-Napoca echivalenta liniilor: Facultatea Construcii de Maini Catedra de Mecanic| i Programare Dim cat As ADOX.Catalog Curs de baze de date Microsoft Access Set cat = New ADOX.Catalog Copyright 2000. Toate drepturile sunt rezervate autorului. Modific|ri aduse tabelelor Multiplicarea acestui document n scop comercial este interzis|. Odat| ce un tabel a fost creat se pot aduce modific|ri acestuia, astfel putem ad|uga sau terge Sudenii schimba regulileorice form| sau nv||mnt superior bugetar pot multiplica acest coloane, participani la de validare de actualiza leg|turile c|tre tabele legate. document pentru uzul personal. Codul care urmeaz| adaug| un cmp de nv||mnt cu plat| sau alte baza de date Sudenii participani la orice form| de tipul Memo tabelului Clienti dinpersoane doritoare bdnoua2000.mdb. pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Public Sub AdaugaunCampADOX() ANTAL Tiberiu Alexandru tel.: 0040-264-530918New ADOX.Catalog Dim cat As e-mail: antaltiberiu@pcnet.ro Dim col As New ADOX.Column

cat.ActiveConnection = CurrentProject.Connection

388

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca With col Facultatea Construcii de Maini Catedra de .Name = i Programare Mecanic| "Observatii" Curs de baze de date Microsoft Access .Type = adLongVarWChar Copyright 2000. Toate drepturile sunt rezervate autorului. End With Multiplicarea acestui document n scop comercial este interzis|. cat.Tables("Clienti").Columns.Append col Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Set col = Nothing Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set cat = Nothing pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: End Sub ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro n cazul tabelelor legate, dac| parola de conectare la baza de date sau poziia bazei de date pe disc care conine tabelele legate se modific|, de exemplu datorit| mut|rii acesteia ntr-un alt director, codul care urmeaz| va realiza legarea tabelelor dac| se va specifica noua parol| i noua cale c|tre baza de date. Public Sub ActualizareLegaturicuADO() Conf. dr. ing. ANTAL Tiberiu Alexandru Dim cat As New ADOX.Catalog Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Dim tbl As ADOX.Table Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access cat.ActiveConnection = CurrentProject.Connection Copyright 2000. Toate drepturile sunt rezervate autorului. For Each tbl document n scop Multiplicarea acestuiIn cat.Tables comercial este interzis|. If tbl.Type = "LINK" Then Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest tbl.Properties("Jet OLEDB:Create Link") = False document pentru uzul personal. tbl.Properties("Jet OLEDB:Link Datasource") = _ Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare "calenoua\bdnoua2000.mdb" pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| puteitbl.Properties("Jet OLEDB:Link Provider String") = _ contact| la: ";pwd=nouaparola" ANTAL Tiberiu Alexandru tbl.Properties("Jet OLEDB:Create Link") = True tel.: 0040-264-530918 End If e-mail: antaltiberiu@pcnet.ro Next

Set cat = Nothing

389

Access 2000, ADO si ADOX - cursul 14 -

Conf. Subing. ANTAL Tiberiu Alexandru End dr. Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Crearea i modificarea interog|rilor Curs de baze de date Microsoft Access n DAO obiectul QueryDef era folosit pentru ad|ugarea automat| a interog|rii la colecia QueryDefs. Obiectul drepturile sunt rezervate autorului. Copyright 2000. ToateCommand este ntr-un fel echivalentul lui QueryDef, dar interog|rile create cu acesta sunt temporare. Ele trebuie explicit ad|ugate coleciei Views sau Procedures pentru document n scop comercial este interzis|. Multiplicarea acestuica acestea s| fie stocate n baza de date. Furnizorul Microsoft Jet definete interog|rile motorului Jet ca vederi (Views) dac| acestea nu au parametri i ntorc Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest nregist|ri. document pentru uzul personal. Crearea participani la stocate n baza de date folosind colecia Views Sudenii unei interog|ri orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai interogarea i cu acordul scris al autorului. n acest Pentru c| n exemplul care urmeaz| contra cost este f|r| parametri i ntoarce nregistr|ri, scop m| ADO Command la: fi ad|ugat coleciei ADOX Views. obiectul putei contact| va ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Public Sub CreareIntrogareStocatecuADO() e-mail: antaltiberiu@pcnet.ro Dim cat As New ADOX.Catalog Dim com As New ADODB.Command

cat.ActiveConnection = CurrentProject.Connection com.CommandText = "SELECT Clienti.Nume FROM Clienti WHEREE Conf. "(((Clienti.Nume) Alexandru " & dr. ing. ANTAL Tiberiu Like ""A*""));" Universitatea Tenhic| din Cluj-Napoca cat.Views.Append "ClienticuA", com Facultatea Construcii de Maini Catedra de Mecanic| i Programare cat.Views.Refresh Curs de baze de date Microsoft Access Set cat = Nothing Copyright 2000. Toate drepturile sunt rezervate autorului. Set com = Nothing End Sub Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Crearea unei interog|ri stocate n baza de date folosind colecia Procedures document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Public Sub CreareIntrogareStocatecuADO1() pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Dim cat As New scop m| putei contact| la: ADOX.Catalog Dim com As New ADODB.Command ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro cat.ActiveConnection = CurrentProject.Connection com.CommandText = "PARAMETERS [Nume client] Text ( 255E );SELECT" & _ "Clienti.Nume FROM Clienti WHERE (((Clienti.Nume) LikeE

390

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru [Nume" & "client]));" Universitatea Tenhic| din Cluj-Napoca cat.Procedures.Append "ClientiPar", com Facultatea Construcii de Maini Catedra de Mecanic| i Programare cat.Procedures.Refresh Curs de baze de date Microsoft Access Set cat = Nothing Copyright 2000. Toate drepturile sunt rezervate autorului. com.Execute End Sub Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul personal. Modificarea instruciunii SQL a unei interog|ri Sudenii participani la orice form| a unei interog|ricu plat|creat alteobiect Command bazat Pentru modificarea instruciunii SQL de nv||mnt trebuie sau un persoane doritoare potinterogarea de modificat din bazacontra cost i cu modific| scris al autorului. n acest pe multiplica documentul numai de date. Apoi se acordul proprietatea CommandText, scop m| putei contact| la: iar n final se reseteaz| proprietatea Command a interog|rii dup| cum se vede n codul care urmeaz|: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro Public Sub ModificareIntrogareStocatecuADO() Dim cat As New ADOX.Catalog Dim com As New ADODB.Command

cat.ActiveConnection = CurrentProject.Connection Conf. dr. ing. ANTAL Tiberiu Alexandru Set com = cat.Procedures("ClientiPar").Command Universitatea Tenhic| din Cluj-Napoca com.CommandText = "SELECT * FROM Clienti;" Facultatea Construcii de Maini Catedra de Mecanic| i Programare 'aici se salveaza procedura actualizata Curs de baze de date Microsoft Access Set cat.Procedures("ClientiPar").Command = com Copyright 2000. Toate drepturile sunt rezervate autorului. Set cat = Nothing Multiplicarea acestui document n scop comercial este interzis|. Set com = Nothing Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest End Sub document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Crearea unui index numai contra cost i cu acordul scris al autorului. n acest pot multiplica documentul scop m|unui obiect indexla: Crearea putei contact| necesit| folosirea obiectului ADOX Index. Dup| crearea obiectului, trebuie ad|ugat unui cmp, apoi se va specifica c| va fi cheie primar|, unic| i ANTAL Tiberiu Alexandru ordinea de sortare. n DAO exist| dou| propriet|i Required i IgnoreNulls care tel.: 0040-264-530918 vor fi sau nu inserate valori Null pentru cmpurile din index i dac| mpreun| determin| dac| e-mail: antaltiberiu@pcnet.ro cnd unele cmpuri ale unui index cu mai multe coloane intr|rile index vor fi sau nu create conin valori Null. Tabelul care urmeaz| prezint| proprietatea ADOX IndexNulls comparativ cu cele din DAO.

391

Access 2000, ADO si ADOX - cursul 14 -

Conf. dr. ing. ANTAL Tiberiu Alexandru DAO DAO ADOX IndexNulls Universitatea Tenhic| din Cluj-Napoca Required IgnoreNulls Facultatea Construcii de Maini Catedra de Mecanic| i Programare True False adIndexNullsDisallow Curs de baze de date Microsoft Access Copyright 2000. Toate drepturile sunt rezervate autorului.

Descriere Valoarea Null nu este permis| n cmpul index; nu se adaug| o intrare index.

False True Multiplicarea acestui document nadIndexNullsIgnore scop comercial este interzis|. Valoarea Null este permis| n cmpul index; multiplica acest Sudenii participani la orice form| de nv||mnt superior bugetar potnu se adaug| o intrare index. document pentru uzul personal. False False adIndexNullsAllow Valoarea Null este Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare permis| n cmpul pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest index; se adaug| o scop m| putei contact| la: intrare index. ANTAL Tiberiu Alexandru tel.: 0040-264-530918 Implicit proprietatea IndexNulls este setat| la valoarea adIndexNullsDisallow ceea ce e-mail: antaltiberiu@pcnet.ro face ca valorile Null s| fie nepermise n index i nu se va ad|uga o intrare cu un index care are un cmp Null. Public Sub CreeazaUnIndexADOX() Dim cat As New ADOX.Catalog Conf. Diming. ANTAL Tiberiu Alexandru dr. tbl As New ADOX.Table Universitatea Tenhic| din Cluj-Napoca Dim ind As New ADOX.Index Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access cat.ActiveConnection = CurrentProject.Connection Copyright 2000. Toate drepturile sunt rezervate autorului. Set tbl = cat.Tables("Clienti") Multiplicarea acestui document n scop comercial este interzis|. With ind Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest .Name = "PrimaryKey" document pentru uzul personal. .Columns.Append "IDClient" Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare .Columns("IDClient").SortOrder = adSortAscending pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest .IndexNulls scop m| putei contact| la: = adIndexNullsDisallow .PrimaryKey = True ANTAL Tiberiu Alexandru End With tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro tbl.Indexes.Append ind

392

Access 2000, ADO si ADOX - cursul 14 -

Conf. Seting. ANTAL Tiberiu Alexandru dr. cat = Nothing Universitatea Tenhic| din Cluj-Napoca Set tbl = Nothing Facultatea Construcii de Maini Catedra de ind = Nothing Set Mecanic| i Programare Curs de baze de date Microsoft Access End Sub Copyright 2000. Toate drepturile sunt rezervate autorului.

Crearea unei relaii Multiplicarea acestui document n scop comercial este interzis|.
Crearea unei relaii se face prin obiectul ADOX Key, care dup| crearea i setarea Sudenii participani la orice obiectului Tabel. Relaia din codul care urmeaz| se creeaz| propriet|ilor lui se va ad|uga form| de nv||mnt superior bugetar pot multiplica acest document pentru uzul i Products ale bazei de date Northwind.mdb. Aceast| relaie exist| ntre tabelele Categories personal. deja n baza de date i va putea fi creat| din cod numai dac| deschidei fereastra relaiilor i o Sudenii participani la orice form| decodului. tergei nainte de lansarea n execuie a nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: Public Sub CreareRelatieADOX() ANTAL Tiberiu Alexandru Dim cat As tel.: 0040-264-530918New ADOX.Catalog e-mail: antaltiberiu@pcnet.ro Dim che As New ADOX.Key

cat.ActiveConnection = CurrentProject.Connection With che .Name = "CategoriiProduse" Conf. dr. ing. ANTAL adKeyForeign .Type = Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca .RelatedTable = Facultatea Construcii de Maini "Categories" Catedra de .Columns.Append "categoryID" Mecanic| i Programare Curs de baze de date Microsoft Access .Columns("CategoryID").RelatedColumn = "CategoryID" Copyright 2000. Toate drepturile sunt rezervate autorului. .UpdateRule = adRICascade End With Multiplicarea acestui document n scop comercial este interzis|. Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest cat.Tables("Products").Keys.Append che document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare Set cat = Nothing pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest Set che = Nothing scop m| putei contact| la: End Sub ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

393

Formulare, subformulare, pRogramare cu DAO i ADO - cursul 15

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Catedra de Mecanic| i Programare Curs de baze de date Microsoft Access

Crearea unei aplicaii cu formulare, subformulare i cod Copyright 2000. Toate drepturile n Access 2000 sunt rezervate autorului.
Multiplicarea acestui document n scop comercial este interzis|. Aplicaia care se prezint| n continuare face gestionarea ratelor pentru poliele ce trebuie pl|tite de participani la oricec|tre o persoan| particular|, asiguratorului. Schema bazeiacest Sudenii c|tre o firm| sau de form| de nv||mnt superior bugetar pot multiplica de date este: document pentru uzul personal. Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentul numai contra cost i cu acordul scris al autorului. n acest scop m| putei contact| la: ANTAL Tiberiu Alexandru tel.: 0040-264-530918 e-mail: antaltiberiu@pcnet.ro

Conf. dr. ing. ANTAL Tiberiu Alexandru Universitatea Tenhic| din Cluj-Napoca Facultatea Construcii de Maini Baza de date se va numi curs15.mdb. Desi este scris| n Access 2002, ea funcioneaza i n 7 Catedra de Mecanic| i Programare Access 2000. Se vor crea trei tabele, TFirme, TPolite i TRate, toate cmpurile vor fi de tipul, Curs de baze de date Microsoft Access implicit, Text, mai puin cele care sunt enumerate n continuare: Copyright 2000. Toate drepturile sunt rezervate autorului. Tip/Propriet|i Nume Tabel Nume cmp IDFirma Multiplicarea acestui document n scop comercial este interzis|. Data Type: AutoNumber TFirme PrimaryKey Sudenii participani la orice form| de nv||mnt superior bugetar pot multiplica acest Firma document pentru uzul personal. Data Type: Text Field Size: 100 Sudenii participani la orice form| de nv||mnt cu plat| sau alte persoane doritoare pot multiplica documentulProfil numai contra cost iData Type: Memo autorului. n acest cu acordul scris al scop m| putei contact| la: IDPolita Data Type: AutoNumber TPolite ANTAL Tiberiu Alexandru tel.: 0040-264-530918 IDFirma e-mail: antaltiberiu@pcnet.ro Data PrimaryKey Data Type: Number Field Size: Long Integer Data Type: Date/Time

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