Microsoft Office Access
uređuje Branislav Mihaljev, MVP

 Office Praktikum | Mapa sajta 

 
Bookmark and Share
Matična strana sajta
Novo na sajtu
Mapa sajta
Beleške
Knjiga posetilaca
Kontakt

Prethodna stranica
Pretraga sajta
Pretraga MSKB

Blog Praktikuma
RSS feed 
 
Office Praktikum

Još o Accessu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

   

Sponzori sajta

  Connectivity by SBB
 
Connectivity by SBB

 

Informacije

NOVOSTI
Novi prilog o Wordu
Tri nova autorska članka
Četiri priloga o Accessu
Opis i uputstvo za alatku YuCirLat '08 (Word)

SADRŽAJ ZA PREUZIMANJE
YuCirLat '08 unapređena alatka za konverziju kodnih rasporeda u Wordu

SKREĆEMO PAŽNJU
Beleške: B(l)oga li ti tvoga!- prilog koji će nekog možda čak i da naljuti
Kako pretraživati MSKB
* a pronaći ćete i još mnogo novih sadržaja...

USKORO SERIJA ČLANAKA O OFFICEU 2010

POZIVAMO VAS
* i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.



  (C) 2000-2009 Praktikum na Webu
 

Tipovi grananja u Access programu

Nivo:  NIVO 3 - klinite za objašnjenje


Postoji nekoliko načina da definišete odlučivanje u svom programu u Accessu. Koji od njih je optimalan za trenutnu potrebu?

Svi koji se bave programiranjem koriste jednu od procedura za ispitivanje sadržaja neke vrednosti, kako bi na osnovu rezultata ispitivanja definisali grananje u odlučivanju u programu. Uobičajena (i najjednostavnija) procedura za proveru vrednosti je niz

If...Else...ElseIf...End If

Iza klauzule If može slediti više programskih redova ako je uslov zadovoljen, odnosno iza Else, ukoliko uslov nije zadovoljen. Ispitajmo ocene učenika i dajmo deskriptivan opis ocene:

If X = 1 Then
    [Ocena] = "Nedovoljan"
ElseIf X = 2 Then
    [Ocena] = "Dovoljan"
     ...
Else [Ocena] = "Greška!"
End If

Klauzula IIf (Immediate If) je nešto komplikovanija za shvatanje. 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 Select Case ... End Select petlje, 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 se najčešće koristi kod provere veće grupe opcija. Ukoliko promenljiva ne zadovolji ni jednu granu Case provere, ostale vrednosti se mogu svesti pod granu Case Else:

Select Case X
    Case X = 1
        [Ocena] = "Nedovoljan"
    Case X = 2
        [Ocena] = "Dovoljan"
    Case X = 3
        ...
    Case Else
        [Ocena] = "Greška!"
End Select

Dosadašnji načini ispitivanja se manje-više veoma često koriste. 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 tim da može operisati sa do osam alternativa. Ova funkcija je zgodna za brzo konvertovanje teksta u brojeve i obrnuto. Ispitujemo ocene učenika (od 5 do 1) i dajemo tekstualni opis Odličan, Vrlo dobar, itd:

Ocena: Switch (X = 5, "Odličan", X = 4, "Vrlo dobar", X = 3, "Dobar", X = 2, "Dovoljan", X = 1, "Nedovoljan")

(ovo bi trebalo da stane u jedan red)

Funkcija Choose je zgodnija od Switch, ali samo ako se ispituje promenljiva koja ima numeričku vrednost koja odgovara rednom nabrajanju (1, 2, 3,...). Ona nije ograničena u broju alternativa. Konvertovanje cifara ocena učenika možemo konvertovati u deskriptivni tekst:

Ocena: Choose ([X], "Nedovoljan", "Dovoljan", "Dobar", "Vrlo Dobar", "Odličan") 'gde X uzima vrednosti 1-5

(ovo bi trebalo da stane u jedan red)

Najfleksibilniji metod ispitivanja je upotreba Lookup tabele. Možete kreirati tabelu u kojoj će biti zapisani tekstualni podaci (dugački) sa pridruženom šifrom (ID) koje će se kasnije, na osnovu kratke provere numeričke vrednosti, prozvati po svojoj šifri. Postoji mnogo načina da se "izvade" vrednosti iz 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])

(ovo bi trebalo da stane u jedan red)

Iako načelno najmoćnija zbog svoje fleksibilnosti, ova funkcija (kao uostalom i sve ostale "domain aggregate" funkcije) radi nesrazmerno sporo u odnosu na direktno odlučivanje u If i Select Case klauzulama. Zato je preporučljivo da, kada god je to moguće, upotrebite neku od drugih nabrojanih procedura ili funkcija.

 

  (C) 2000-2009 Praktikum na Webu

Branislav Mihaljev, februar 2002.


 
 

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.