Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




BAZE DE DATE

Informatica


BAZE DE DATE

<titlu>45.1. Generalitati



În acceptiunea programului Visual Basic o baza de date standard este o colectie de unul sau mai multe tabele. Un tabel este format dintr-un numar de linii si dintr-un numar de coloane. Prima linie are un rol special, ea este linia de antet a tabelului. Fiecare celula a liniei de antet contine un nume de câmp. Celelalte linii din tabel sunt articolele (înregistrarile) tabelului. Fiecarui nume de câmp îi este asociat un anumit tip de data si o anumite dimensiune, exprimata în octeti.

n acest capitol se va considera o baza de date (de tip Access) care are trei câmpuri:

NUME (un sir de caractere de lungime maxima 20 caractere, care contine numele unei persoane);

STUDII (un sir de caractere de lungime maxima 4 caractere, care se refera la studiile persoanei, valorile posibile fiind sup, med si elem) ;

PERMIS (de tip logic, care indica daca persoana respectiva poseda sau nu permis de conducere auto).

Baza de date va contine un numar de articole, de exemplu zece, de forma urmatoare:

<table>

*NUME

STUDII

PERMIS

*Popescu Ion

med

True

*Ionescu Vasile

sup

False

*Vasilecu stefan

sup

True

*stetanescu Ion

elem

False

*Constantinescu Ilie

med

True

*IIiecu Angela

med

False

*Turdeanu Ana

med

True

*Ipatescu Maria

sup

False

*Georgescu Cristina

elem

False

*Moldovan Elena

sup

False

</tabel>

Utilitarul Visual Data Manager (VisData), disponibil în meniul Add-In (extensii) al programului Visual Basic, permite crearea si deschiderea diferitelor tipuri de baze de date.

Pot fi create urmatoarele tipuri de baze de date:

Microsoft Access, versiunile 7.0 si 2.0, de extensie MDB (tipul implicit);

Dbase, versiunile 5.0, IV si III;

FoxPro, versiunile 3.0, 2.6, 2.5 si 2.0;

Paradox, versiunile 5.0,4.x si 3.x;

ODBC;

fisiere text.

Pot fi deschise (prelucrate) urmatoarele tipuri de baze de date:

Microsoft Access, versiunile 7.0 si 2.0, de extensie MDB (tipul implicit);

Dbase, versiunile 5.0, IV si III;

FoxPro, versiunile 3.0, 2.6,2.5 si 2.0;

Paradox, versiunile 5.0,4.x si 3.x;

ODBC;

fisiere text;

Excel.

Bazele de date create cu Visual Basic sau cu utilitarul Visual Data Manager pot fi manipulate cu programul Microsoft Access, si invers, bazele de date create cu Microsoft Access pot fi gestionate prin intermediul programului Visual Basic si al utilitarului Visual Data Manager. Pe parcursul acestui capitol termenul de baza de date va desemna o baza de date creata cu Visual Basic, cu Visual Data Manager sau cu Microsoft Access.

<titlu>45.2. Crearea unei noi baze de date cu Visual Data Manager

Din meniul Add-Ins se alege comanda Visual Data Manager, în urma acestei actiuni este lansat în executie utilitarul de gestiune a bazelor de date si pe ecran este afisata fereastra intitulata VisData.

Din meniul File al utilitarului Visual Data Manager se aIege comanda New. Din primul submeniu se aIege tipul bazei de date, Microsoft Access. Din cel de-al doilea submeniu se alege versiunea utilizata: Version MDB. Pe ecran este afisata fereastra de dialog intitulata Select Microsoft Acces Database to Create (selectarea bazei de date Microsoft Acces care urmeaza sa fie creata).

3. Cu ajutorul listei combinate Look in se selecteaza unitatea si calea spre dosarul (directorul), în care se va salva baza de date, de exemplu C:\My Programs\Date. In cutia de text File name se introduce numele bazei de date, de exemplu BazaMea. In continuare se efectueaza un clic pe butonul de comanda Open (deschidere). Extensia mdb este adaugata automat la numele bazei de date. în fereastra utilitarului VisData vor apare doua subferestre: Database Window (fereastra de baza de date) si SQL Statement (instructiune SQL*). Linia de titlu a ferestrei Visdata este actualizata cu numele bazei de date, precedat de calea completa spre fisier, în acest moment baza de date deja exista, însa nu contine nici un tabel.

4. Se executa un clic cu butonul drept de mouse în subfereastra Database Window. Se afiseaza un meniu local, din care se alege comanda New Table (tabel nou), prin care se va adauga un tabel nou (adica primul tabel) în baza

de date. Se afiseaza o fereastra de dialog intitulata Table Structure, prin care se va defini numele tabelului si structura lui (adica linia de antet a tabelului, format din mai multe nume de câmpuri).

<nota>

Structured Query Language, limbaj structurat de interogare. 428

</nota>

în cutia de text Table Name se introduce numele tabelului, de exemplu TabOameni. Acesta este numele primului tabel al bazei de date.

Se executa un clic pe butonul de comanda Add Field (adaugare de câmp). Pe ecran se afiseaza fereastra de dialog intitulata Add Field, specializata în definirea structurii tabelului.

7. În cutia de text Name se introduce numele primului câmp al tabelului, de exemplu Nume.

8. Lista combinata Type permite stabilirea tipului câmpului. Valorile posibile sunt urmatoarele: Boolean, Byte, Integer, Long, Currency, Single, Double, Date/Time, Text, Binary si Memo. Tipul predefmit este Text. Pentru primul câmp se va alege varianta Text.

9. În cutia de text Size se introduce dimensiunea maxima, în octeti, a primului câmp, de exemplu 30.

Se executa un clic pe butonul de comanda OK, prin care definitia de câmp va fi adaugata în lista câmpurilor tabelului curent.

Se repeta pasii 7, 8,9 si 10 pentru fiecare câmp al tabelului, în cazul de fata vom folosi urmatoarele definitii de câmpuri:

câmpul doi: Name = Studii Type = Text Size = 4

câmpul trei: Name = Permis Type = Boolean  Siye = 1

12. Dupa ce au fost definite toate câmpurile tabelului se va efectua un clic pe butonul de comanda Close, prin care se închide fereastra de dialog Add Field si se revine la fereastra Table Structure, în lista Field List sunt afisate câmpurile noului tabel.

Table Stiucture

13. Pentru construirea efectiva a noului tabel se va executa un clic pe butonul 430

de comanda Build the Table, în urma acestei actiuni se revine în fereastra principala a utilitarului VisData. în acest moment este definit un tabel (primul tabel) al bazei de date, însa acest tabel momentan nu contine nici un articol (înregistrare).

14. Pentru a reveni în mediul Visual Basic, din meniul File se va da comanda Exit.

<titlu>45.3. Adaugare sau editare de articole într-un tabei existent cu Visual Data Manager

1. Din meniul Add-Ins al programului Visual Basic se alege comanda Visual Data Manager, în urma acestei actiuni este lansat în executie utilitarul de gestiune a bazelor de date si pe ecran este afisata fereastra intitulata VisData.

2. Din meniul File al utilitarului Visual Data Manager se alege comanda Open DataBase, subcomanda Microsoft Access. Pe ecran se afiseaza fereastra de dialog intitulata Open Microsoft Acces Database (deschiderea bazei de date Microsoft Acces).

3. Cu ajutorul listei combinate Look in se selecteaza unitatea si calea spre dosarul (directorul), care contine baza de date, de exemplu C:\My Programs\Date. în cutia de text File name se introduce numele bazei de date, de exemplu BazaMea. în continuare se efectueaza un clic pe butonul de comanda Open (deschidere), în fereastra utilitarului VisData vor apare doua subferestre: Database Window (fereastra de baza de date) si SQL Statement (instructiune SQL). Linia de titlu a ferestrei Visdata este actualizata cu numele bazei de date, precedat de calea completa spre fisier.

4. Se executa un clic cu butonul drept al mouse-ului în subfereastra Database Window pe numele tabelului pentru care vor fi adaugate articole noi (sau al carui articole vor fi editate), în cazul nostru TabOameni.

Se afiseaza un meniu local, în care apar comenzile:

Open (deschiderea tabelului selectat)

Design (modificarea structurii tabelului selectat)

Rename (redenumirea tabelului selectat)

DeIete (stergerea tabelului selectat).

Se alege comanda Open. Se afiseaza o fereastra de dialog specializata în adaugarea si editarea articolelor tabelului.

6. Fereastra este prevazuta cu opt butoane de comanda. Pentru fiecare nume de câmp al tabelului este rezervat câte o cutie de text. în continuare se efectueaza un clic pe butonul de comanda Add. Se afiseaza o fereastra de dialog specializata în adaugare de articole.

Se completeaza fiecare cutie de text cu informatiile necesare. Pentru a finaliza adaugarea articolului se executa un clic pe butonul Update (actualizarea tabelului), în urma acestei comenzi se reobtine fereastra afisata la pasul 5 si se poate continua introducerea articolelor în tabel. Daca se selecteaza comanda Cancel, editarile efectuate sunt abandonate.

Dupa ce au fost introduse toate articolele tabelului se va da comanda Close.

Pentru a reveni în mediul Visual Basic, din meniul File se va da comanda Exit.



Observatii:

Fereastra afisata la pasul 5 permite efectuarea si a urmatoarelor operatii:

parcurgerea articolelor existente în tabel; în acest scop se va folosi bara de defilare orizontala a ferestrei;

selectarea articolului necesar si editarea câmpurilor articolului respectiv cu ajutorul butonului de comanda Edit; se va afisa o fereastra asemanatoare ferestrei care se obtine cu ajutorul comenzii Add;

stergerea articolului selectat cu ajutorul butonului de comanda Delete; operatia de stergere a articolului respectiv trebuie confirmata de utilizator;

sortarea articolelor tabelului cu ajutorul butonului de comanda Sort, prin introducerea numelui coloanei (câmpului) dupa care se sorteaza;

filtrarea articolelor tabelului cu ajutorul butonului de comanda Filter, prin introducerea unei expresii de filtrare;

mutarea articolului selectat cu ajutorul butonului de comanda Move, prin introducerea unui numar de linii care specifica directia de mutare (valori negative pentru mutare înapoi, valori pozitive pentru mutare înainte);

cautarea unui articol care satisface anumite conditii specificate poate fi realizata cu ajutorul butonului de comanda Find.

<titlu>45.4. Adaugarea unui tabel nou la o baza de date existenta cu Visual Data Manager

Din meniul Add-Ins se alege comanda Visual Data Manager, în urma acestei actiuni este lansat în executie utilitarul de gestiune a bazelor de date si pe ecran este afisata fereastra intitulata VisData.

Din meniul File al utilitarului Visual Data Manager se alege comanda Open DataBase, subcomanda Microsoft Access. Pe ecran se afiseaza fereastra de dialog intitulata Open Microsoft Acces Database (deschiderea bazei de date Microsoft Acces).

Cu ajutorul listei combinate Look in se selecteaza unitatea si calea spre dosarul (directorul), care contine baza de date, de exemplu C:\My Programs\Date. în cutia de text File name se introduce numele bazei de date, de exemplu BazaMea. în continuare se efectueaza un clic pe butonul de comanda Open (deschidere), în fereastra utilitarului VisData vor apare doua subferestre: Database Window (fereastra de baza de date) si SQL Statement (instructiune SQL). Linia de titlu a ferestrei Visdata este actualizata cu numele bazei de date, precedat de calea completa spre fisier.

4. Se executa un clic cu butonul drept al mouse-ului în subfereastra Database Window. Se afiseaza un meniu local, din care se alege comanda New Table (tabel nou),-prin care se va adauga un tabel nou în baza de date selectata. Se afiseaza o fereastra de dialog intitulata Table Structure, prin care se va defini numele tabelului si stractura lui (adica câmpurile tabelului).

5. Se repeta pasii 5 - 13 utilizati la crearea unei baze de date.

<titlu>45.5. Controale utilizate în gestiunea bazelor de date

In procesul de gestiune a bazelor de date programul Visual Basic utilizeaza doua categorii de controale:

Controlul Data, invizibil la executie, care apare în paleta controalelor

standard, având un simbol grafic de forma unei iconite. Controlul este utilizat pentru a conecta o aplicatie Visual Basic cu o sursa de date selectata si pentru a avea acces la articolele unui tabel dintr-o baza de date specificata. Acest control este utilizat si pentru realizarea interfetei cu controale "legate". Controlul Data creeaza un panou format din patru butoane de comanda, prin care se poate naviga printre articolele tabelului: trecerea la primul articol, la articolul precedent, la articolul urmator, la ultimul articol.

2. Un numar de controale vizuale, denumite controale "legate" la controlul Data, care permit afisarea si editarea articolelor tabelului: TextBox, LabeI, CheckBox, ListBox, ComboBox, PictureBox, Image, OLE, DBGrid, DBList, DBCombo, MaskEdit, ProgressBar si RichTextBox. Aceste controale realizeaza o înlantuire spre anumite câmpuri ale tabelului selectat, în momentul în care un control vizual (de exemplu cutie de text) este înlantuit la un anumit câmp, orice modificare a continutului controlului (cutiei de text) este înregistrata automat în câmpul asociat.

Urmatoarea figura ilustreaza modul de înlantuire a acestor elemente:

Fig.pag. 435 sub forma unei scheme.

Aplicatiile Visual Basic orientate spre prelucrarea bazelor de date trebuie sa fie realizate astfel:

Se aseaza pe forma un control Data si se configureaza proprietatile controlului. Cele mai importante proprietati ale acestui control sunt urmatoarele: Connect, DataBaseName, RecordSource, RecordsetType, Exclusive, ReadOnly si Options.

Se aseaza pe forma diferite controale vizuale (legate) si se configureaza

proprietatile DataSource si DataField ale acestora. Proprietatea DataSource trebuie încarcata cu numele controlului Data (de exemplu Datal). Proprietatea DataFieId trebuie încarcata cu numele unui câmp al tabelului care se afiseaza în controlul vizual. Continutul câmpului desemnat este asociat controlului vizual.

Proprietatile cele mai importante ale unui control Data si modul de configurare a acestor proprietati sunt centralizate în tabelul urmator:

<tabel>

*Proprietate

Semnificatie

*Connect

Numele programului cu care a fost creata baza de date. Valoarea implicita este Access.

*DatabaseName

Numele bazei de date, cu unitatea si cu calea completa, de exemplu: C:\My Programs\Date\BazaMea.mdb

*RecordSource

Numele tabelului bazei de date, de exemplu: TabOameni

*RecordsetType

Tipul obiectului Recordset care urmeaza sa fie creat de controlul Data. Valorile posibile sunt urmatoarele:

Table

Dynaset (valoare implicita)

Snapshot

*Exclusive

Valoare booleana care stabileste daca baza de date este deschisa pentru un singur utilizator sau pentru mai multi utilizatori. Valoarea implicita este False, care permite acces multiutilizator.

*ReadOnly

Valoare booleana care stabileste daca articolele bazei pot fi editate sau nu. Valoarea implicita este False, prin care se permite editarea articolelor.

*Options

Un numar întreg prin care se pot preciza anumite optiuni referitoare la obiectul Recordset care urmeaza sa fie creat de controlul Data. Valoarea implicita este 0.

*BOFAction

Stabileste actiunea controlului Data în momentul în care proprietatea BOF (Begin Of File) este adevarata (pozitia articolului curent este în fata primului articol într-un obiect Recordset). Valorile posibile sunt:

Move First  Primul articol ramâne articolul curent. Valoare implicita.

BOF: Pentru primul articol se declanseaza evenimentul Validate al controlului Data.

Acest eveniment este urmat de evenimentul Reposition referitor la articolul invalid (BOF). în acest moment (la controlul Data) butonul de trecere la articolul precedent va fi inhibat.

*EOFAction

Stabileste actiunea controlului Data în momentul în care proprietatea EOF (End Of File) este adevarata (pozitia articolului curent este dupa ultimul articol într-un obiect Recordset). Valorile posibile sunt:

Move Last:  Ultimul articol ramâne articolul curent. Valoare implicita.

EOF: Pentru ultimul articol se declanseaza evenimentul Validate al controlului Data. Acest eveniment este urmat de evenimentul Reposition referitor la articolul invalid (EOF), în acest moment Ia controlul Data butonul de trecere la articolul urmator va fi inhibat.

Add New:  Adaugarea unui articol nou dupa ultimul articol. Pentru ultimul articol se declanseaza evenimentul Validate al controlului Data. în continuare se apeleaza automat metoda AddNew si evenimentul Reposition referitor la noul articol.

</tabel>

Principalele controalele vizuale sunt urmatoarele:

<titlul>Controlul TextBox

Afiseaza continutul unui câmp specificat din articolul actual al bazei de date, sub forma unei cutii de text. Specificarea câmpului se realizeaza prin proprietatea DataField. Continutul câmpului afisat poate fi modificat.

<titlul>Controlul Label

Afiseaza continutul unui câmp specificat din articolul actual al bazei de date, sub forma unei etichete. Specificarea câmpului se realizeaza prin proprietatea DataField. Continutul câmpului afisat nu poate fi modificat.

<titlul>Controlul CheckBox

Afiseaza continutul unui câmp specificat din articolul actual al bazei de date, sub forma unei cutii de validare. Specificarea câmpului se realizeaza prin proprietatea DataField. Continutul câmpului afisat poate fi modificat. Controlul este utilizat pentru vizualizarea valorilor logice. Daca valoarea câmpului este True, cutia de validare este selectata. Daca valoarea câmpului este False, cutia de validare nu este selectata.

<titlul>Controlul ListBox

Afiseaza continutul unui câmp specificat din articolul actual al bazei de date, sub forma unei liste simple. Specificarea câmpului se realizeaza prin proprietatea DataField. Valoarea actuala a câmpului este indicata prin elementul selectat al listei. Daca valoarea actuala nu apare în lista, atunci nici un element al listei nu este selectat. Daca utilizatorul selecteaza un element al listei, atunci elementul selectat devine valoarea curenta a câmpului. Lista contine un numar de elemente, care reprezinta valorile posibile ale câmpului desemnat de proprietatea DataField. Valorile afisate în lista sunt stabilite de proprietatea List; în executie elementele listei trebuie sa fie încarcate cu metoda AddItem.

<titlul>Controlul ComboBox

Afiseaza continutul unui câmp specificat din articolul actual al bazei de date, sub forma unei liste combinate. Specificarea câmpului se realizeaza prin proprietatea DataField. Valoarea actuala a câmpului este indicata prin elementul selectat al listei. Daca valoarea actuala nu apare în lista, atunci nici un element al listei nu este selectat. Daca utilizatorul introduce un text în componenta cutie de text sau daca selecteaza un element al listei, atunci textul introdus sau elementul selectat devine valoarea curenta a câmpului. Lista contine un numar de elemente, care reprezinta valorile posibile ale câmpului desemnat de proprietatea DataField. Valorile afisate în lista sunt stabilite de proprietatea List; în executie elementele listei trebuie sa fie încarcate cu metoda AddItem.

<titlul>Controlul DBGrid

Afiseaza toate articolele unei baze de date într-o retea de celule. Continutul diferitelor celule poate fi editat, în fiecare linie a retelei se afiseaza un articol al bazei de date. Celulele unei linii reprezinta câmpurile unui articol. Dupa ultima linie a retelei poate fi introdus un nou articol al bazei de date. Controlul DBGrid nu este standard.

Simbolul grafic aferent este o iconita.

<titlul>Controlul DBList

Este asemanator controlului ListBox, însa elementele listei sunt încarcate automat, deci utilizatorul nu mai trebuie sa initializeze lista apelând metoda AddItem. Proprietatile DataSource si RowSource trebuie sa fie initializate cu humele componentei Data. Proprietatile DataField, BoundColumn si ListField trebuie sa fie initializate cu numele câmpului din lista care se afiseaza. Controlul DBList nu este standard. Simbolul grafic aferent este o iconita.

<titlul>Controlul DBCombo

Este asemanator controlului ComboBox, însa elementele listei sunt încarcate automat, deci utilizatorul nu mai trebuie sa initializeze lista apelând metoda AddItem. Proprietatile DataSource si RowSource trebuie sa fie initializate cu numele componentei Data. Proprietatile DataField, BoundColumn si ListFieId trebuie sa fie initializate cu numele câmpului din lista care se afiseaza. Controlul DBCombo nu este standard. Simbolul grafic aferent este o iconita.

Tabelul urmator centralizeaza componentele vizuale utilizate des în gestiunea bazelor de date, precum si proprietatile care trebuie sa fie initializate cu o valoare în perioada de elaborare a proiectului sau în executie:

<tabel>

*Componenta

Proprietati care trebuie sa fie initializate

*DBGrid

DataSource

*TextBox

DataSource

DataField

*Label

*DataSource

DataField

*CheckBox



DataSouvce

DataField

*ListBox

DataSource

DataField

Elementele listei.

*ComboBox

DataSource

DataField

Elementele listei.

*DBList

DataSource

*RowSource

DataField

*BoundColumn

*ListField

*DBCombo

DataSource

*RowSource

DataField

*BoundColumn

*ListField

</tabel>

În momentul lansarii în executie a aplicatiei, înainte de declansarea evenimentului Load pentru forma, controlul Data este initializat automat. Daca proprietatile Connect, DatabaseName, RecordSource, Options, Exclusive, ReadOnIy si RecordsetType ale controlului Data au fost configurate corect, atunci pe baza lor programul Visual Basic va crea un obiect de tip Recordset. Acest obiect va fi accesibil prin intermediul proprietatii Recordset a controlului Data. Cu ajutorul proprietatii Recordset pot fi apelate diferite metode referitoare gestiunea bazei de date si pot fi examinate diferite proprietati ale bazei.

Principalele metode aferente obiectului Recordset sunt urmatoarele:

<tabel>

*Metoda

Functie

Data1 .Recordset.AddNew

Creeaza o zona tampon în memorie pentru noul articol al bazei de date si goleste controalele vizuale înlantuite la controlul Data. Adaugarea noului articol la baza de date trebuie finalizata prin apelarea metodei Update.

*Data1. Recordset. Update

Depune articolul nou adaugat în baza de date (salveaza în baza de date continutul zonei tampon creata de metoda AddNew, adica se realizeaza actualizarea articolelor bazei de date).

*Data1 .Recordset.Delete

sterge articolul curent al bazei de date.

*Data1 .Recordset.MoveFirst

Trecere la primul articol al bazei de date.

*Data1 .RecordsetMoveLast

Trecere la ultimul articol al bazei de date.

*Data1.Recordset.MoveNext

Trecere la urmatorul articol al bazei de date.

*Data1 .Recordset.MovePrevious

Trecere la articolul anterior al bazei de date.

</tabel>

Principalele proprietati aferente obiectului Recordset sunt urmatoarele:

<tabel>

*Proprietate

Semnificatie

*Data1. Recordset.AbsolutePosition

Comunica numarul articolului actual al bazei. Primul articol are numarul 0. De regula se foloseste cu ajutorul unei secvente de forma urmatoare:

Dim act As Long act = Datai .Recordset.AbsolutePosition + 1

*Data1 .Recordset.RecordCount

Comunica numarul articolelor bazei. De regula se foloseste cu ajutorul unei secvente de forma urmatoare:

Dim nrart As Long

Data1 .RecordsetMoveLast

nrart = Data1 .Recordset.RecordCount

*Data1 .Recordset.Bookmark

Semn de carte. Marcheaza pozitia articolului actual în baza de date sau realizeaza pozitionarea pe un articol marcat anterior. De regula se foloseste cu ajutorul unei secvente de forma urmatoare:

Dim p As String

p = Data1 .RecordsetBookmark ' marcare

Data1 .Recordset.Bookmark = p ' pozitionare

*Data1 .Recordset.EOF

*Aceasta proprietate livreaza valoarea True daca pozitia articolului curent este dupa ultimul articol al bazei, False în caz contrar.

*Data1 .RecordsetBOF

Aceasta proprietate livreaza valoarea True daca pozitia articolului curent este în fata primului articol al bazei, False în caz contrar.

</tabel>

<titlu>Evenimentul Reposition al unui control Data

Este declansat în momentul în care un oarecare articol al bazei de date devine articolul curent al bazei. Prototipul procedurii atasate acestui eveniment este:

Private Sub Datal.Reposition ()

End Sub

Aceasta procedura-eveniment de regula este utilizata pentru afisarea numarului articolului curent, de exemplu:

Datal.Caption = "Articulul curent = "_

& (Data1.Recordset.AbsolutePosition + 1)

EXEMPLUL 1:

Aceasta aplicatie ilustreaza modul de creare a unui tabel Access cu ajutorul programului Visual Basic. Se presupune ca structura tabelului TabOameni (memorata în baza de date BazaMea.mdb) a fost deja stabilita cu ajutorul utilitarului Visual Data Manager, însa acest tabel înca nu contine nici un articol. Forma aplicatiei contine un control Data, o cutie de text, o lista si o cutie de validare, în procedura-eveniment Load a formei lista este încarcata cu trei elemente: sup, med si elem. în perioada de elaborare a proiectului controalele au fost configurate astfel:

<tabel>

*Nume control

Configurarea proprietatilor

*Data1

Connect = Access

*DatabaseName = C:\My Programs\Date\BazaMea.mdb

RecordSource = TabOameni

*EOFAction = 2 (Add New) Nu este valoare implicita!

*Text1

DataSource = Data1

*DataField = Nume

*List1

DataSource = Data1

* DataField = Studii

Check

DataSource = Data1

* DataField = Permis

</tabel>

Pentru adaugarea unui nou articol se deplaseaza la ultimul articol al listei si se actioneaza butonul "sageata dreapta" al controlului Data. în continuare se completeaza cutia de text cu numele angajatului, din lista se selecteaza nivelul lui de pregatire, iar cu ajutorul cutiei de validare se stabileste daca persoana poseda sau nu permis de conducere, în continuare se actioneaza un buton "sageata" al controlului Data. Fereastra afisata de aplicatia poate avea aspectul urmator:

Fig.pag. 441

Textul sursa al programului este:

Option Explicit

Private Sub Form_Load

Forml.Caption = "Crearea si afisarea bazei de date"

Labell.Caption = "Nume"

Label2.Caption = "Studii"

Checkl.Caption = "Permis"

Listl.Clear

Listl.AddItem "sup"

Listl.AddItem "med"

Listl.AddItem "elem"

End Sub

Private Sub Datal_Reposition() Datal.Caption = "Articolul:"_

& (Datal.Recordset.AbsolutePosition + 1)

End Sub

EXEMPLUL 2:

Aceasta aplicatie ilustreaza modul de utilizare a unui control DBGrid. Forma contine un control Data, având numele Datal si un control DBGrid, având numele DBGridl. în perioada de elaborare a proiectului aceste controale au fost configurate astfel:

<tabel>

*Nume control

Configurarea proprietatilor

*Data1

Connect = Access

*DatabaseName = C:\My Programs\Date\BazaMea.mdb

RecordSource = TabOameni



*DBGridl

DataSource = Data1

*AllowAddNew = True (pot fi adaugate articole noi)

*AllowDelete = True (pot fi sterse articole selectate)

</tabel>

Fereastra afisata de aplicatie poate avea aspectul urmator:

Textul sursa al programului este:

Option Explicit

Private Sub Form_Load

Form1.Caption = "Controlul DBGrid"

End Sub

Private Sub Datal_Reposition()

Data1.Caption = "Articolul:"_

& (Data1.Recordset.AbsolutePosition + 1)

End Sub

EXEMPLUL3:

Aceasta aplicatie ilustreaza modul de utilizare a obiectului Recordset atasat unui control Data. Forma aplicatiei contine un control Data având numele Data1, o cutie de text având numele txtNume, o lista având numele lstStudii, o cutie de validare având numele chkPermis si patru

butoane de comanda. Butonul de comanda având numele cmdAdd pregateste adaugarea unui nou articol la baza de date. Operatia de adaugare trebuie finalizata prin actionarea butonului de comanda cmdUpdate. Daca se renunta la adaugarea articolului pregatit, atunci se va actiona butonul de comanda cmdCancel. Prin actionarea butonului de comanda cmdDelete se sterge articolul actual al bazei. Operatia de stergere trebuie validata de utilizator, în procedura-eveniment Load atasata formei lista este încarcata cu trei elemente: sup, med si elem. în perioada de elaborare a proiectului controalele au fost configurate astfel:

<tabel>

*Nume control

Configurarea proprietatilor

*Data1

Connect = Access

*DatabaseName = C:\My Programs\Date\BazaMea.mdb

RecordSource = TabOameni

*txtNume

DataSource = Data1

*DataField = Nume

*lstStudii

DataSource = Data1

*DataField = Studii

*chkPermis

DataSource = Data1

*DataField = Permis

</tabel>

Fereastra afisata de aplicatie are aspectul urmator:

Fig. Pag. 443 dub forma unei ferestre.

Textul sursa al programului este:

Option Explicit

Dim Pozitie As String

Private Sub Form_Load

Form1.Caption Data1.DatabaseName & " " & Datal.RecordSource

lstStudii.Clear

lstStudii.AddItem "sup"

lstStudii.AddItem "med"

lstStudii.AddItem "elem"

End Sub

` Add Adaugarea unui articol nou la baza de date.

` Operatia trebuie validata (Update) sau invalidata (Cancel)

Private Sub cmdAdd_Click()

` Memorarea pozitiei articolului actual în baza de date. Eventual se va reveni la

' aceasta pozitie, prin comanda Cancel.

Pozitie = Datal.Recordset.Bookmark

cmdAdd.Enabled = False 'Add invalidat

cmdUpdate.Enabled True  'Update validat

cmdCancel.Enabled True  'Cancel validat

cmdDelete.Enabled = False 'Delete invalidat

Data1.Recordset.AddNew 'Creeaza zona tampon

' pentru nouaînregistrare si goleste controalele legate de baza de date.

txtNume.SetFocus

End Sub

' Delete stergerea unui articol din baza de date

Private Sub cmdDelete_Click()

Dim-Raspuns As Integer

Raspuns = MsgBox("Se poate sterge ?",_

vbQuestion vbYesNo, "stergere")

If Raspuns = vbYes Then 'stergere acceptata de utilizator

Data1 Recordset. Delete 'stergerea articolului actual

Data1 Recordset. MoveNext  'Se trece la articolul urmator, daca exista

If Data1.Recordset.EOF True Then 'Daca s-a sters ultimul articol,

Data1. Recordset. MovePrevious  'atunci se trece la articolul precedent.

End If

End If

End Sub

' Update Acceptarea operatiei de adaugare

Private Sub cmdUpdate_Click()

Data1. Recordset. Update  'Memorarea noului articol in baza de date.

cmdUpdate.Enabled = False

cmdCancel.Enabled = False

cmdDelete.Enabled True

cmdAdd.Enabled = True

End Sub

' Cancel Anularea operatiei de adaugare

Private Sub cmdCancel_Click()

Data1.Recordset.Bookmark = Pozitie

cmdUpdate.Enabled = False

cmdCancel.Enabled = False

cmdDelete.Enabled = True

cmdAdd.Enabled = True

End Sub

Private Sub Datal_Reposition()

Data1.Caption = "Numarul articolului actual: " & _

(Data1.Recordset.AbsolutePosition +1)

End Sub1

EXEMPLUL 4:

Aceasta aplicatie este o varianta a aplicatiei din exemplul 1. Deosebirea consta în faptul, ca în loc de o lista simpla au fost utilizate doua controale specializate în tratarea bazelor de date: DBList si DBCombo. Se mentioneaza faptul, ca elementele acestor controale sunt încarcate automat de programul Visual Basic (deci nu cade în sarcina utilizatorului încarcarea lor cu metoda Add). în perioada de elaborare a proiectului aceste controale au fost configurate astfel:

<tabel>

*Nume control

Configurarea proprietatilor

*Data1

Connect = Access

*DatabaseName = C:\My Programs\Date\BazaMea.mdb

RecordSource = TabOameni

*EOFAction = 2 (Add New) Nu este valoare implicita!

*Text1

DataSource = Data1

*DataField = Nume

*DBList1

*DataSource = Data1

* DataField = Studii

*RowSource = Data1

*BoundColumn = Studii

*ListField = Studii

*DBCombo1

*DataSource = Data1

*DataField = Studii

*RowSource = Data1

*BoundColumn = Studii

*ListField = Studii

*Check1

DataSource = Data1

*DataField = Permis

</tabel>

Fereastra afisata de aplicatie are aspectul urmator:

Fig.pag. 445 sub forma unei ferestre.

Textul sursa al programului este:

Option Explicit

Private Sub Datal_Reposition()

Data1.Caption "Articolul:"_

& (Datal,Recordset.AbsolutePosition

End Sub




Document Info


Accesari: 1913
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )