Universitatea "Lucian Blaga" din Sibiu
Facultatea de Inginerie
Proiectarea Aplicatiilor de Baze de Date
MICROSOFT ACCESS
utilizand Mediul de Dezvoltare
MICROSOFT VISUAL BASIC 6.0
1. Crearea bazei de date utilizand MsAccess
Pentru crearea unei noi baze de date utilizand MsAccess, sunt necesari urmatorii pasi:
Dupa startarea programului MsAccess se alege din meniul File, submeniul New Database (fig. 1)
Fig. 1
La aparitia ferestrei New se selecteaza icoana Blank Database (fig. 2) si apoi se apasa butonul OK pentru a crea o noua baza de date care nu contine nici o tabela.
Fig. 2
Dupa actionarea butonului OK din pasul anterior, va aparea o fereastra care ne va permite salvarea noii baze de date (fig. 3). Dupa stabilirea numelui acestei BD se va apasa butonul Create.
Fig. 3
In acest moment am creat o noua baza de date vida (nu contine tabele, interogari, s.a.m.d.). Pentru a putea adauga diverse elemente in aceasta BD, MsAccess ne pune la dispozitie fereastra Database (fig. 4).
Fig. 4
Fereastra Database contine categoriile:
Tables
Queries
Forms
Reports
Macros
Modules
Fiecare din aceste categorii pot fi selectate si ne permit adaugarea rapida si cu usurinta a tabelelor, interogarilor, formelor, rapoartelor, macrourilor si a modulelor ce vor compune baza de date.
Din cele 6 categorii de elemente ne intereseaza doar primele doua si anume tabelele si interogarile (Tables si Queries). Restul de componente le putem crea prin intermediul mediului Visual Basic.
Pentru a putea adauga un tabel in BD, trebuie sa selectam butonul New din fereastra Database. In urma actionarii acestui buton va aparea fereastra New Table (fig. 5).
Fig. 5
Fereastra New Table ne ofera cinci modalitati de creare a unei noi tabele:
Datasheet View
Prin apelarea acestei optiuni MsAccess ne pune la dispozitie o tabela cu 20 de campuri (coloane) avand denumiri predefinite: Field1 . Field20. In aceasta tabela putem introduce 30 de articole. Ulterior formatul acestei tabele poate fi modificat in functie de tipul aplicatiei.
Design View
Este cea mai utilizata optiune. La apelarea acestei variante MsAccess ne pune la dispozitie un editor simplu, robust si eficient, de creare a tabelelor necesare aplicatiilor de BD. Este optiunea pe care o vom utiliza atunci cand dorim sa ne creem o noua tabela.
Table Wizard
Acest "vrajitor" ne ajuta sa proiectam tabele predefinite de catre mediul MsAccess.
Import Table
Este utilizata pentru a importa tabele existente in alte BD. Ne scuteste de timp si efort atunci cand dorim sa utilizam tabele identice in BD diferite.
Link Table
Identica cu optiunea anterioara cu o mica diferenta: tabela nu este salvata din BD externa in BD curenta, ci doar se creeaza o legatura catre ea.
In aplicatiile de BD utilizand MsAccess si Visual Basic vom utiliza pentru crearea tabelelor optiunea Design View. La selectarea acestei optiuni se activeaza fereastra Table (Fig. 6).
Fig. 6
Pentru definirea de noi campuri (Fields) in tabela, se completeaza prima celula libera in coloana Field Name. Denumirea noului camp poate avea maxim 64 de caractere inclusiv spatii. Tipul de data alocat campului respectiv se defineste prin selectarea variantei respective din coloana Data Type:
Text (maxim 255 caractere)
Memo (maxim 65535 caractere)
Number (1, 2, 4 sau 8 octeti)
Date/Time (data/timp)
Currency (moneda)
Autonumber (numerotare automata)
Yes/No (Da/Nu)
OLE Object (obiecte OLE: fisiere MsWord, MsExcel, fisiere de imagini, etc.)
Hiperlink (legaturi de Internet)
Lookup Wizard (un "vrajitor" care permite copierea tipurilor de date din alte tabele; de obicei se foloseste pentru cheile de legatura dintre tabele)
Pentru fiecare tip de data definit anterior, se afiseaza proprietatile acestuia in partea de jos a ferestrei Table in sectiunea Field Properties. Fiecare proprietate poate fi setata de catre utilizator, rezultand un tip de data derivata.
Field Size: permite setarea lungimii campului (Ex.: pentru Text numarul maxim de caractere)
Format: permite formatarea pentru vizualizarea sau afisarea continutului campului respectiv (Ex: 4237.80 poate fi afisat ca $4237,80)
Input Mask: impune introducerea unui anumit format pentru campul respectiv (Ex: se poate impune doar introducerea de caractere mari)
Caption: seteaza numele sub care apare campul respectiv pe o forma
Default Value: reprezinta valoarea care se introduce automat in campul respectiv la adaugarea unei noi inregistrari
Validation Rule: este o expresie care limiteaza valorile care pot fi introduse in campul respectiv
Validation Text: este mesajul de eroare care se afiseaza in cazul introducerii de valori ce nu se conformeaza cerintelor proprietatii anterioare
Required: se specifica daca trebuie introduse in mod obligatoriu valori in acest camp
Allow Zero Length: este utilizat pentru a specifica faptul ca acest camp permite sau nu siruri de dimensiune zero
Indexed: specifica faptul ca acest camp este un camp de indecsi.
2. Visual Basic si Bazele de Date MsAccess
Mediul de dezvoltare Visual Basic dispune de o paleta larga de componente ce permit operarea automata asupra datelor dintr-o BD. Totusi, pentru a putea crea aplicatii de BD robuste si sigure se impune utilizarea functiilor de acces la BD. Aceste functii dau siguranta in implementarea software si permit deschiderea, operarea asupra datelor din BD precum si inchiderea tabelelor si interogarilor utilizate in manevrarea acestor date. Pe langa aceste functii este necesar sa se cunoasca limbajul SQL (Structure Query Language). Limbajul SQL permite realizarea interogarilor in BD, obtinerea datelor in functie de anumite conditii, prezentarea lor intr-o anumita ordine, sau obtinerea de date aflate in tabele diferite.
2.1. Deschiderea unei BD utilizand Visual Basic. Metoda OpenDatabase
Metoda OpenDataBase deschide o BD specificata si intoarce o referinta de tip obiect Database care o va reprezenta in continuare.
Set database = OpenDatabase (dbname, options, read-only, connect)
database - Un obiect de tip Database care reprezinta BD cu care vom lucra in continuare
dbname - Un sir care reprezinta numele unei BD existenta
options - Optional. Poate lua valorile True sau False. Specifica faptul ca BD este deschisa in modul exclusiv sau partajat
read-only - Optional. Poate lua valorile True sau False. Specifica faptul ca BD este deschisa doar pentru citire sau pentru citire-scriere
connect - Optional. Un sir care contine diferite informatii de conectare inclusiv parole, utilizatori, etc.
Exemplul urmator prezinta o procedura care permite deschiderea unei BD care este selectata prin intermediul unei ferestre de tipul OpenFileDialog. Pentru a verifica acest cod, creati un proiect de tipul Standard EXE in Visual Basic. Adaugati in fereastra General (aflata in partea stanga a ecranului) un control de tipul Microsoft Common Dialog Control 6.0 astfel: click dreapta pe fereastra General; in meniul care apare selectati Components; in tab-ul Controls selectati Microsoft Common Dialog Control 6.0, iar apoi apasati butoanele Apply si Ok. Pe forma creata adaugati o componenta de tipul Microsoft Common Dialog Control 6.0. Apoi adaugati un buton. Dati doua click-uri pe acest buton si in codul astfel creat introduceti codul urmator:
Private Sub Command1_Click() Dim fName As String CommonDialog1.FilterIndex = 1 fName = CommonDialog1.FileName Set db = OpenDatabase(fName) End Sub |
2.2. Deschiderea unei tabele existente in BD. Metoda OpenRecordset
Metoda OpenRecordset deschide o tabela sau o interogare si returneaza articolele (datele existente) in functie de tipul cererii specificata in instructiune. Returneaza un obiect de tip Recordset care va permite manuirea in continuare a datelor din tabele.
Set recordset = object.OpenRecordset (source, type, options, lockedits)
recordset - Variabila de tip obiect Recordset care va permite manuirea datelor din tabele, interogari, etc.
object - Reprezinta o variabila din care se va crea obiectul de tip Recordset
source - Este un sir care specifica numele tabelei sau interogarii cu care se va lucra in continuare, sau poate reprezenta o declaratie de tip SQL care returneaza articole
type - Optional. Reprezinta tipul noului obiect creat. Uzual dbOpenDynaset
options - Optional. Reprezinta o serie de caracteristici specificate in Help. Aceasta optiune este rareori utilizata
lockedits - Optional. Se refera la modul de acces la datele furnizate
Exemplu:
Dim Rec As Recordset Set Rec = db.OpenRecordset("Student", dbOpenDynaset) |
2.3. Crearea unei interogari SQL.
Deschiderea unei tabele utilizand interogari SQL
Set querydef = object.CreateQueryDef (name, sqltext)
querydef - Obiectul de tip interogare care va fi creat
object - Reprezinta obiectul de tip Database obtinut anterior cu OpenDatabase
name - Optional. Un sir care va contine numele noii interogari
sqltext - Optional. Un sir care ne defineste o declaratie SQL. Pe baza acestei declaratii se vor obtine datele din BD
Exemplu:
Dim StudentQuery As QueryDef |
In exemplul anterior se vor SELECTA in urma interogarii articolele care contin in campul CodGrupa valoarea 231 iar in CodSemigrupa valoarea 2 (adica datele referitoare la toti studentii din semigrupa 231/2).
Pentru a putea opera asupra datelor obtinute printr-o interogare SQL, este necesar ca datele selectate anterior sa fie plasate intr-o tabela. Asadar, trebuie creat un obiect de tip Recordset. Doar acest obiect va permite utilizarea metodelor AddNew, Edit, Delete, Update, metode utilizate atunci cand operam asupra datelor. Crearea acestui obiect de tip Recordset se face tot cu functia OpenRecordset, doar ca parametrul object va fi obiectul creat anterior cu metoda CreateQueryDef.
Exemplu:
Dim StudentQuery As QueryDef Dim StudentRec As Recordset |
2.4. Aflarea numarului de articole existente intr-o tabela
Dupa deschiderea unei tabele, este necesar (in unele cazuri) sa cunoastem numarul de elemente existente. Proprietatea RecordCount a obiectului de tip Recordset ne poate furniza, imediat dupa crearea tabelei, doua valori:
0 daca tabela nu contine nici o inregistrare
1 daca tabela contine cel putin o inregistrare (pointer-ul tabelei este pozitionat pe primul articol existent)
Pentru a actualiza valoarea returnata de RecordCount este necesar sa pozitionam pointer-ul tabelei la sfarsitul acesteia, iar apoi sa il readucem pe primul articol. In acest moment RecordCount va contine numarul real de articole din tabela, iar pointer-ul tabelei este pozitionat pe prima inregistrare.
Exemplu:
Dim StudentQuery As QueryDef Dim StudentRec As Recordset |
2.5. Adaugarea unui articol intr-o tabela
Pentru adaugarea unui articol intr-o tabela vom utiliza metodele AddNew si Update ale clasei Recordset (vom opera asupra unui obiect de tip Recordset).
Exemplu:
Dim StudentQuery As QueryDef Dim StudentRec As Recordset |
2.6. Modificarea unui articol dintr-o tabela
Pentru modificarea unui articol utilizam metoda de pozitionare a pointer-ului de tabela AbsolutePosition si apoi metodele Edit si Update.
Exemplu:
Dim StudentQuery As QueryDef Dim StudentRec As Recordset |
2.7. Modificarea tuturor articolelor dintr-o tabela
Pentru modificarea tuturor articolelor implementam o bucla si utilizam metodele Edit si Update.
Exemplu:
Dim StudentQuery As QueryDef Dim StudentRec As Recordset |
2.8. Stergerea unui articol dintr-o tabela
Pentru stergerea unui articol utilizam metoda de pozitionare a pointer-ului de tabela AbsolutePosition si apoi metoda Delete.
Exemplu:
Dim StudentQuery As QueryDef Dim StudentRec As Recordset |
2.9. Stergerea tuturor articolelor dintr-o tabela
Pentru stergerea tuturor articolelor implementam o bucla si utilizam metoda Delete.
Exemplu:
Dim StudentQuery As QueryDef Dim StudentRec As Recordset |
Pentru informatii suplimentare consultati documentatia oferita de cele doua medii: Microsoft Access si Microsoft Visual Basic. De asemenea, puteti obtine informatii extrem de utile de pe site-uri care gazduiesc aceste informatii. Spre exemplu, utilizati motorul de cautare www.google.com si introduceti ca si cuvinte cheie "visual basic sources", "visual basic databases", "visual basic access", etc.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |