SADRŽAJ SADRŽAJ............................................................................................................................1 1. UVOD..............................................................................................................................2 BAZE PODATAKA - ACCESS.....................................................................................2 1.2 OSNOVNI ELEMENTI KREIRANJA BAZA U ACCESS-U.................................3 1.2.1 TABELE.............................................................................................................3 1.2.2 FORME...............................................................................................................4 1.2.3 UPITI..................................................................................................................5 1.2.4 IZVEŠTAJI.........................................................................................................5 2. ZADATAK......................................................................................................................7 2.1 OSNOVNE KARAKTERISTIKE APLIKACIJE.....................................................7 2.1.1 ULAZNI PODACI APLIKACIJE......................................................................7 2.1.2 INTERAKTIVNI RAD.......................................................................................7 2.1.3 ŠTAMPANI IZVEŠTAJI...................................................................................8 2.2 ANALIZA I ZRADA APLIKACIJE.........................................................................8 2.2.1 Relacioni model podataka...................................................................................9 2.2.2 Izrada tabela......................................................................................................13 2.2.3 Izrada formi, upita i izveštaja...........................................................................15 2.2.4 Izrada switchboarda..........................................................................................19 2.2.5 Moduli i VBA...................................................................................................21 3. ZAKLJUČAK................................................................................................................26
TEMA: ROBNO POSLOVANJE
1. UVOD BAZE PODATAKA - ACCESS
Baza podataka se definiše kao organizovan skup logički povezanih podataka (slogova) i datoteka koji se odnosi na slične pojmove ili predmete, organizovanih za određenu namenu. Znači, baza podataka predstavlja organizovanje podataka u takozvanoj integrisanoj formi gde podaci u bazi podataka mogu biti organizovani po više različitih obeležja po kojima je moguće primenom odgovarajućih mehanizama baze vršiti pretraživanja i nalaženje baš onih podataka koji su potrebni. Brigu o podacima, vezama među podacima, ispravnosti podataka i svemu ostalom na sebe preuzima sistem za upravljanje podacima u bazi podataka (DBMS – Database Management Sistem). Svi moderni sistemi za upravljanje bazama podataka koriste relacioni model podataka što znači da korisnik vidi bazu kao skup tabela sa slogovima, gde je i rezultat svake operacije nad sadržajem baze podataka takođe tabela. Pored toga relacioni model koristi veze, odnosno relacije (relationships) za povezivanje datoteka (tabela) baze podataka u strukturiranu celinu. Microsoft Access je sistem, odnosno program za upravljanje bazama podataka. Microsoft Access 2002 je verzija koja je dizajnirana za rad s Windowsima 95, 98/NT i XP, i stiže u okviru paketa Microsoft Office XP Professional. Ova verzija Access-a ne raditi na 16-bitnim verzijama Windowsa (Windows 3.x). Access omogućuje skupljanje, slaganje i organizovanje podataka kao i stvaranje izvještaja koji vode do poslovnih odluka. Glavne funkcionalne mogućnosti Access-a su sledeće: - Unos podataka direktno u bazu podataka ili uvoz podataka iz drugih programa. - Sortiranje, indeksiranje i organizacija podataka na način koji se želi. 2
Brzo stvaranje izvještaja ili priprema ispis nalepnica za pisma upotrebom svih ili samo dela podataka. - Kreiranje formi kako bi manje stručni korisnici mogli unositi nove podatke u bazu podataka. - Stvaranje upita koji će reziltirati izveštajem zavisno od uslova koji su postavljeni. -
1.2 OSNOVNI ELEMENTI KREIRANJA BAZA U ACCESS-U
Baza podataka kreirana u Access-u sastoji se od sledećih elemenata odnosno objekata: - tabele, - forme, - upiti i - izveštaji - makroi i VBA. Pored osnovnih elemenata Access baza može da sadrži i Data Access strane, makroe i/ili VBA module (Visual Basic for Application - programski jezik za programiranje operacija u Office aplikacijama). Svrha ovih elemenata je nadigradnja osnovnog oblika baze u cilju maksimalne moguće prilagođenosti baze ka njenom korisniku i ispunjenja posebnih zahteva korisnika. 1.2.1 TABELE
Osnovni elemenat svake baze podataka je tabela. Svaka tabela sarži kolone i redove a u njihovom preseku nalazi se polje ili ćelija u koje Access smešta karakterističan podatak. Red tabele predstavlja jedan slog koji sa svojim poljima daje grupu podataka čiji je karakter određen kolonama tabele. Definisanjem kolone, odnosno karaktera podatka koji će se slagati u koloni, polja u koloni se definišu i svrstavaju u određen tip, koji može biti: tekst, broj, datum/vreme, logičko polje, memo polje (polje u koga se može uneti tekst proizvoljne veličine), polje za unos brojeva u novčanom formatu, posebno polje u kome se automatski po započetom unosu sloga inkrementira 3
broj (polje AutoNumber), hiperlink polje (pokazivač na adresu na Internetu), OLE objekt polje (polje sa objektom povezanim iz drugog programa) i Look Up polje (polje čiji prikazani sadržaj se nalazi u drugoj tabeli).
Pri kreiranju baze podataka veoma je bitno postaviti tip polja, jer su pre svega, organizovanost podataka i veličina same baze u direknoj vezi sa ispravno postavljenim tipom polja. 1.2.2 FORME
Svi podaci koji se unose u bazu podataka završavaju u tabeli i spremni su za obradu. Pomalo je zamorno unositi podatke direktno u tabelu, te se kreiraju posebne maske tzv. forme kako bi se lakše unosili podaci. Forma omogućava stvaranje stranice kako bi se kasnije unosili željeni podaci na najjednostavniji način. Access povezuje formu i tabelu pa podaci koji se unesu u formu neposredno se slažu u tabelu formirajući novi slog tabele. Forma za unos podataka može sadržati slike, komandne
4
tastere (pritiskom na njih se aktivira neka komanda,...), može sadržati podformu itd. 1.2.3 UPITI
Upit je način skrivanja informacija koje se žele videti, a da bi se informacije koje se žele prikazati videle što jasnije. U tom smislu bitno je iz mnoštva podataka izdvojiti samo one koji su neophodni ne bi li se dobila egzaktna informacija. Tako se uz pomoć upita mogu filtrirati podaci kako iz jedne tako i iz mnoštva drugih tabela u okviru baze podataka.
Pored toga moguće je i ustanoviti kriterijume po kojima će se vršiti pretraga i sortiranje podataka. Rezultat svakog upita je, praktično jedna nova tabela sa novoformiranim slogovima po željenim kriterijumima. 1.2.4 IZVEŠTAJI
Izveštaji predstavljaju elektronski oblik klasičnih papirnih obrazaca koji se mogu gledati na ekranu ili štampati na papir. Podaci prikazani u
5
izveštaju mogu biti izvedeni iz tabela ili iz upita (filtrirani podaci). Kreiranje izveštaja je veoma slično dizajniranju formi. 1.2.5 MAKROI I MODULI Makroi i moduli predstavljaju dva alata za kreiranje elemenata baze podataka pisanjem programa. Nije retkost da se javlja potreba za formiranjem funkcija koje ne postoje u Accessu, ili se grupe funkcija moraju vezati u jedu celinu, pa se za razvijanje i automatizovanje baze podataka mora pristupiti pisanju programa. Makroima se iz konačnog skupa funkcija i naredbi automatizuje rad baze, oni se uglavnom koriste prilikom aktiviranja nekog objekta ili događaja na objektu. Međutim, korišćenje makroa se u novijim aplikacijama izbegava, jer se puna sloboda i funkcionalnost ostvaruju tek kreiranjem i upotrebom modula. Objekat, modul predstavlja niz procedura i funkcija koje nisu napisani za neke konkretne forme ili izveštaje. Access poseduje mogućnost direktne upotrebe Visual Basic-a u svrhu kreiranja modula.
6
2. ZADATAK 2.1 OSNOVNE KARAKTERISTIKE APLIKACIJE
ROBNO POSLOVANJE je aplikacija koja obezbeđuje sve evidencije o stanju i prometu roba, neophodnih za organizovano i ažurno vođenje zaliha. Ova aplikacija prati kretanje roba po stvarnim nabavnim vrednostima, sa mogućnošću preračunavanja cena u skladu sa poslovnom politikom preduzeća. Takođe se obezbeđuje delimičan ili potpuni otpis roba, a obrađuje i evidenciju kretanja roba po vrsti i mestima prodaje. Aplikacija podržava obrade sa više subjekata i više skladišta. 2.1.1 ULAZNI PODACI APLIKACIJE
Matični podaci roba, Početno stanje roba, Prijemnice, višak po inventaru i povratnice izveštaji, Izdatnice, manjak po inventaru i otpremnice, Rashodovanje roba oštećenih u transportu i manipulaciji, - Povraćaj roba od kupca. -
2.1.2 INTERAKTIVNI RAD
Glavni meni aplikacije ROB obezbeđuje: -
-
Unos i ažuriranje matičnih podataka roba, Knjiženje svih vrsta prometnih promena, Upite na ekranu, Preglede na štampaču, Prelazne i završne obrade, automatsko otvaranje i dr., Sistemsko spašavanje i rekonstrukcija podataka.
7
2.1.3 ŠTAMPANI IZVEŠTAJI
- Bilans roba, - Promet po subjektima, mestima prodaje, skladištima - Pregled prometa po vrsti robe, kupcu, periodu - Dnevnik ulaza-izlaza roba, - Analitička evidencija-kartoteka roba, - Stanje svih zaliha po artiklima unutar skladišta, - Izveštaj o stanju i otpisu roba, - Pregled početnog stanja, - Pregled stanja pre i posle inventara, višak, manjak, - Popisna lista.
2.2 ANALIZA I ZRADA APLIKACIJE
Na osnovu dobijenog zadatka a sa ciljem što efikasnijeg rada baze podataka potrebno je izvršiti analizu toka podataka. U tu svrhu formiran je grafički prikaz hijerarhije funkcija ne bi li se sagledao tok podataka odnosno obuhvatili svi neophodni elementi da bi aplikacija funkcionalno zadovoljavala sve potrebne zahteve a da pri tom nema udvajanja, odnosno redudantnosti podataka. Dijagram konteksta predstavlja prvi, najviši hijerarhijski nivo dijagrama toka podataka na kojem se u obliku jedne, jedinstvene funkcije, prikazuju veze procesa iz sistema koji se analizira sa okruženjem. Pomoću dijagrama konteksta definišu se granice, sadržaj globalnih ulaznih i izlaznih podataka i sama razmena podataka sa njihovim ekstremnim nosiocima. Dijagram konteksta predstavlja, u suštini, dijagram toka podataka na najvišem nivou apstrakcije podataka i formalizam njegove izrade svodi se u potpunosti na formalizam dijagrama toka podataka, s tim što je kod dijagrama konteksta obavezno označavanje svih prijemnika, predajnika i promo-predajnika podataka, dok dok je kod dijagrama toka podataka opciono.
8
Na narednom grafiku prikazan je kontekst dijagram, koji određuje granice aplikacije i zadatku koji treba da se ispuni za kreiranje aplikacije robnog poslovanja. Robno poslovanje
Promet
Pregledi i izveštaji
Šifarnici
Unos
Roba
Izmen a
Komintent
Magacina
Opština
Rad sa korisnicima
Izveštaj i
Spas podataka
Bilans roba Promet po...
Grua roba
Administracija
Dnevnik u-i
Pregledi Pregled početnog stanja
Kartoteka Svih zaliha
Pr. Stanja pre i posle inventara
2.2.1 Relacioni model podataka
Na osnovu definisanog projektnog zadatka a u cilju što efikasnijeg manipulisanja podacima, uzimajići u obzir činjenicu da može biti više desetina hiljada podataka, potrebno je izvršiti organizaciju podataka. U tu svrhu koristi se metod E-R modelovanja podataka. Ovaj model omogućuje analitičaru da identifikuje objekte i njihove veze. U smislu strukturne analize, ovakvo modelovanje pruža detalje u vezi skladišta podataka i njihovih veza prema procesima prikazanim u modelu toka podataka. Osnovna karakteristika ovakvog modelovanja je kreiranje entiteta odnosno pojma za koji postoji interes da se posmatra, odnosno da se posmatraju neke od njegovih osobina. Te osobine nazivaju se obeležja ili atributi. Svaki od entiteta sadrži određen skup osobina gde svaka konkretna
9
vrednost obeležja iz skupa osobina čini podatak. Takođe u skupu obeležja postoji podskup koji se naziva identifikator entiteta odnosno primarni ključ. Svi ostali atributi iz formiranog skupa dodatno opisuju entitet i mogu se po potrebi pojaviti kao sekundarni ključevi. Entiteti se dele na objekte, osobine i veze. Ulogu objekta obično preuzimaju čvrsti (primarni) elementi sistema koji ne zavise od drugih primarnih elemenata, ali i objekti koji su u određenom stepenu zavisni od drugih. Osobine opisuju objekat koji se posmatra, dok su veze posebni entiteti ili pridružene osobine koji povezuju dva ili više objekata. Na osnovu E-R modela identifikovani su sledeći entiteti sa pripadajućim atributima: Entitet: ROBA RED. BROJ 1. 2. 3. 4. 5.
ATRIBUT IDROBE IDGRROBE NAZIVROBE JEDINICA PAKOVANJE
TIP PODATKA AUTONUMBER NUMBER TEXT TEXT TEXT
PRIMARNI KLJUČ
Entitet: GRUPA ROBE RED. BROJ 1. 2.
ATRIBUT IDGRROBE OPISGRROBE
TIP PODATKA NUMBER TEXT
PRIMARNI KLJUČ
Entitet: KOMINTENT RED. BROJ 1. 2. 3. 4. 5. 6.
ATRIBUT IDKOMINTENTA IME ADRESA TELEFON KONTAKTOSOBA TRASAKCIONIRACUN
TIP PODATKA AUTONUMBER TEXT TEXT NUMBER TEXT NUMBER
PRIMARNI KLJUČ
10
Entitet: MAGACIN RED. BROJ 1. 2. 3. 4.
ATRIBUT SIFRAMAGACINA LOKACIJA SIFRALOKACIJE POSTANSKIBROJ
TIP PODATKA NUMBER TEXT NUMBER NUMBER
PRIMARNI KLJUČ
Entitet: MESTA RED. BROJ 1. 2. 3.
ATRIBUT POSTANSKIBROJ NAZIV SIFRAOPSTINE
TIP PODATKA NUMBER TEXT NUMBER
PRIMARNI KLJUČ
Entitet: OPŠTINE RED. BROJ 1. 2. 3.
ATRIBUT SIFRAOPSTINE NAZIV POSTANSKIBROJ
TIP PODATKA NUMBER TEXT NUMBER
PRIMARNI KLJUČ
Entitet: PROMET RED. BROJ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
ATRIBUT IDPROMET IDROBE IDKOMINTENTA IDMAGACINA DATUMSTAVKE KOLICINA JEDINICNIIZNOS SALDO STANJE IDTRANSAKCIJE BROJDOKUMENTA VRSTADOKUMENTA
TIP PODATKA AUTONUMBER NUMBER NUMBER NUMBER DATE/TIME NUMBER NUMBER NUMBER NUMBER NUMBER TEXT NUMBER
PRIMARNI KLJUČ SEKUNDARNI KLJUČ SEKUNDARNI KLJUČ SEKUNDARNI KLJUČ SEKUNDARNI KLJUČ
11
Entitet: TRANSAKCIJE RED. BROJ 1. 2. 3. 4.
ATRIBUT IDTRANSAKCIJE OPISTRANSAKCIJE ULAZIZLAZ TIP
TIP PODATKA NUMBER TEXT NUMBER TEXT
PRIMARNI KLJUČ
TIP KOMINTENTA
Entitet: DOKUMENTI RED. BROJ 1. 2. 3. 4.
ATRIBUT IDDOKUMENTA OPISDOKUMENTA OPSEGOD OPSEGDO
TIP PODATKA NUMBER TEXT NUMBER NUMBER
PRIMARNI KLJUČ
Entitet: POPIS RED. BROJ 1. 2. 3. 4. 5.
ATRIBUT IDROBE NAZIVROBE JEDINICA KOLICINA DATUMPOPISA
TIP PODATKA NUMBER TEXT TEXT NUMBER DATE/TIME
PRIMARNI KLJUČ
Do kraja, definisano je deset entiteta sa definisanim atributima kao i njihovim tipovima podataka gde se za svaki entitet utvrdio primarni a za neke i sekundarni ključevi. Da bi se eliminisala redundantnost podataka, posebna oblast pri projektovanju baze podataka je normalizacija (prva, druga, treća, četvrta i peta) forme podataka. Nakon normalizacije grubo formirane tabele dobijaju znatno funkcionalniju formu. U konkretnom zadatku tabela promena ulaza i tabela promena izlaza spajaju se u jednu tabelu koja obuhvata sve neophodne elemente dok se redudantnost gubi. Veze, odnosno relacije između ovih entiteta prikazani su na sledećoj slici.
12
2.2.2 Izrada tabela
Nakon izvršene prve normalizacije dobije se broj i veze između tabela kao što je prikazano na predhodnoj slici. Matična tabela je tabela roba. Ona sadrži sve neophodne atribute robe dok svi ostali elementi direktno vezani za robu kao što su grupa roba i elementi početnog stanja odnosno popisa robe su svrstani u posebne tabele a putem jedinstvenog ključa direktno vezani za tabelu roba. Tabela prometa je u stvari najkompleksnija jer ona obuhvata elemente iz svih tabela. Iz tog razloga, 13
formirana je na takav način da pored primarnog ključa IDPROMET ima četiri strana ključa i to: IDROBE, IDKOMINTENTA, IDMAGACINA i DATUMSTAVKE. Pored ključeva tabela sadrži još i atribute kao što su: količina, jedinični iznos, saldo, tip transakcije, broj dokumenta i vrsta dokumenta. Po karakteru podatka (Data Type) polja su definisana na sledeći način: polje IDPROMET definisan je kao AutoNumber dok polja stranih ključeva izuzev polja DATUMSTAVKE koji je definisan kao Date/Time, definisani su kao Number iako su u tabelama u kojima predstavljaju primarni ključ AutoNumber, jer se oni u ovu tabelu samo pozivaju. Polja količina, jedinični iznos, saldo, tip transakcije, broj dokumenta i vrsta dokumenta se definišu kao Number. Sve tabele su kreirane korišćenjem Design View -a mada Access dozvoljava kreiranje tabela i uz pomoć čarobnjaka (Create table by using wizard), importovanjem tabela iz Microsoft Excela - Import Table ili Link Table - čarobnjak koji kreira tabelu koja je "povezana" (znači da ta tabela nije u bazi koja se kreira već u nekoj drugoj, ali je moguće pozvati iz baze koja se kreira) sa nekom tabelom iz spoljne datoteke. Kroz primer definisanja tabele prometa prikazan je način definisanja svih tabela koje su formirane za potrebe kreiranja ove aplikacije. Kreirano je deset tabena sa definisanim primarnim ključevima, kolonama i definisanim poljima unutar tabela. Kao rezultat ovog dela projektovanja aplikacije stvorena je osnova za nastavak razvoja aplikacije jer sada je moguće formirati sve ostale elemente koji čine jednu aplikaciju odnosno formirati forme za unos podataka, upite i izveštaje.
14
2.2.3 Izrada formi, upita i izveštaja
Na osnovu kreiranih tabela potrebno je formirati forme za unos podataka. Naravno da se podaci mogu direktno unositi u tabele, ali potrebno je omogućiti lak i ne smetan unos podataka koji mogu da koriste i priučeni operateri na krajnje jednostavan način. U tu svrhu kreiraju se forme koje sadrže sve elemente jednog sloga tabele ali imaju mnogo prijatniji izgled. Forma je komponenta baze podataka čija je funkcija interakcija sa korisnikom. Korisnik ne vidi tabele već forme. Forme se koriste za: unos podataka, stvaranje "switchboard"-a tj. forme iz koje se otvaraju druge forme, pokreću upiti i tabele, - stvaranje "dialog boxes"-a (upitnika) za primanje korisničkog unosa i onda se na osnovi tog unosa nastavljaju akcije (primer je dialog box kod parametarskih upita). -
Kao i kod kreiranja tabela, Access nudi više mogućnosti za kreiranje formi: -
-
-
-
Design view – stvaramo formu od praznog prozora forme, moramo sam kreator dodavati sve kontrole na radnu površinu. Izgled forme zavisi potpuno od autora i njegovim potrebama Form wizard – čarobnjak pomoću kojeg se može izgraditi osnovni tipovi formi uključujući i subforme. Auto form : Colomunar – čarobnjak koji automatski stvara formu, a kontrole slaže u redove. Auto form : Tabular – čarobnjak koji automatski stvara formu, a kontrole slaže u kolone. Auto form : Datasheet – čarobnjak koji automatski stvara formu u obliku tabele. Chart Wizard – čarobnjak koji pravi grafove iz odabranih polja i stvara formu sa tim grafom. Pivot table wizard – čarobnjak koji stvara formu sa Excelovom tabelom.
Forme za ovu aplikaciju kreirane su uz pomoć čarobnjaka ali nakon što su kreirane korišćenjem dizain opcije poboljšavani su neki elementi kako 15
bi forme dobile na lepšem izgledu ali i funkcionalnocti (dodavanjem tastera za izlaz iz forme). Za potrebe ove aplikacije kreirano je deset formi od kojih devet služe za direktno unošenje podataka u tabele, dok je jedna forma kreirana kao forma za unos kriterijuma za pretraživanje odnosno kriterijume za upite.
Unošenjem podataka kroz forme popunjava se baza i tada se stvara mogućnost za pretraživanje podataka po različitim kritetijumima. U tu svrhu formiraju se upiti odnosno Query. Dakle, upit je komponenta baze podataka kojom se koristimo kada se želi naći, izvući i/ili promeniti određeni podatak ili grupa podataka, iz jedne ili više tabela, pored toga oni se mogu koristiti kao podloga za izveštaje ili forme. Baš kod kreiranja upita najviše do izražaja dolaze ključevi koji su definisani pri formiranju tabela. Oni sada omogućuju da se iz tabela mogu izdvajati samo pojedini atributi, i time se umnogome olakšava i ubrzava pretraga podataka. Takođe, kao i kod tabela za kreiranje upita otvorita se upit grupa i odabira New gde Access nudi takođe više izbora za način kreiranja upita, i to: Design View – Otvara prazan upit u koji autor sam postavlja polja koja želi u njemu. - Simple query wizard – Čarobnjak koji ubrzava i pojednostavljuje proces, odabira polja u upitu (preporučeno korištenje). - Crosstab query wizard – Čarobnjak koji kreira crosstab upite. - Find Duplicates query wizard – Čarobnjak koji stvara upit iz jedne tabele ili upita, a prikazuje redove koji imaju istu vrednost u nekom polju. -
16
-
Find Unmached query wizard – Čarobnjak koji traži redove iz jedne tabele koji nisu povezani ni sa jednim redom u drugoj tabeli.
Za potrebe ove aplikacije kreirano je trinaest upita najvećim delom za filtriranje podataka namenjenih formiranju izveštaja ali i kao pomoćni podatak na formama koji, konkretno, daje podatak o trenutnom stanju materijala na zalihama.
U okviru upita (polje Criteria) mogu se definisati konkretni kriterijumi gde se dodatno filtriraju podaci gde se unosom teksta u uglaste zagrade u datom polju pri otvaranju upita pojavljuje prozor sa naredbom za unos parametarske veličine.
17
Takođe, moguće je i formiranje formi koje će olakšavati unos kriterijuma za pretraživanje i sortiranje gde se na jednoj formi mogu uneti više kriterijuma za više upita. Za potrebe ove aplikacije kreirana je jedna takva forma iz koje je unosom karakterističnih vrednosti moguće formirati tri različita upita.
Pored uvođenja kriterijuma pri kreiranju upita moguće je korišćenje kako prostih tako i složenijih matematičkih funkcija unutar izvedenih podataka putem pretrage. Izveštaji se koriste kada se želi neka grupa podataka, najčešće dobijena kroz upite, pripremiti za štampu. U osnovi izveštaj se ne razlikuje mnogo od forme, izuzev što je u izveštaju moguće samo gledati podatke. Izveštaji se kreiraju na isti način na koji se kreiraju i forme, znači uz pomoć čarobnjaka ili direktno u Design wiev-u gde kreator aplikacije ima veću slobodu pri grafičkom uređivanju tj. slobodnije može stavljati slike, birati izgled i boju fonta,... Pored toga u samom izveštaju moguće je računati sume, proseke, izvoditi totale, itd.
18
Za potrebe ove aplikacije kreirano je dvanaest izveštaja i to tako da se osnovna forma izveštaja kreirala uz pomoć čarobnjaka a potom detalji korigovani u Design wiev-u.
2.2.4 Izrada switchboarda
Nakon što su na osnovu kreiranih tabela formirane forme, upiti i izveštaji potrebno ih je objediniti u jednu jedinstvenu celinu, odnosno kreirati korisnički interface gde će na jednoj masci na ekranu korisnika biti omogućeno lako i jednostavno korišćenje elemenata baze. U tu svrhu Access omogućava kreiranje forme, odnosno SWITCHBOARD-a. Ova forma kreira se tako da pokretanjem baze automatski se pokrece Switchboard i program je aktiviran. 19
Na početnoj masci može se kreirati takav raspored funkcija pozivanja elemenata baze da zadovoljava šelje i/ili potrebe korisnika u zavisnosti šta se želi raditi. Ako se, pri projektovanju aplikacije sadržaj i raspored elemenata aplikacije usmerava ka korisniku tada je na prvoj strani potrebno postaviti pre svega one elemente baze koji se najčešće koriste u radu a pored toga bitno je i kreirati logičke celinegde će se otvoriti mogućnost orvaranja podmaski sa svim elementima koji čine jednu celinu. Po navedenoj formuli formipanja maske na Switchboard-u na prvoj strani redom pozivaju se prvo forme PROMET ROBE, ROBA i KOMINTENTI gde se direktno otvaraju forme za unos podataka u bazu kao elementi aplikacije koji se izuzetno često koriste u radu. Potom, slede ŠIFARNICI, IZVEŠTAJI i POPIS ROBE – INVENTAR kao elementi aplikacije koji su grupisani u funkcionalne celine koji otvaraju nove maske sa sadržajem koji čini tu oblast npr POPIS ROBE – INVENTAR sadrži sledeće elemente POPISNA LISTA, PREGLED STANJA VIŠAKMANJAK i UNOS POČETNOG STANJA kao elemente maske. Naravno iz svake pod maske postoji i opcija vraćanja na glavni meni dok na glavnom meniju postoji opcija izlaska iz aplikacije.
20
2.2.5 Moduli i VBA
Kao što je već na početku pomenuto pored osnovnih elemenata Access baza može da sadrži i Data Access strane, makroe i/ili VBA module (Visual Basic for Application - programski jezik za programiranje operacija u Office aplikacijama). Svrha ovih elemenata je nadogradnja osnovnog oblika baze u cilju maksimalne moguće prilagođenosti baze ka njenom korisniku i ispunjenja posebnih zahteva korisnika. Za potrebe ove aplikacije pri projektovanju korišćene su procedure kucane u VBA i to za sledeće slučajeve: 1. Dvoklikom na polje ID GRUPA ROBE u formi za unos podataka
robe otvara se forma za unos podataka grupe robe a da se pri tom forma za unos podataka robe ne zatvara.
Ova procedura znatno olakšava sam rad u aplikaciji jer već započet posao unošenja podataka u polja forme robe se ne prekida ukoliko slučajno ne postoji izbor grupe robe u padajućem meniju na formi roba. Dvoklikom na polje ID GRUPA ROBE otvara se forma za unos podataka grupe robe i nakon što se unesu novi podaci forma grupe robe se zatvara i nesmetano se nastavlja unos podataka u formu robe. Za izvršenje ove procedure potrebno je programirati polje padajućeg menija ID GRUPE ROBE sledećim kodom:
21
2. U formi promet robe procedura u polju padajućeg menija ID
ROBE čiji je zadatak da u slučaju da je došlo do ne slaganja između šifre robe i naziva robe upozori operatera porukom. Kod za ovu proceduru ima sledeći oblik: Private Sub IDROBE_LostFocus() Dim RS As ADODB.Recordset Dim STRSQL As String STRSQL = "SELECT TBL_PROMET.STANJE, MAX(DATUMSTAVKE)" & _ " FROM TBL_PROMET WHERE TBL_PROMET.IDROBE=" & IDROBE & " GROUP BY TBL_PROMET.STANJE" Set RS = New ADODB.Recordset RS.Open STRSQL, g_cn, adOpenStatic If RS.EOF Then 22
MsgBox "Neispravna sifra" Exit Sub Else STANJE = RS(0) End If End Sub 3. U formi promet robe procedura čiji je zadatak da nakon što se unesu podaci vezani za određen tip robe u polju trenutna količina pokaže koliko je trenutno stanje artikla i da u slučaju pokušaja smanjenja količine upozori da ta transakcija nije moguća.
Kod za ovu proceduru ima sledeći oblik: Private Sub Form_BeforeUpdate(Cancel As Integer) If TIPTRANSAKCIJE.Column(2) = -1 Then STANJE = STANJE - KOLICINA If STANJE < 0 Then 23
MsgBox "NA LAGERU NE POSTOJI TOLIKA KOLICINA ROBE!" STANJE = STANJE + KOLICINA Cancel = 1 End If Else STANJE = STANJE + KOLICINA End If End Sub 4. U formi IZVEŠTAJ PO VRSTI ROBE, KUPCU I PERIODU
komandnim dugmićima su date procedure otvaranja konkretnih izveštaja sa parametrima zadatim u predhodno popunjenim poljima.
Kod za ove procedure ima sledeći oblik: Private Sub CMDKUPAC_Click() DoCmd.OpenReport "RPT_POKUPCU", acViewPreview, , "IME='" & IME & "'" End Sub Private Sub CMDPERIOD_Click() 24
DoCmd.OpenReport "RPT_PROMEToddo", acViewPreview, , "DATUMSTAVKE BETWEEN FORMAT$('" & DATUMOD & "','DD MM YYYY') AND FORMAT$('" & DATUMDO & "','DD MM YYYY')" End Sub Private Sub CMDVRSTA_Click() DoCmd.OpenReport "RPT_PROMETPOVRSTI", acViewPreview, , "NAZIVROBE='" & Combo19 & "'" End Sub 5. U svim formama na dodatim komandnim dugmićima su date
procedure za unos novog sloga u bazu podataka, kao i za izlaz iz fome u kojoj se korisnik nalazi. Kod za ove procedure ima sledeći oblik: Private Sub Command14_Click() On Error GoTo Err_Command14_Click DoCmd.Close Exit_Command14_Click: Exit Sub Err_Command14_Click: MsgBox Err.Description Resume Exit_Command14_Click End Sub Private Sub Command15_Click() On Error GoTo Err_Command6_Click DoCmd.GoToRecord , , acNewRec Exit_Command6_Click: Exit Sub Err_Command6_Click: MsgBox Err.Description Resume Exit_Command6_Click End Sub 25
3. ZAKLJUČAK Baze podataka danas predstavljaju neizbežan alat u poslovanju svake firme. Laka dostupnost bazama (Access u okviru Microsoft Office-a) uslovila je da praktično ne postoji firma koja nema ma kakvu bazu podataka što je i pokazano ovim seminarskim radom da se na vrlo jednostavan način može kreirati baza podataka koja može da zadovolji većinu prosečnih korisnika. Ovim seminarskim radom želelo se pokazati osnonovni elementi kreiranja aplikacije ROBNO POSLOVANJE. Aplikacija sadrži samo osnovne elemente robnog poslovanja ali ostaje otvorena za sve vrste dorada i dopuna ne bi li se mogla direktno primeniti i prilagoditi željama i potrebama konkretnog poslovanja.
26