Microsoft Office Access |
|
|
Događaji koji se nisu desiliNivo:
Malo primenjene tehnike može puno da znači u eksploataciji neke aplikacije. Evo jednog studijskog primera koji možete pretočiti u praksu: ovako ćete svojim rukovodiocima dati korisne podatke... U Accessovu bazu uglavnom upisujemo događaje koji su se desili (narudžbine proizvoda, iznajmljivanje CD-ova...). Izdvojiti kupce koji su u nekom vremenskom periodu kupili neki proizvod je lako - dovoljno je da kreirate upit koji će grupisati kupce po imenu ili šifri u zadatom vremenskom periodu, a na osnovu tog upita ćete potom generisati izveštaj. U situaciji kada imamo zadatak da pronađemo kupce koji nisu ništa kupili (recimo, da bismo im odbili rabat) ili proizvode koje nismo prodali u određenom vremenskom periodu (da bismo korigovali proizvodnju ili da bismo izbegli gomilanje zaliha) proces je nešto komplikovaniji. Koristićemo za primer bazu Northwind.mdb koja se instalira uz Access 2000, a tražićemo kupce koji nisu ništa kupili u određenom vremenskom periodu. Prikazano rešenje važi za sve verzije Accessa. Ideja je da iskoristimo dve liste: jednu u kojoj ćemo imati sve kupce i drugu sa narudžbinama. Iz ove dve liste generisaćemo traženu listu izdvajanjem kupaca čiji ID brojevi ne postoje u drugoj listi. Kreirajmo upit i u njega uključimo tabelu Orders sa prikazom dva polja - šifre potrošača CustomerID i datuma narudžbine OrderDate. Postavimo filter kriterijum na polje OrderDate na vremenski interval:
Evo kako bi to izgledalo na slici:
Ovaj kriterijum može biti i dinamički, takav da se po svakom pokretanju upita zahteva unos datuma. U tom slučaju za kriterijum upišimo
Pokrenimo upit i pogledajmo rezultat. Dobili smo 408 zapisa od kojih su neki kupci naručivali i po nekoliko puta. Da bismo sveli listu na na uniformne nazive kupaca promenićemo osobinu UniqueValues upita. Vratimo se u dizajn-pogled upita i kliknimo desnim tasterom miša u sivi prostor okolo tabele Orders. Iz skraćenog menija odaberimo stavku Properties. Na kartici osobina našeg upita promenimo vrednost UniqueValues u Yes. U upitu isključimo prikazivanje polja OrderDate.
Pokrenimo ponovo upit i pogledajmo rezultat: prikazano je 86 kupaca. Zatvorimo i snimimo upit pod imenom qryKupci1997 kako bismo mogli kasnije da ga iskoristimo. Kreirajmo drugi upit i u njega uključimo tabelu Customers i upit qryKupci1997. Access će pretpostaviti da želimo da uspostavimo relaciju između polja istog naziva i sam postaviti relaciju između ID brojeva kupaca - tabele i upita CustomerID. Ukoliko se to ne desi, prevucimo polje CustomerID iz tabele na isto polje upita. Relacija koju smo na ovaj način uspostavili kazuje Accessu da prikaže samo one podatke koji se pojavljuju u obe tabele. Ovu relaciju ćemo promeniti, zahtevajući da se prikažu svi podaci iz tabele Customers. Selektujmo desnim tasterom liniju relacije između tabele i upita i iz skraćenog menija odaberimo JoinProperties. U narednom prozoru odaberimo stavku 2 i potvrdimo izbor (kreiramo Outer Join).
U izlazna polja upita postavimo dva polja iz tabele Customers: CustomerID i CompanyName, a iz upita qryKupci1997 postavimo jedino polje CustomerID. Pokrenimo upit i pogledajmo rezultat.
Upit će vratiti sva polja iz tabele Customers, a za zapise koje ne postoje na drugoj strani relacije upit će vratiti prazno polje. Preostaje nam da postavimo kriterijum na kolonu iz upita tako da se prikažu samo polja upita qryKupci1997 u kojoj ne postoje vrednosti. U kriterijum polja CustomerID upita qryKupci1997 postavićemo vrednost Is Null.
Na kraju, pokrenimo upit i pogledajmo rezultat. Dobili smo spisak svih kupaca koji nisu ništa kupili u zadatom vremenskom intervalu. Ovakav upit može biti od neprocenjive vrednosti u menadžmentu, a može poslužiti dalje kao izvor podataka za formular ili izveštaj.
|
|
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. |