utilizarea diferitor controale i obiecte folosite n special n domeniul bazelor de date 3.1. Caseta cu list (List Box) Casetele cu list prezint utilizatorului o serie de opiuni care pot fi alese de utilizator, care sunt aezate implicit pe o singur coloan, dar care pot fi afiate i pe mai multe coloane. Dac numrul de elemente care trebuiesc afiate depete dimensiunea casetei, acesteia i se ataeaz automat bare de derulare. Metode, evenimente i proprieti specifice unui ListBox Pentru golirea listei se folosete metoda clear Sintaxa: list.clear Adugarea elementelor n list se face prin intermediul metodei additem. Sintaxa: list.additem element Unde: list numele listei element elementul care va fi adugat listei. tergerea unor elemente din list se face folosind metoda removeitem. Sintaxa: list.removeitem index Unde: list numele listei index indexul (numrul de ordine) al elementului care va fi eliminat din list listei. Selecia unui element din lista afiat se face cu un click de mouse, deci este nevoie de folosirea evenimentului click asociat listei. Numrul de ordine al elementului selectat este stocat n proprietatea ListIndex a listei. Pentru a apela efectiv elementul, i nu numrul lui de ordine (indexul) se folosete proprietatea List a listei. Aceast proprietate este de fapt un tablou iar apelul unui element se face indicnd indexul acestuia, adic folosind proprietatea ListI ndex. ListBox n mod obiect ListBox n mod cod surs Dim a(1 To 5) As String
Private Sub Command1_Click() Se ncarc irul a(i) cu valori de tip text a(1) = "aaa" a(2) = "bbb" a(3) = "ccc" a(4) = "ddd" a(5) = "eee Se ncarc ListBox-ul cu elementele irului For i = 1 To 5 List1.AddItem a(i) Next i End Sub
Private Sub List1_Click() Se transfer elementul selectat din list n TextBox 'b = List1.ListIndex 'Text1.Text = List1.List(b) Text1.Text = List1.Text
End Sub 3.2. Caset combinat (ComboBox) Este tot o caset de tip list, dar ofer posibilitatea utilizatorului de a edita un cmp, dac acesta nu este prezent n list. Spre deosebire de controlul caset cu list, caseta combinat ocup mai puin din spaiul unui formular, ea fiind derulat doar n momentul folosirii. n principiu funcioneaz la fel ca i lista, avnd aproximativ aceleai metode i proprieti, cele mai importante fiind, ca i n cazul listei, metodele de adugare, tergere element i golire. Combo Box n mod obiect Combo Box n mod cod surs Dim a(1 To 5) As String
Private Sub Command1_Click() Se ncarc irul a(i) cu valori de tip text a(1) = "aaa" a(2) = "bbb" a(3) = "ccc" a(4) = "ddd" a(5) = "eee" Se ncarc Combo Box-ul cu elementele irului For i = 1 To 5 Combo1.AddItem a(i) Next i End Sub
Private Sub Combo1_Change() Se transfer elementul selectat din caseta combinat n TextBox dar atenie !!!!! numai la schimbarea unui element (Change)i nu la selecie(Click) Text1.Text = Combo1.Text End Sub
3.3. Controale caset de validare (Check Box) Butoane de opiuni (Option Buton) Diferena dintre caseta de validare i butonul de opiune este c atunci cnd exist mai multe astfel de controale ( option buton ), un singur buton de opiune poate fi activat , ns pot fi bifate mai multe casete de validare. Selecia se realizeaz prin pozitionarea TabIndexului (o proprietate a butoanelor de opiune ). 3.4. Controale specifice exploatrii bazelor de date: DATA, ADO DATA i DATAGRID Tehnologia de lucru cu baze urmeaz cteva etape care trebuiesc parcurse pentru a creea o astfel de aplicaie: 1. Trebuie creat o legtur ntre baza de date i un control de tip DATA sau ADODC. 2. Trebuie precizat sursa nregistrrilor (n cazul bazelor de date create cu Microsoft Access, ntr-un fiier baz de date pot exista mai multe Tabele). 3. Folosind acest control n combinaie cu alte controale (Text, ComboBox, List, DataGrid etc. ) care permit legtura cu o baz de date, se pot modifica, vizualiza, aduga sau terge nregistrrile dintr-o baz de date. 3.4.1. Controlul DATA Acesta poate fi conectat direct la un control de tip TEXT sau COMBO, pentru afiarea anumitor cmpuri. Conectarea se face prin atribuirea valorii numelui controlului DATA la proprietatea DATASOURCE al unui control care permite acest lucru. Ex: Combo1.DataSource= nume control data Proprietile cele mai importante ale controlului DATA - DataBaseName prin care este specificat baza de date cu care se face conexiunea; - RecordSource prin care se specific Tabela din care se iau nregistrri; - RecordsetType indic dac setul de nregistrri este o tabel, un set dinamic sau un set fix de nregistrri; - BOFAction, EOFAction arat ce se ntmpl cnd controlul se afl la nceputul sau sfritul bazei de date. - Recordset este o proprietate obiect care reprezint nsi baza de date i care la rndul ei are o serie de proprieti i metode cu ajutorul crora se poate scrie un cod pentru exploatarea bazelor de date. Metodele cele mai folosite cu ajutorul crora se acceseaza bazele de date sunt: - AddNew adaug o nou nregistrare la finalul bazei de date; - Close - nchide baza de date - Delete terge o nregistrare din baza de date - Edit permite modificare nregistrrii curente ntr-o baz de date - FindFirst, FindLast, FindNext sunt folosite pentru cutarea unor nregistrri din baza de date. - MoveFirst, MoveLast, MoveNext, MovePrevious sunt folosite pentru deplasarea marcajului care desmeneaz articolul curent din baza de date. - Update realizeaz o reactualizare a bazei de date. Este obligatoriu s se foloseasc aceast metod imediat dup folosirea metodelor Edit, Delete sau AddNew, altfel acestea neavnd efect. 3.4.2. Controlul ADO DATA ( ADO DC ) Este un control mai evoluat, de tip ActiveX, care nu este ncorporat precum controlul DATA, dar permite un mai bun control asupra bazelor de date, precum i legturi cu controale mai complexe (DataGrid) cu ajutorul crora exploatarea bazelor de date este mai facil. n principiu are aceleai proprieti i metode ca i controlul DATA, dar spre deosebire de acesta permite folosirea de comenzi SQL, precum i o mai bun metod de programare pentru aplicaiile de tip client- server. 3.4.3. Controlul DATAGRID Este un control care legat de un control ADODC afieaz baza de date sub form de tabel n cadrul unui formular. n cadrul acestui tabel datele pot fi modificate, terse sau adugate fr a mai fi nevoie de metoda Update pentru reactualizarea bazelor de date. De asemenea pot fi selectate cmpurile care vor fi afiate n cadrul acestui control, cu ajutorul proprietii vizible a obiectelor proprietate column. Exemplu de conectare a unei tabele prez dintr-o baz de date Access utiliznd controalele Adodc1 i DataGrid1 Etapele construirii exemplului i tabela Access Exemplul prezint utilizarea a dou controale ActiveX (ADO DC si DATA GRID ) pentru afiarea sub forma de tabel a unei tabele prez Access conectat la VB prin intermediul controlului ADO DC. Etapele construirii exemplului: 1. Realizarea legturii fiierului Access (MDB) prin proprietatea adodc numit Connection String AdoDc 2. Indicarea sursei nregistrrilor ( selectarea tabelei Access dorite ) prin proprietatea Record Source AdoDc 3. Afiarea cu ajutorul controlului DataGrid a tabelei prin proprietatea acestuia numit DataSource Observaie : tabela conine 3 cmpuri i 3 nregistrri. Proprietile Connection String AdoDc i Record Source AdoDc ale controlului Adodc1 Proprietatea DataSource a controlului DataGrid1 n prealabil baza de date Access este configurat ca surs de date ODBC