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: 1884
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. 2024 )