Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Microsoft Access

access



+ Font mai mare | - Font mai mic



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

Ce putem face cu Microsoft Access ?

Fiind un sistem relational de gestiune a bazelor de date, primul lucru pe care il putem face cu Microsoft Access este binenteles sa cream o noua baza de date. O baza de date Microsoft Access este un fisier cu extensia MDB, ce contine mai multe obiecte : tabela - pentru introducerea si stocarea datelor, interogarea - pentru interogarea bazei de date, formularul - destinat introducerii datelor pe ecran, afisarii si editarii datelor, raportul - pentru operatii de iesire(datele fiind dirijate de obicei catre o imprimanta), comenzile macro - o secventa de actiuni care trebuie repetata la cererea utilizatorului, module - recipiente pentru subrutine si functii,. La deschiderea fisierului toate obiectele care formeaza baza de date sunt afisate intr-o fereastra numita Database. Pentru a usura munca celui care construieste baza de date, Microsoft Access pune la dispozitia dezvoltatorilor programe " vrajitor "(Wizard), care creaza tabele, interogari, formulare, rapoarte in functie de raspunsurile la anumite intrebari. Cu toate acestea, efortul initial pentru crearea bazei de date este mai mare decat acela pentru realizarea unei foi de calcul tabelar, dar la extragerea informatiilor din baza de date se va vedea ca acest efort merita. Baza de date va permite gasirea rapida a unei informatii, interogari asupra unor anumite categorii din date si tiparirea cu usurinta a datelor dorite.

Lucrand cu o baza de date, adaugand si stergand date, creand si distrugand obiecte, aceasta incepe sa se fragmenteze fiind nevoie de o compactare. Microsoft Access are o functie de compactare a bazei de date, dar pentru a putea compacta o baza de date trebuie inchisa fereastra Database lasand sistemul Access deschis. Din cand in cand s-ar putea ca baza de date sa se defecteze, iar pentru repararea ei Microsoft Access pune la dispozitie un unitar - Repair Database, care in timpul repararii bazei de date creaza obiecte temporare, fiind indicata o compactare dupa terminarea operatiei de reparare.

Microsoft Access ofera si posibilitatea de protectie a bazei de date prin folosirea grupurilor si a utilizatorilor, baza de date putand fi accesata doar de anumite grupuri (de utilizatori) si/sau de catre anumiti utilizatori, in functie de drepturile fiecarora.

Ca orice SGBD serios, Microsoft Access are inclus un limbaj de programare-Access Basic. Derivat din limbajul folosit in Microsoft Visual Basic, Access Basic face parte din categoria limbajelor structurate, iar cei care au mai folosit alte limbaje pentru baze de date probabil vor gasi Access Basic-ul foarte familiar. (In versiunea 7.0 de Microsoft Access pentru Windows'95, este inglobat chiar limbajul Visual Basic).

Datorita faptului ca Microsoft Access are inclus un limbaj de programare putem sa cream aplicatii. O aplicatie Microsoft Access este alcatuita ca si baza de date din mai multe obiecte : tabele, interogari, formulare, rapoarte si doua obiecte mai importante pentru scrierea de aplicatii : comenzi macro si module. Aceste obiecte sunt stocate in unul sau mai multe fisiere, MDB. Ceea ce face diferita o baza de date de o aplicatie este modul in care cel care dezvolta aplicatia leaga obiectele intre ele alcatuind un sistem coerent, astfel ca utilizatorul sa se concentreze asupra aplicatiei in sine si nu asupra programului folosit pentru construirea ei.

Obiecte si colectii

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 :

Set numeVariabila = expresieObiect

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)

DAO

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.


 [S1]



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2130
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved