Visual Basic – ADO pretraživanje baza podataka

U prethodnom prilogu smo videli kako da preko ADO modela pristupimo bazi podataka, a u okviru Visual Basic-a. Sada ćemo da obradimo pretraživanje baza podataka, naravno, takođe preko ADO modela. Recimo da želimo da iz određene tabele izdvojimo podatke koji odgovaraju nekom kriterijumu. Izdvajanje, pored drugih načina, možemo da ostvarimo preko svojstva „Filter“, a izdvojene podatke ćemo takođe smestiti u jedan Recordset. Kada kažemo izdvajanje, onda mislimo na pretraživanje, što je različito od traženja. Traženje predstavlja izdvajanje jednog sloga iz neke tabele čija vrednost ključnog obeležja odgovara traženoj, a vrši se uvek po ključnom obeležju. Da bismo sve slogove koji zadovoljavaju postavljeni kriterijum postavili u Recordset, koristićemo svojstvo Filter, kojim postavljamo kriterijum. Na primer:


Rs.Filter = „UnitPrice < 20"
Rs.Open "Products", veza

Recordset će sada sadržati samo one slogove iz tabele „Products“ koji u koloni „UnitPrice“ (pojedinačna cena) imaju rednost manju od 20. Naravno, ovo je vrlo prost filter, a on može da bude puno složeniji – spajanjem više kriterijuma u jedan ključnim rečima AND i OR (i još nekim). Na primer:


Rs.Filter = „UnitPrice > 20 AND UnitsOrder >= 40“
Rs.Open „Products“, veza

Pored navedenog, u kriterijumima možete koristiti i tzv. „wildchars“ – karakter zvezdicu (*), koji zamenjuje bilo koji znak ili skup znakova, samo što tada umesto znaka jednakosti (=) upotrebljavamo ključnu reč „LIKE„:


Rs.Filter = „Quantity Per Unit LIKE ‘*bottle*’ “
Rs.Open „Products“, veza

Ovim kriterijumom iz tabele proizvoda izdvajamo sve proizvode (slogove) koji u polju „Quantity Per Unit“ imaju reč „bottle“, što znači da selektujemo sve proizvode koji se pakuju u flaše. U samom kriterijumu osim jednako i „LIKE“, možete koristiti i druge komparacione operatore: (veće), = (veće ili jednako), (različito). Ako budete želeli i da sortirate rezultujući skup slogova, koristićete svojstvo „Sort“:


Rs.Filter = „Quantity Per Unit LIKE ‘*bottle*’ “
Rs.Sort „ProductName“
Rs.Open „Products“, veza

Pratite Krstaricu na www.krstarica.com