CATEGORII DOCUMENTE |
Microsoft Access
Concepte de baza
O baza de date (BD) reprezinta o colectie de date ce sunt adunate cu un anumit scop si sunt organizate intr-o structura specifica. O colectie de timbre intr-un album, datele angajatilor dintr-un fiset, numerele de telefon dintr-o agenda telefonica - fiecare dintre aceste exemple reprezinta o baza de date.
Un sistem de gestiune a bazelor de date (SGBD) are doua functii principale: de pastrare a informatiilor intr-o baza de date si de furnizare a lor, la cerere; este, daca vreti, albumul, fisetul sau agenda telefonica mai-sus mentionate. Un SGBD computerizat este un program ce prelucreaza datele stocate pe calculator.
Un sistem relational de prelucrare a bazelor de date (SRGBD) este un sistem care lucreaza cu informatiile dintr-o baza de date prin intermediul unor relatii bine definite; baza de date gestionata de un astfel de sistem se va numi deci, implicit, baza de date relationala (BDR).
Microsoft Access este un SRGBD; prin intermediul produsului Microsoft Access, metodele de introducere, de organizare si de prelucrare a datelor sunt foarte flexibile si usor de implementat, putandu-se stabili relatii intre categorii diferite de informatii.
Pentru exemplificare, vom analiza modul de organizare a unei baze de date relationale teoretice. Sa presupunem ca tineti informatiile necesare companiei dumneavoastra in mai multe locuri in birou : lista cu adresele clientilor se afla intr-un document pe calculator, lista cu facturile companiei intr-un tabel, informatiile despre produse intr-un fiset si numerele de telefon ale furnizorilor intr-o agenda, langa telefon.
Impreuna, toate aceste informatii formeaza o baza de date relationala. Fiecare grup de informatii deserveste un scop diferit, insa se pot combina informatiile din doua sau mai multe grupuri pentru a rezolva anumite probleme. Elementul cheie, care face sistemul sa functioneze, este felul in care d-voastra cunoasteti relatiile dintre categorii.
Sa presupunem ca decideti sa utilizati un calculator pentru a va gestiona datele. In cazul in care nu utilizati un SRGBD, veti putea crea o singura tabela, incapsulata in baza de date, ce va contine toate informatiile necesare - numere de telefon, facturi, informatii despre produse, etc. Cu timpul, baza dumneavoastra de date va contine o multime de informatii redundante, pentru ca, de exemplu, de fiecare data cand introduceti un nou produs, introduceti si numarul de telefon al furnizorului, insa daca ati cumparat zece produse de la acelasi furnizor, adaugati de zece ori acelasi numar de telefon, ceea ce va necesita mai mult spatiu de stocare. In cazul in care o informatie trebuie actualizata, ea va fi modificata peste tot in tabela, poate in sute de locuri, ceea ce va necesita o multime de timp pentru a efectua actualizarea; cu cit trebuie actualizate mai multe date, cu atat pot aparea mai multe erori in procesul de modificare. Daca se doreste modificarea structurii - adaugarea numerelor de fax, sau gruparea produselor pe categorii - veti fi nevoit sa munciti mult si ineficient pentru a reface structura tabelei bazei de date.
Spre deosebire de o baza de date non-relationala, o baza de date Microsoft Access poate avea mai multe tabele ce contin informatii diferite, asemenea locurilor din birou unde se afla datele necesare companiei, din exemplul mai-sus mentionat. Intr-o astfel de baza de date se pot implementa relatii intre tabele, astfel incat fiecare informatie va fi stocata intr-un singur loc. Astfel, se reduce spatiul de inmagazinare a informatiilor prin eliminarea copiilor. Reactualizarea unei informatii este mai rapida si mai sigura pentru ca se face doar intr-un singur loc. Restructurarea unei tabele dintr-o baza de date relationale se face mult mai usor, si se pot adauga noi tabele fara a le modifica pe cele existente.
In cele ce urmeaza vom analiza structura unei baze de date Microsoft Access, formata din urmatoarele tipuri de obiecte : tabele(table), interogari(query), formulare(form), rapoarte(report), comenzi macro(macro) si module(module).
Dupa cum am vazut, o baza de date Access este formata din obiecte. Aceste obiecte pot fi manipulate cu proceduri scrise in Access Basic (pentru versiunea 2.0), sau in Visual Basic (pentru versiunea 7.0). Ceea ce incercam in aceasta parte a materialului este sa prezentam cum am putea sa manipulam aceste obiecte. Inainte de a intra in detalii, trebuie precizat urmatorul lucru : intr-adevar, Microsoft Access ne permite sa lucram cu obiecte (putem instantia obiectele, le putem sterge, seta proprietatile), dar numai cu obiectele definite de Access. In Microsoft Access, unele obiecte contin alte obiecte. De exemplu, un formular contine controale. Obiectele au colectii, seturi de obiecte de acelasi tip (colectiile sunt de asemenea obiecte). De exemplu colectia Forms este formata din toate formularele deschise in baza de date; fiecare formular contine o colectie a tuturor controalelor. Cand ne referim din Access Basic, respectiv Visual Basic, la un obiect care apartine unei colectii, atunci ne referim la el ca fiind un obiect al acelei colectii.
Obiect |
Descriere |
Variabila tip obiect ? |
Application |
Access-ul in sine |
Nu |
Control |
Control intr-un formular sau raport |
Da |
Debug |
Fereastra immediate |
Nu |
Form |
Formular deschis |
Da |
Forms |
Colectie de formulare deschise |
Nu |
Module |
Cod sursa al unui formular sau raport |
Nu |
Report |
Raport deschis |
Da |
Reports |
Colectie de rapoarte deschise |
Nu |
Screen |
Fereastra de afisare |
Nu |
Section |
Sectiune a unui formular sau raport |
Nu |
Exista trei modalitati de a ne referi la un obiect care apartine unei colectii :
Identificator ! [numeObiects Prin numeObiect se specifica explicit numele unui obiect ca fiind membru al unei colectii. Parantezele drepte sunt necesare numai atunci cand numele obiectului contine spatii.
Identificator ( 'numeObiect ') Prin numeObiect se specifica explicit numele unui obiect ca fiind membru al unei colectii sau se poate folosi o variabila de tip String care sa contina numele obiectului.
Identificator (index) - index reprezinta pozitia obiectului intr-o colectie.
Identificatorul poate fi numele unei colectii care include obiectul numeObiect sau numele unui obiect al carei colectii implicite include obiectul numeObiect. De exemplu, daca primul formular pe care l-am deschis se numeste Studenti, atunci ne putem referi la acesta prin oricare din modalitatile urmatoare :
Forms [S1] Studentis
Forms ('Studenti')
Form (0)
In primele doua exemple ne referim la formularul Studenti prin numele acestuia. Acest formular este membru al colectiei de formulare deschise : Forms.
In cel de-al treilea ne referim la formular prin pozitia sa din colectie. Deoarece formularul Studenti este primul formular deschis, este primul element in colectia de Forms. Sintaxa pe care o folosim depinde de contextul in care ne aflam. Daca nu folosim o variabila sau o valoare numerica pentru a ne referi la un obiect, atunci este mai eficient sa folosim prima varianta, cea cu ' ! ', deoarece semnul exclamarii indica explicit ca numeObiect este membru al unei colectii. Pentru a specifica o proprietate a unui obiect, sintaxa este urmatoarea :
obiect.proprietate
Intr-o baza de date mare, specificarea obiectelor din cod, sub forma prezentata mai sus, este suparatoare si greu de mentinut. De asemenea poate dorim sa executam aceleasi proceduri pentru obiecte diferite. Pentru a evita aceasta scriere, putem declara din Access/Visual Basic variabile obiect si le putem atribui un tip, cum ar fi de exemplu un form sau raport. O variabila obiect este o variabila care se refera la un obiect de un anumit tip. Declararea variabilelor obiect se declara la fel ca o variabila normala. O prezentare mai detaliata a variabilelor se va face in articolele urmatoare .
Deocamdata, amintim doar, ca o variabila se poate declara cu unul dintre urmatoarele cuvinte cheie : Dim, ReDim, Static sau Global. Pentru a asocia o variabila cu un obiect existent se foloseste cuvantul rezervat Set.
Sintaxa este :
Obiect |
Descriere |
Variabila tip obiect ? |
Container |
Obiect care contine informatii despre alte obiecte definite de Microsoft Access sau de Jet engine |
Da |
Containers |
Colectie de containere |
Nu |
Database |
Baza de date deschisa |
Da |
Databases |
Colectie de baze de date deschise |
Nu |
DBEngines |
Microsoft Jet database engine |
Nu |
Document |
Informatii despre alte obiecte din baza de date |
Da |
Documents |
Colectie de obiecte document |
Nu |
Field |
Camp dintr-o tabela, interogare, recordset, index sau relatie |
Da |
Fields |
Colectie de campuri dintr-o tabela, interogare, recordset, index sau relatie |
Nu |
Group |
Grup de utilizatori in Jet database engine din workspace-ul curent |
Da |
Groups |
Colectii de grupuri de utilizatori |
Nu |
Index |
Index dintr-o tabela |
Da |
Indexes |
Colectie de indecsi din tabele |
Nu |
Parameter |
Parametru al unei interogari |
Da |
Parameters |
Colectie de parametri din interogari |
Nu |
Property |
Proprietate a unui obiect |
Da |
Properties |
Colectie de proprietati ale obiectelor |
Nu |
QueryDef |
Interogare salvata intr-o baza de date |
Da |
QuaryDefs |
Colectie de interogari salvate intr-o baza de date |
Nu |
Recordset |
Set de articole definite de o tabela sau de o interogare |
Da |
Recordsets |
Colectii de recordset-uri |
Nu |
Relation |
Relatie dintre doua campuri ale unor tabele sau interogari |
Da |
Relations |
Colectie de relatii |
Nu |
TableDef |
Tabela salvata intr-o baza de date |
Da |
TableDefs |
Colectie de tabele salvate intr-o baza de date |
Nu |
User |
Utilizator in Jet database engine din workspace-ul curent |
Da |
Users |
Colectie de user-uri |
Nu |
Workspace |
Sesiune activa Jet database engine |
Da |
Workspaces |
Colectie de sesiuni active de Jet engine |
Nu |
Tabelul I.2. Indic` ce obiect DAO
poate fi declarat ca o variabil` de un anumit tip
Trebuie mentionat ca nu toate obiectele Access-ului pot fi reprezentate printr-o variabila (vezi si
tabel I.1)
In acest paragraf am dori sa definim si sa prezentam, sumar, DAO (Data Access Object). Pe langa obiectele definite de Microsoft Access, engine-ul de baze de date Microsoft Jet defineste obiecte care manipuleaza datele de administrare a unei baze de date, cum ar fi tabelele, interogarile, relatiile si indecsii. Obiectele definite de Jet engine se numesc Data Access Objects ( DAO ).
Aceste obiecte se pot folosi in proceduri Access/Visual Basic sau in alte aplicatii care folosesc Jet engine-ul, cum ar fi de exemplu Microsoft Visual Basic sau Microsoft Visual C ++. Ca si obiectele Access-lui, se pot declara variabile pentru a reprezenta cateva dintre aceste obiecte DAO.
Definirea notiunilor de tabela, interogare,
formular, macrou si modul
O tabela este colectie de date referitoare la un anumit subiect. Datele in tabele sunt prezentate sub forma de coloane (campuri) si randuri (articole). Toate datele dintr-o tabela descriu subiectul unei tabele. Intr-o baza de date putem avea mai multe tabele, fiecare continand informatii despre subiecte diferite. De exemplu, putem avea tabele care sa contina date despre anumiti producatori, despre clienti, iar o alta tabela poate contine date despre intermediari.
Intr-o tabela un camp reprezinta un anumit tip de informatie. Poate fi numele unei companii, numele unei persoane, data de nastere a unei persoane, pretul unui produs, etc. Un articol este o colectie de informatii despre o persoana, despre un anumit lucru, sau despre un anumit eveniment. Fiecare articol dintr-o tabela contine aceleasi campuri, si fiecare camp contine acelasi tip de informatii pentru fiecare articol.
Scopul pentru care sunt folosite bazele de date consta in faptul ca permit stocarea datelor si extragerea rapida din baza de date a acelor date ce indeplinesc anumite conditii. Astfel, Microsoft Access pune la dispozitia utilizatorilor interogarile (query), care sunt un set de intrebari ce se pun asupra tabelelor din baza de date sau mai exact o definitie a datelor care se doresc gasite : ce campuri, din care tabele, corespunzator caror criterii, in ce ordine de sortare.
De exemplu, daca avem o tabela cu clienti si vrem sa vedem cati clienti sunt dintr-o anumita zona, acest lucru se poate face foarte usor cu ajutorul interogarilor. Datele interogate pot fi dintr-o singura tabela sau pot fi din mai multe tabele, iar interogarea culege informatiile cerute intr-un dynaset (set dinamic de articole). Un dynaset arata ca tabela, dar nu este o tabela, este doar o vizualizare dinamica a datelor din una sau din mai multe tabele. Intr-un dynaset datele sunt actualizate dinamic. Cand se foloseste o interogare pentru a accesa anumite date, automat din tabele se vor culege datele curente. Daca se schimba datele dintr-un dynaset atunci schimbarile facute se vor putea vedea si in tabelele din care a fost construit dynaset-ul. In cazul in care avem mai multi utilizatori, modificarile facute de un utilizator pot fi vazute si de ceilalti utilizatori. Deoarece datele dintr-un dynaset sunt totdeauna actualizate, se pot folosi cu incredere interogarile si dynaset-urile, datele accesate fiind cele curente.
Dupa modul de accesare si de vizualizare al datelor, nu sunt diferente prea mari intre tabele si dynaset-uri, diferenta majora constand in faptul ca datele sunt stocate in tabele, iar dynaset-urile filtreaza si sorteaza datele din tabele.
Aranjarea datelor pe linii si coloane este convenabila in cazul in care se doreste vizualizarea mai multor articole. Daca se doreste o alta aranjare a datelor, se pot folosi si rapoartele. Dupa cum se va putea vedea in continuare, cu ajutorul Wizard-urilor (vrajitorilor) doar cu cateva click-uri se pot obtine o varietate de moduri de prezentare a datelor.
Un formular este de cele mai multe ori cea mai convenabila aranjare pentru introducerea, modificarea si vizualizarea informatiilor dintr-o baza de date. Se pot afisa doar datele care doresc sa fie vazute si se poate defini modul in care acestea sa fie dispuse in fereastra. La deschiderea unui formular, Access-ul scoate din tabele informatiile dorite si le afiseaza pe ecran dupa design-ul dorit.In formulare se pot folosi controalele cunoscute din Windows ca liste de valori, butoane, butoane radio, texte, controale de editare, linii, dreptunghiuri, imagini, etc. De asemenea se pot folosi culori, grafice, statistici si se pot afisa mesaje care sa indice rezultatul unei actiuni.
Rapoartele sunt cea mai eficienta cale de afisare sau listare la imprimanta a datelor mai des folosite din baza de date. Se mai pot folosi rapoartele si pentru gruparea articolelor pe mai multe niveluri, pentru a calcula totaluri pe grupuri sau pentru intregul raport.
O comanda macro reprezinta o succesiune de actiuni, fiecare actiune facand un anumit lucru, ca de exemplu deschiderea unui form, tiparirea unui raport, executarea unei functii, etc. Aceste actiuni sunt alese dintr-o lista de actiuni disponibile.
Comenzile macro se pot folosi in multe locuri, ele se pot atasa unor formulare, unor controale, se pot executa la apasarea unei combinatii de taste sau pot fi chiar o comanda dintr-un meniu. Comenzile macro se folosesc in mai multe cazuri : de regula cand vrem ca formularele si rapoartele sa lucreze impreuna. De exemplu, daca avem un formular cu date dintr-o tabela, in formular se poate adauga un buton care sa listeze la imprimanta un raport care sa foloseasca datele din formular, de asemenea cu ajutorul comenzilor macro se pot seta anumite valori in controale, se pot seta proprietati la formulare, rapoarte sau controale, se mai pot folosi si pentru import si export de date in diferite formate.
Functiile si procedurile scrise in Access Basic (Visual Basic) ofera posibilitati mult mai complexe decat ceea ce pot oferi comenzile macro. Un modul este un obiect Microsoft Access care contine un set de proceduri si functii. O aplicatie poate contine unul sau mai multe module, dar este mai convenabil sa aiba mai multe module, procedurile si functiile fiind grupate in module dupa anumite criterii, ca de exemplu procedurile asociate unui formular sau raport sa fie grupate intr-un modul. Incepand cu versiunea 2.0, Microsoft a introdus formulare si rapoarte cu module in spate, astfel fiecare formular si raport are asociat un modul propriu, functiile si procedurile din interiorul unui formular, raport putand fi apelate doar din interiorul raportului, formularului nu si din celelalte module. Insa in Access 95 functiile si procedurile din aceste module pot fi folosite si in alte module.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2130
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved