Microsoft Office Access |
|
|
Grananja u VBA programuNivo:
U programiranju, jedna ista stvar se može izvesti na više načina, što posebno važi za selekcije. To je prilično izraženo u Accessu, gde još treba odlučiti gde će se formirati neki kriterijum selekcije. Evo nekih primera. Svi koji se bave programiranjem koriste jednu od procedura za ispitivanje sadržaja promenljive, te na osnovu rezultata ispitivanja granaju izvršenje programa. Uobičajena i najjednostavnija procedura za proveru vrednosti je klauzula
Iza klauzule If može slediti više programskih redova ako je uslov zadovoljen, odnosno iza Else, ukoliko uslov nije zadovoljen. Evo prostog primera: ispitujemo ocene učenika i dajemo deskriptivni opis ocene:
Klauzula IIf (Immediate If) je nešto komplikovanija za razumevanje. Provera se sastoji iz jednog programskog reda gde se vrednost promenljive ispituje i na osnovu rezultata postoje dva izbora: Yes (promenljiva zadovoljava uslov) i No (ne zadovoljava uslov). Ovde se ne može upisati više programskih redova iza provere. Proverimo prolaznost učenika sa dekriptivnim opisom: IIf (X = 1; [Ocena] = "Ne zadovoljava"; [Ocena] = "Zadovoljava") Pravo grananje postoji kod selekcije Select Case ... End Select, a naročito kod slučajeva kada se treba ispitati više vrednosti jedne promenljive i na osnovu rezultata izvršiti drukčiji program. U Accessu je najčešće korišćena kod provere grupe opcija. Ukoliko promenljiva ne zadovolji ni jednu granu provere Case varijanti, ostale vrednosti se mogu svesti pod granu Case Else:
Dosadašnji načini ispitivanja su manje-više veoma često korišćeni. Interesantna funkcija za ispitivanje, koja se veoma retko koristi (verovatno zato što nije postojala u ranim verzijama Basica ili zbog svog ograničenja) je Switch. Funkcija Switch ispituje vrednost promenljive nalik na IIf, s tom razlikom da može operisati sa više alternativa, a maksimalno osam. Ova funkcija je prikladna za brzo konvertovanje teksta u brojeve i obrnuto. Ispitujemo ocene učenika 5, 4, 3, 2 i 1, pa dajemo tekstualni opis Odličan, Vrlo dobar, itd: Ocena: Switch (X=5,"Odličan, X=4,"Vrlo dobar", X=3,"Dobar", Funkcija Choose je zgodnija od funkcije Switch, ali samo ako se ispituje promenljiva koja ima numeričku vrednost. Ona nije ograničena u broju alternativa (ili barem u Helpu nije navedeno). Konvertovanje cifara ocena učenika u tekstualni oblik možemo izvesti ovako: Ocena: Choose ([X],"Nedovoljan","Dovoljan","Dobar","Vrlo Dobar","Odličan") gde promenljiva X programski dobija vrednosti od 1 do 5. Najfleksibilniji metod ispitivanja je upotreba Lookup tabele. Možete kreirati tabelu u kojoj će biti zapisani tekstualni podaci proizvoljne dužine, sa pridruženom šifrom (ID) prema kojoj će se kasnije, na osnovu kratke provere numeričke vrednosti, prozvati traženi podatak. Postoji mnogo načina da se "izvade" vrednosti iz takve tabele; često korišćena je funkcija DLookup. Ispitajmo vrednost polja [Ocena] forme [frmOcene] i dajmo tekstualni opis sadržane u polju [Opis ocene] tabele [tblOcene] DLookup("[Opis ocene]","tblOcene","[Ocena]="&Forms![frmOcene]![Ocena]) Ova funkcija (kao uostalom i sve ostale "domain aggregate" funkcije) radi relativno sporo, pa je preporučljivo da - kada god je to moguće - upotrebite neku od drugih nabrojanih procedura ili funkcija.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana. |