Autor: Samir Gutić
Pročitano: 4350 puta

Za konekciju na Access bazu (.mdb) potrebno je kreirati odgovarajući konekcijski string, odnosno query. U tu svrhu je potrebno,u MS Access-u otvoriti bazu podataka, izabrati Create query in design wiew, zatim izabrati tabele iz kojih će biti čitani podaci. Nakon toga izvršiti linkovanje odgovarajućih podataka u tabelama (ako je potrebno). Podesiti Join properties (obično opcija 1). U tabelama dvokliknuti na polje koje će biti uključeno u query. Nakon završenog izbora polja kliknuti desnom tipkom na prazan dio prozora i itabrati SQL view. U novom prozoru će se pojaviti SQL statement koju treba selektovati i kopirati u kod visual basic-a u otvaranju rekordseta.

Ako je potrebno iz neke tabele, koja u nekoj koloni ima ponavljanje istih podataka, pokupiti sve podatke ali po jedan primjerak onda u SQL statement, iza SELECT upisati DISTINCT.

Ako je izvršeno linkovanje tabela, u query moraju biti uključena polja koja su primary key iz svih tabela!Inače nije moguće vršiti update u tabelu.

Ako iz neke tabele treba povaditi samo podatke koji sadrže neke znakove koriste se wildcards:

SELECT DISTINCT ZDKpolaznici.ime_i_prezime AS Expr1, ZDKpolaznici.funkcija FROM ZDKpolaznici WHERE (((ZDKpolaznici.funkcija) Like 'adm*'));

U ovom primjeru se kupe sva imena koja se ne ponavljaju i to za one vrste u kojima se u koloni funkcija nalazi vrijednost koja počinje sa adm i to na osnovu naredbe Like. Ista stvar se dobije ako u design modu u polje Criteria upisati Like 'adm*'.

Za fitriranje neke kolone po više uslova, u polje Criteria upisati uslove uz korištenje logičkih operatora (and, or ...).

Ako query sadrži više kolona a potrebno je dobiti DISTINCT samo po jednoj koloni potrebno je u Design načinu prikaza query-a u polju table kliknuti desnom tipkom i izabrati Totals (S). Pojaviće se nova vrsta iz koje treba izabrati Group Byali samo za onu kolonu za koju hoćemo da dobijemo DISTINCT filtriranje. Za ostale kolone izabrati First ili Last čime će se uzimati u obzir samo prvo ili zadnje pojavljivanje tog zapisa.

Za uzimanje najvećeg elementa iz neke kolone, nakon izbora Group By izabrati Max.

Za sumiranje po nekoj koloni izabrati sum, a za neku drugu kolonu izabrati Group By tako da se dobije sumiranje svih vrsta koje imaju istu vrijednost u koloni u kojoj je izabrano Group By.

Npr. ako treba dobiti sume svih uplata po godinama potrebno je u query uključiti kolone uplata i godina. Za kolonu uplata izabrati Sum, a za kolonu godina izabrati Group By. Ako u koloni godina postoje 3 različite vrijednosti za godinu, query će imati 3 vrste sa sumama za svaku godinu. Kasnije je rekordset dobijen po tom query-u moguće filtrirati po godini i dobiti samo jednu sumu.

Ako je potrebno pronaći duplikate u nekoj tabeli, izabrati Queries zatim New i opciju Find Duplicates Query Wizard. U sljedećem prozoru izabrati tabelu ili query, a zatim polja u kojima se traže duplikati. Moguće je dodati i neka dodatna polja koja će biti prikazana u query-u. Dobijeni query će prikazati samo stavke koje se pojavljuju više puta kolone u kojoj se traže duplikati i odgovarajuće stavke iz dodanih kolona.