access primjena i primjer
TRANSCRIPT
Šikanjić Slaviša
Uputstvo osnova i primjene Access-ove baze za pravljenje aplikativnog software-a
Baza Microsoft Office Access 2003,
Tema Objekti MS Accessa. Radno okruženje. Tabele. Forme.
1.1 Objekti MS Access-a
MS Access spada u grapu programa za upravljanje bazama podataka i
omogućava projektovanje, razvoj i korišćenje baza podataka manjeg obima. Za baze
podataka većeg obima se koriste relacioni sistemi za upravljanje bazama podataka kao
što su MS SQL Server, Oracle, DB2. Podaci koji se obrađuju mogu biti raznorodni, ali
treba da obuhvate sve što je, za korisnika baze podataka potrebno za zaokruženje
određenog posla.
Baza podataka u MS Access-u se čuva kao “mdb” fajl i može da sadrži sledeće
vrste objekata:
Tabela (Table) je osnovni tip objekta u bazi i predstavlja izvor podataka. To su prvi objekti koji se kreiraju u bazi. U tabelama se čuvaju podaci, organizovani upolja (kolone, eng.Fields). Sva definisana polja čine slog (zapis, red, eng.Record). Kvalitetna organizacija podataka u tabelama baze, kao i njihovim dobrimvezama (relacionom modelu) je preduslov za pravljenje uspešnog informacionogsistema.
Upit (Query) je tip objekta za pretraživanje, upisivanje i brisanje podataka.Upiti seprave nad tabelama ili drugim upitima, u cilju njihovog ažuriranja kroz obrasce ilipregleda kroz izveštaje (na ekranu ili štampaču).Upiti mogu da izvlače podatke izjedne tabele, ili da se vrši spajanje podataka ili više tabela ili drugih upita. Izradaformi i izveštaja zahteva kombinovanje upita i tabela, pa se njihovo kreiranje možeznatno ubrzati samo pod uslovom da su izvori podataka (tabele i upiti) dobrokreirani.
Obrazac (Form) omogućava unos i prikazivanje podataka u formatu koji podseća na obrasce u kojima treba popuniti prazna mesta. Obrasci mogu biti jednostavni,nad jednom tabelom ili složeni sa pod obrascima (engl. subforms), potom im semogu dodati funkcionalnosti automatskog pretraživanja i filtriranja, kao i dodatnagrafička rešenja.
Izveštaj (Reports) služe za pregledanje i štampanje podataka. Kao i obrasci,izveštaji mogu da budu jednostavni, ali i veoma kompleksni. Primeri izvštaja su:spiskovi, hronološki pregled poslovanja, cirkularna pisma, nalepnice sa adresamai fakture. Izveštaji podatke uzimaju iz tabela, ali češće iz upita. U izveštajima sepodaci predstavljaju u obliku koji je lak za pregled, razumljiv i gde se mogu brzouočiti greške.
Web stranice za pristup podacima (Data Access Pages), omogućuju kreiranje složenih obrazaca na Intranetu kompanije koji su povezani s podacima u bazi.Hiperveze omogućavaju pristup podacima koji su objaviljeni na Webu, direktno izMS Access obrazaca. U praksi se retko koristi jer za ovakvo objavljivanje
Seminarski rad 1
Šikanjić Slaviša
podataka postoje mnogo bolji alati i tehnologije od MSAccessa.
Makro (Macro) je niz MS Access komandi koji se koristi kada nekoliko komandi (određenim redosledom) treba pozvati na više mesta u aplikaciji, a obično naformama. Kada se pokrene makro, izvršavaju se sve naredbe makroa u redosleduu kom su akcije navedene. Bez pisanja programskog koda se tako mogu definisati makroi koji automatski otvaraju obrasce za bazu podataka, štampaju izveštaje, obrađuju podatke. Makroi olakšavaju sastavljanje skupova tabela upita, obrazaca i izveštaja u kompletne aplikacije za korisnike koji ne znaju ništa o MS Access-u. Makroi se izbegavaju uprofesionalnim MS Access aplikacijama, jer se oni ne mogu kompajlirati, pa nedaju mogućnosti kreiranja aplikacije.
Modul (Module) kao i makro omogućava automatizaciju, ali mnogo napredniju,jer se u njemu, kao razvojna platforma, koristi VBA, u obliku procedura tipa Sub iFunction, koje su na raspolaganju celom projektu. Za razliku od makroa moduli omogućavaju precizniju kontrolu nad preduzetim akcijama i zahtevaju iskustvo uprogramiranju u VBA (Visua/ Basic for Applications). VBA ne spada u programkursa, ali se zainteresovanim može organizovati dodatna nastava u okvirukonsultacija.
1.2. Radno okruženje
Pokretanjem MS Access-a, (Start -> Al Programs -> Microsoft Office -> Microsoft
Access) dobija se dijalog kao na slici 1.1. i izborom “Create New File” detalj prikazan
desno na slici.
Slika 1.1. Ulazni panel MS Accessa
Sistem menija i paleta alatki u MS Access-u funkcioniše na sličan način kao i
Seminarski rad 2
Šikanjić Slaviša
ostalim programima Microsoft Office-a, dok se sve ostalo smatra radnom površinom u
kojoj se razvija i izvršava MS Access aplikacija. Na dnu prozora smeštena je statusna
linija (Status bar) sa dodatnim informacijama o tekućem objektu i o tasterima Insert,
Num Lock, Caps Lock, Scrol Lock,...
Po otvaranju neke MS Access baze podataka na ekranu se pojavljuje Database
Window. On omogućuje izbor jednog od šest (sedam) tipova objekata aktivne baze
podataka, kao i režim (mod) rada u njima:
Open -otvaranje postojećeg,
Design - izmena postojećeg,
New - kreiranje novog objekta.
Na slici 1.2 je prikazan radni prozor MS Access baze preko kojeg se otvaraju
kartice željenih tipova objekata, i biraju komande koje se često koriste.
Slika 1.2. Radni prozor Access-a sa prikazanim tabelama
Kod izveštaja opcija Open je zamenjena odgovarajućom opcijom Preview (kojom
se on otvara za pogled), a kod makroa i modula opcijom Run (kojom se on pokreće).
Desnim klikom na objekat se dobijaju sve opcije rada sa objektom, pa ovaj način
treba koristiti kod otvaranja objekata za bilo kakvu obradu.
Seminarski rad 3
Šikanjić Slaviša
Sistem menija
File meni, osim standardnih stavki, sadrži: Get External Data omogućuje uvoz
(Import) ili povezivanje (Link Tables) tabela iz druge baze ili kompatibilnog izvora
podataka. Koristeći isti dijalog može se uvesti i bilo koji objekat iz druge MS Access
baze. Save As/ Export omogućava čuvanje nekog od MS Access objekata, pod drugim
imenom u tekućoj ili drugoj bazi, kao i u obliku tabele u formatu druge aplikacije.
Database properties je spisak svojstava MS Access baze podataka. Može da
sadrži informacije o autoru, nazivu, predmetu, ključnim rečima aplikacije, statistike i
spisak objekata u bazi, kao i mogućnost kreiranja korisnički definisanih (Custom)
svojstava baze.
Edit meni čini standardni izbor za pokretanje komandi ažuriranja (Cut, Copy,
Paste, Undo, Delete, Rename) za rad sa objektima iz baze, kao i mogućnost kreiranja
prečice (Shortcut-a) na dati objekat.
View meni sadrži meni za izbor tipa objekta u database prozoru, određivanje tipa
ikona i njihov raspored, kao i pregled svojstava (Properties) objekta i programskog
koda objekta (forme i moduli). Preko Toolbars izbora je omogućen pristup korisničkom
podešavanju sistema menija i paleta alata.
Insert meni sadrži opcije za kreiranje novog objekta u bazi, kao i automatsko
generisanje forme ili izveštaja na a-novu selektovane tabele ili upita (kao izvora
podataka).
Tools sadrži alate Spelling i AutoCorrect, slično ostalim programima iz Office
paketa. Database Utilities omogućava konvertovanje (Convert) fajla iz ranijih verzija
MS Access-a u novi format. Compact and Repair obezbeđuje sažimanje baze koje se
preporučuje kod velikih izmena u fajlu.
Window meni sadrži stavke za aranžiranje prozora na ekranu (objekti koji se
obrađuju).
Help meni ima uobičajene alate za pomoć.
1.3. Tabele
Tabela sadrži podatke o određenom entitetu. Na primer, baza podataka može da
sadrži jednu tabelu sa podacima o artiklima (njihove oznake, šifre, cijene
jednice mjere, tip,...), drugu tabelu za poslovnice i neku treću za šifarnike.
Na slici 1.3. je prikazan panel sa podacima iz tabele.
Seminarski rad 4
Šikanjić Slaviša
1.3. Tabela sa podacima
Polje predstavlja prost podatak, kao što je naziv firme, ulica, poštanski broj ilice
na.
Polje se obično pojavljuje kao jedna kolona u tabeli.
Zapis čine svi podaci pojedinačnog reda tabele, kao što su podaci o jednoj firmi
iz tabele partnera, ili o jednom ugovoru iz tabele ugovora. Zapisi se često nazivaju
slogovima ili rekordima (Records) ili n-torkama, gde je n-broj polja u zapisu.
Atribut je element informacije kojim je jednoznačno uređena vrsta svojstva.
Domen je skup vrednosti iz kog atribut može dobiti vrednost.
Relacija je veza između tabela.
Kreiranje tabela
Na slici 1.4 je prikazan panel koji se dobija nakon klika na New; u database
prozoru kada je aktivna karticaTables, gde se bira jedan od pet načina za kreiranje
tabele.
Seminarski rad
5
Šikanjić Slaviša
Slika 1.4. Različiti načini kreiranja tabele
Datasheet View omogućava direktno unošenje podataka u tabelu, pri čemu
program sam određuje tip polja. Ime polja se daje opcijom Rename Column iz menija
koji se dobija desnim klikom na naslov kolone. Ovaj način se retko koristi, jedino ako
nije poznata struktura tabele ili ako je potrebno ubaciti kopirane podatke iz nekog
drugog programa (npr.MS Excel).
Design View omogućava kreiranje tabele detaljnim izborom svojstava polja
podataka, kao što su imena polja, tip podataka i veličina polja, određivanje primarnog
ključa, i slično. To je najčešće korišćen pristup.
Table Wizard poziva čarobnjaka koji koristi biblioteku već formiranih tabela. Ova
mogućnost je korisna kada se kreiraju standardni objekti kao što su adresari, računi u
fazi učenja, ali se u praksi ne koristi mnogo.
Import Table omogućava uvoz tabele iz nekog drugog izvora podataka, druge
Access baze, MS Excel dokumenta, kao i fajlova tekstualnog formata
Link Table obezbeđuje povezivanje sa tabelama iz druge MS Access baze
(može i neki drugi format baze), pri čemu tabela ostaje u matičnoj bazi, a linkom se
omogućuje veza na nju u cilju pregleda i eventualno ažuriranja podataka. U ovoj
situaciji, pristup dizajnu tabele nije moguć iz baze koja ima link na datu tabelu, već
samo iz matilčne (izvorne) baze. Dizajnu tabele se ne može pristupiti dok se svi aktivni
linkovi na odnosnu tabelu ne isključe, što znači da pri dizajnu tabele niko (kroz mrežu)
ne može da je ažurira.
Vežba: Table Wizard
U prvom dijalogu Table Wizard-a izabrati kategoriju tabele (poslovna ili lična),zatim tabelu Students (slika 1.5), polja iz izabrane tabele, a preko tastera"Rename Field" promeniti imena izabranih polja.
Seminarski rad 6
Šikanjić Slaviša
Slika 1.5. Panel Wizarda za izbor kategorije, tabele i polja
U drugom dijalogu se opciono menja ime tabele i deklarišete polje primarnogključa, odnosno jedinstvenog identifikatora zapisa u tabeli.
U trećem dijalogu Table Wizard-a se upravlja relacijama, za sada preskočiti.
U petom dijalogu se definiše način otvaranja kreirane tabele
Uneti podatke za 3 studenta.
Slično se koriste i ostali Wizard-i za forme, upite i izveštaje.
Dizajn tabele
Tabele se najčešće dizajniraju kroz Design View. Tu je omogućen detaljan opis i
definicija svakog polja nove tabele, kao i kasnije modifikacije postojeće tabele.
Otvoriti tabelu Students (ili Studenti) za dizajn i pregledati definisana polja
Seminarski rad 7
Šikanjić Slaviša
Slika 1.6. Dizajn tabele
Field Name je ime polja, kojim se definiše ime atributa u tabeli. Pri dodeljivanju
imena polja i generalno objekata treba koristiti kraća imena uz kombinovanje velikih i
malih slova, izbegavati specijalne znake osim "_ " i YU slova (čćžđš). Ovo ne treba
mešati sa unosom podataka i komentara, gde se može koristiti bilo koje pismo ili jezik
omogućen operativnim sistemom.
Data Type definiše tip podatka, koji se čuva u tom polju i to je najvažnije svojstvo
polja.
Description je tekstualni opis podatka, a njegovo upisivanje se savetuje, jer se
on, u toku rada korisnika na datom polju podatka, ispisuje u statusnoj liniji i korisniku
pruža dodine informacije o tom polju.
MS Access podržava sledeće tipove podataka (Data Type):
Text - tekst (slova, brojevi i svi specijalni znaci) sa kojim se ne vrše računskeoperacije, a dužine do 255 karaktera.
Memo - dugačak tekst (slova, brojevi i svi specijalni znaci) dužine do 65535karaktera. Ovakav tip tekstualnog podatka ne može ući u neko sortiranje,pretraživanje ili grupisanje.
Number brojevi koji se upotrebljavaju u aritmetčkim izrazima, a veličina poljazavisi od "podtipa" koji može biti: Byte, Integer, Long Integer, Single, Double,Replication ID,
Date/Time, Currency, Auto Number (koji može biti Long Integer ili Replication IDopsega) ili Yes/No.
OLE Object Objekat kaoMS Word dokument, MS Excel tabela, zvuk, grafikon,
Seminarski rad 8
Šikanjić Slaviša
slika, a može biti povezan (Linked) ili ugrađen (embedded) u MS Access tabelu.
Lookup Wizard-om se kreiraju polja koja omogućavaju izbor vrednosti iz druge
tabele ili iz (ograničene) liste vrednosti upotrebom ComboBox ili ListBox kontrole.
Izborom ove stavke startuje se Lookup Wizard, kojim se definiše vrsta izvora, način
popunjavanja i broj polja.
U zavisnosti od izbora tipa podatka u donjem panelu Design View prozora
prikazuje se dodatna lista svojstava svrstanih u dve grupe (kartice): General i Lookup.
General kartica sadrži listu opštih svojstava polja npr.: Field Size - veličina polja;
DecimalPlaces - određuje broj cifara iza decimalne tačke, Format definiše poseban
izgled tekstualnog polja, InputMask definiše masku za unos podataka, Caption po
potrebi definiše naslov polja.
Default Value predstavlja vrednost koja će se automatski upisati u polje pri
popunjavanju novog zapsa. Validation Rule je izraz koji definiše zahteve koje mora da
ispuni uneti podatak. Obično su uslovi vezani za brojevnu vrednost i opseg kome dati
podatak pripada, a može se rešiti i pitanje da li je podatak uopšte unet, jer ako nije unet
ima problematičnu "vrednost" Null.
Validation Text je tekst poruke koja se pojavljuje ukoliko uslov Validation Rule
nije zadovoljen. Kreiranjem potpune validacije izbegavaju se komentari, koje korisnik
dobija na engleskom. Reguired određuje da li je u tom polju unos podatka obavezan ili
ne. Allow Zero Length je svojstvo specifično za tekstualne podatke i određuje da li je
dozvoljeno postojanje stringa nulte dužine ("") u polju. Indexed je svojstvo kojim se
uključuje indeksiranje na određeno polje u cilju izbegavanja dupliciranja podataka i
bržeg pretraživanja ili sortiranja po specificiranom polju.
LOOKUP kartica sadrži svojstva u slučaju da se podatak u tekućem polju bira iz
liste vredncsti. Sve započinje izborom tipa kontrole koja prikazuje listu raspoloživih
vrednosti, tako da u zavisnosti od vrste podataka koje polje čuva može biti Text Box
(nije Lookup polje), ComboBox, i List Box (standardno), kao i CheckBox (za Yes/No tip
podataka). MS Access omogućava da se ovde detaljnije odredi izvor podataka za
odnosno polje, mada je Lookup Wizard, ipak, za početak jednostavniji.
Primjena: kreiranje tabele artikala, poslovnica…
Napraviti tabele: Artikal (ID_ARTIKLA, NAZIV_ARTIKLA….)Poslovnice(ID_POS, NAZIV_POS, ADRESA…)Proizvodjac(ID_PROIZ, PROIZVODJAC), …
U tabelama popuniti opise polja (description)
U Tabelama ODJEL i KARTICA_ARTIKLA definisati pravilo validacije i odgovarajuću
Seminarski rad 9
Šikanjić Slaviša
poruku
Tip PROIZVODJAC, kroz LookUp wizard definisati da bude jedna od vrednosti Koja bude unesena u navedenu tabelu
Uneti u tabelu artikala proizvoljne podatke
1.4. Forme (obrasci)
Forme ili obrasci služe za unos, pregled i ažuriranje podataka. Korisnik ne treba
da unosi i ispravlja podatke u samoj tabeli, već kroz forme korisničkog interfejsa.
Kreiranje počinje komandom New iz Toolbar-a prozora baze, pri čemu se savetuje
izbor tabele ili upita kao izvora podataka. Kreiranje forme može započeti na sledeće
načine (slika 1.1):
Slika 1.1. Opcije čarobnjaka za kreiranje formi
Design View podrazumeva kreiranje forme "od početka", odnosno praznog
obrasca na koji se dodaju potrebne kontrole. (ne savetuje se). Form Wizard
mehanizam ili "čarobnjak" opšte namene (savetuje se, što češće). AutoForm:
Columnar je automatsko kreiranje forme (Columnar) u kojoj je svaki zapis na posebnoj
strani obrasca. AutoForm: Tabular je automatsko kreiranje forme (Tabular) u kojoj su
zapisi prikazani tabelarno, po više njih na strani (ekranu). AutoForm: Datasheet kreira
prikaz podataka u obliku koji liči na tabelu u formi.
Biranjem opcije Chart Wizard se pravi forma sa OLE objektom (ulazi se u
program MS Graph koji spada u "deljene aplikacije", odnosno ima istu ulogu u više
programa, na primer Word-u) u kome se kreira grafikon na osnovu podataka iz neke
tabele ili upita. Pivot Table Wizard-om se kreiraju forme za prikaz tabela za interaktivno
Seminarski rad 10
Šikanjić Slaviša
unakrsno izračunavanje, pri čemu se potrebne tabele kreiraju u Excel-u.
NAPOMENA: Forma se ne mora bazirati na upitu ili tabeli, što može biti
primenjeno u slučaju izrade dijaloga, poruka, menija.
Vežba: dizajniranje forme
Kreirati Formu zasnovanu na tabeli Busotine koristeći čarobnjak
Ući u Design View mod , slika 1.8
Analizirati svojstva – Properties kontrola (F4)
Slika 1.8. Dizaj režim rada
Kontrole i tipovi kontrola
Kreiranje kontrola olakšava Wizard koji se startuje iz "kutije sa alatom"
(View/Toolbox ili na Toolbar-u) klikom na taster. Na raspolaganju su sledeće
standardne Windows kontrole (na slici 1.8. predstavljene u okviru Toolbox-a):
Label (nalepnica) predstavlja statički tekst i upotrebljava se za natpise, naslove,
imena drugih objekata i slično. TextBox služi za unos, ispravljanje i prikaz podataka.
Najčešće odgovara jednom polju u tabeli ili upitu nad kojim je forma kreirana, a služi i
za prikaz izračunatih vrednosti.
OptionGroup je kontrola pravi okvir na formi i okuplja OptionButton,
ToggleButton i CheckBox na toj površini, koje služe za unos podatka biranjem neke
Seminarski rad 11
Šikanjić Slaviša
od ponuđenih opcija.Ove kontrole mogu imati jedno od dva stanja (Yes/No, True/False,
On/Off, 1/0).
ComboBox daje mogućnost izbora stavke iz liste. Ponuđeni elementi liste mogu
pripadati nekoj tabeli ili upitu, a mogu se i programski uneti. ListBox omogućava izbor
jednog od elemenata sa liste koju prikazuje. U listu se ne mogu direktno unositi nove
vrednosti.
CommandButton je dugme koje omogućava pokretanje neke funkcije, makroa ili
akcija napisanih u VBA-u. Pomoću Wizard-a u kom se nude mogućnosti biranja
vizuelnih, ali i komandnih svojstava tastera se olakšava kreiranje kontrola.
Image kontrola služi za unos slike koja može biti kao pozadina na formi.
ObjectFrame omogućava prikaz grafičkog ili nekog drugog OLE objekta koji nije u
okviru baze podataka, već ima zaseban fajl. Ovako unet objekat može da se menja.
Bound ObjectFrame može da sadrži crtež, grafiku ili neki drugi OLE objekt koji je
smešten u tabelu.
PageBreak kontrola deli formu na stranice. Rectangle omogućava prikaz
pravougaonika na formi.
TabControl (kartice) omogućavaju organizovanje podataka na više panela istog
prozora. Kombinacija ove kontrole sa Subform omogućava pravljenje kompleksnijih, ali
korisniku orijentisanih formi.
Subform omogućava da se na formi prikaže neka druga forma (kao podforma).
Ovo je korisno kada deo podataka treba prikazati na jednom mestu, poseban efekat se
dobija kada treba prikazati više zapisa jedne tabele ili upita koji odgovaraju jednom
zapisu na glavnoj formi. Na primer, kada treba videti sve tehničke analize za jednu
bušotinu.
U dizajn modu forme, mogu se podešavati svojstva (Properties) forme u celini ili
za izabrani objekat na formi. U Properties prozoru su svojstva objekata podeljena po
karticama Format, Data, Event, Other, slika 1.9.
Form Header je zaglavlje forme. Obično se koristi za upis naziva dela aplikacije
koji se obavlja, ili kontrola koje služe za pretraživanje. Detail je centralni deo forme. Tu
je smešten najveći deo kontrola i u njemu se obično nalazi najveći deo podataka iz
tabele ili upita. Form Footer je donji deo forme u kome se obično nalaze polja za
zbirne podatke.
Seminarski rad 12
Šikanjić Slaviša
Praksa:
Slika 1.9. Prozor Properties sa svojstvima za formu i textbox
Dodati kontrole pretrage sa/bez unosa radi filtriranja
Dodati dugme za sledece forme (slika 1.10)
Slika 1.10. Primjena filter textbox-ova na formi
Seminarski rad13