12.05.2015 Views

Predgovor - Mikro knjiga

Predgovor - Mikro knjiga

Predgovor - Mikro knjiga

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Predgovor</strong><br />

ix<br />

<strong>Predgovor</strong><br />

D<br />

obro doãli u Microsoft Access 2003 Bibliju – vaã liåni vodiå kroz moñan i jednostavan<br />

sistem za upravàaçe bazama podataka. Ovo je deveta verzija kçige<br />

koja je veñim delom napisana iz poåetka da bi tekst bio prilagoœen verziji Access<br />

2003 Microsoftovog Officea; dodati su potpuno novi delovi teksta, nove slike, a<br />

takoœe i potpuno nove i poboàãane datoteke s primerima.<br />

Ova kçiga predstavàa Microsoftov Access 2003 pomoñu viãe primera nego bilo<br />

koja druga kçiga o Accessu. Smatramo da je Microsoftov Access odliåan alat za<br />

upravàaçe bazama podataka i trenutno najboàa baza podataka za Windows na<br />

træiãtu. Naã cià u ovoj kçizi je da podelimo s vama sve ãto znamo o Accessu i da<br />

vam time olakãamo æivot i rad.<br />

Kçiga sadræi sve ãto vam treba da biste savladali Microsoftov Access do<br />

sredçenaprednog nivoa. Otkriñete da kçiga poåiçe od osnova i da se zatim svako<br />

poglavàe nadovezuje na prethodno obraœene teme. Na mestima gde je od kàuåne<br />

vaænosti da razumete ranije objaãçene teme, vrañamo se ukratko na odreœene koncepte<br />

i ponovo objaãçavamo kako treba da obavite odreœene poslove pre nego ãto<br />

nastavimo. Iako je svako poglavàe neraskidivi deo kçige, ono moæe da bude i celina<br />

samo za sebe i pridruæene su mu odgovarajuñe datoteke s primerima. Kçigu moæete<br />

da åitate proizvoànim redosledom, slobodno prelazeñi s jednog poglavàa na drugo i s<br />

jedne teme na drugu. (Obratite paæçu na to da je indeks kçige veoma detaàan; koristite<br />

ga da biste pronaãli mesta gde je objaãçena tema koja vas zanima.)<br />

Primeri u kçizi zamiãàeni su tako da liåe na vrste tabela, upita, obrazaca i izveãtaja<br />

koje veñina àudi mora da pravi kada obavàa uobiåajene poslovne aktivnosti.<br />

Dat je veliki broj napomena, saveta i tehnika (pa åak i nekoliko tajni), koji ñe vam<br />

pomoñi da boàe shvatite Access.<br />

Ova kçiga moæe da zameni priruånike koji se isporuåuju uz Access. U stvari,<br />

mnogi korisnici danas åak i ne åitaju priruånike, oslaçajuñi se iskàuåivo na sistem<br />

za pomoñ. Ova kçiga ñe vas voditi kroz svaki posao koji biste æeleli da obavite u<br />

Accessu. Ukàuåili smo i nekoliko dodataka koje moæete koristiti kao reference za<br />

najåeãñe Accessove specifikacije. Pristup za koji smo se opredelili boàe je strukturiran<br />

od onog u “zvaniånim” Microsoftovim priruånicima za Access – gotovo svaka<br />

tema je obraœena s viãe detaàa i dati su brojni primeri razliåitih vrsta.<br />

Da li je ova kçiga za vas?<br />

Kçigu smo napisali za korisnike poåetniåkog, sredçeg pa åak i viãeg nivoa znaça o<br />

Accessu 2003. Sa svakim softverskim proizvodom veñina korisnika kreñe od poåetka.<br />

Meœutim, ukoliko ste veñ åitali priruånike koji se isporuåuju uz Microsoftov Access i<br />

radili s datotekama baze podataka Northwinds, moæda je boàe da krenete od nekog<br />

kasnijeg poglavàa. Meœutim, imajte u vidu da je poåiçaçe od poåetka kçige najåeãñe<br />

korisno jer tako neñete propustiti neku tajnu ili savet iz prethodnih poglavàa.


x<br />

Access 2003 Biblija<br />

Smatramo da ova kçiga objaãçava Microsoftov Access detaànije i boàe od bilo<br />

koje druge kçige koju ñete nañi na træiãtu. Nadamo se da ñe vam pomoñi pri radu sa<br />

Accessom i da ñe vam se dopasti kreativni stil svojstven izdaçima kompanija Wiley<br />

i <strong>Mikro</strong> kçiga.<br />

Da – ukoliko nemate iskustva u radu s bazama podataka<br />

Ako ste novajlija u svetu upravàaça bazama podataka, u ovoj kçizi ñete nañi sve<br />

ãto vam treba da zapoånete rad u Accessu. Kçiga sadræi i sloæenije teme za uåeçe<br />

i referenciraçe.<br />

Da – ukoliko ste veñ koristili druge programe za upravàaçe<br />

bazama podataka, kao ãto su dBASE ili Filemaker<br />

Ukoliko razmiãàate o prelasku s neke druge baze podataka (na primer, dBASE, Filemaker,<br />

Alpha, Paradox, FoxPro ili R:Base) ili ako æelite da preœete na Access 2003 sa<br />

Accessa 2.0, Accessa 95 ili 97, ili åak sa Accessa 2000 ili 2002, ova kçiga je za vas.<br />

Imañete dobru osnovu poãto veñ znate ãta su programi za upravàaçe bazama podataka<br />

i kako se oni koriste. Pomoñu Microsoftovog Accessa moñi ñete da obavite sve<br />

poslove koje ste oduvek radili u tekstualnim bazama podataka – a da pri tom ne<br />

morate da programirate, niti da se negde “zaglavite”. Ova kçiga ñe vas voditi kroz<br />

svaku temu korak po korak.<br />

Da – ukoliko æelite da nauåite programiraçe na jeziku Visual Basic<br />

for Applications (VBA)<br />

VBA je zamenio nekadaãçi jezik Access Basic. Svesni smo åiçenice da bi za odgovarajuñe<br />

objaãçavaçe jezika VBA bila potrebna posebna kçiga, ali smo ipak dodali<br />

viãe uvodnih poglavàa koja se nadovezuju na poglavàa o obrascima u ovoj kçizi.<br />

Konvencije koje smo koristili u kçizi<br />

◆<br />

◆<br />

◆<br />

Kada piãe da treba da pritisnete odreœenu kombinaciju tastera (dok dræite<br />

pritisnut jedan taster, pritisnite drugi), oznake tastera su razdvojene znakom<br />

plus. Na primer, Ctrl+Esc znaåi da treba da dræite pritisnut taster Ctrl u trenutku<br />

kada pritiskate taster Esc; otpustite zatim oba tastera.<br />

Izraz “postaviti miãa” znaåi da treba da pomerite pokazivaå miãa na zadati<br />

element na ekranu. “Pritisnuti (miãem)” znaåi da treba da pritisnete levi<br />

taster miãa jednom i da ga zatim otpustite. “Pritisnuti dvaput” znaåi da treba<br />

da pritisnete levi taster miãa dva puta u kratkom razmaku i da ga zatim otpustite.<br />

“Pritisnuti desnim tasterom” znaåi da treba da pritisnete desni taster<br />

miãa jednom i da ga zatim otpustite. “Povuñi ili prevuñi (miãem)” znaåi da<br />

treba da dræite pritisnut levi taster miãa dok ga pomerate.<br />

Kada piãe da treba da izaberete stavku iz menija, to moæete da uradite pomoñu<br />

tastature ili miãa. Pomoñu tastature to ñete uraditi tako ãto ñete dræeñi pritisnut<br />

taster Alt (da biste aktivirali liniju menija) i pritisnuti taster sa slovom koje<br />

je podvuåeno u stavci menija; na primer, da biste izabrali meni Edit, treba da<br />

pritisnete Alt+E. Ili, miãem pritisnite reå Edit na ekranu; zatim, pritisnite taster<br />

sa slovom koje je podvuåeno u meniju ãto ñe se otvoriti (ili miãem pritisnite<br />

stavku menija) da biste izabrali stavku menija.


<strong>Predgovor</strong><br />

xi<br />

◆<br />

◆<br />

◆<br />

◆<br />

Kada piãe da treba da izaberete komandu iz menija, åesto ñe meni i komanda<br />

biti razdvojeni strelicom. Na primer, Edit ➪ Paste znaåi da treba da izaberete<br />

najpre meni Edit, a zatim da iz çega izaberete komandu Paste.<br />

Kurzivom se piãu novi izrazi da bi se istakli.<br />

Polucrnim slovima napisano je ono ãto vi treba da upiãete pomoñu tastature.<br />

Drugaåijim slovima se piãe ono ãto ñete videti na ekranu – na primer, poruke<br />

o greãkama, izrazi i formule.<br />

Ikonice i upozoreça<br />

U levoj margini kçige zapaziñete posebne grafiåke simbole. Njihova svrha je da privuku<br />

vaãu paæçu na delove koji su posebno vaæni ili korisni. U ovoj kçizi koristili<br />

smo sledeñe sliåice:<br />

Napomena<br />

Oznaåava vaænu napomenu koja se odnosi na tekuñu temu.<br />

Savet<br />

Oznaåava koristan savet pomoñu kojeg ñete uãtedeti vreme ili izbeñi neki problem.<br />

Upozoreçe<br />

Upozorava vas da operacija o kojoj je trenutno reå moæe da bude uzrok problema ukoliko<br />

ne pazite ãta radite.<br />

Referenca<br />

Upuñuje na detaànije objaãçeçe u nekom drugom poglavàu kçige.<br />

Na CD-u<br />

Oznaåava informacije nameçene åitaocima koji prate primere i koriste datoteke sa<br />

prateñeg kompakt diska.<br />

Nova<br />

osobina<br />

Upuñuje na novinu koju uvodi Access 2003.<br />

Izdvojeni odeàci<br />

Osim ikonica na koje ñete nailaziti u celoj kçizi, zapaziñete i posebno izdvojene blokove teksta.<br />

Oni sadræe dopunske informacije, ãira objaãçeça ili detaàe o tekuñoj temi. Neki odeàci nude<br />

åisto tehniåka objaãçeça, dok drugi sadræe korisne informacije iz prakse.<br />

Kako je kçiga organizovana<br />

Kçiga je podeàena na 39 poglavàa grupisana u åetiri glavna dela i pet odeàaka.<br />

Osim toga, peti deo kçige sadræi i åetiri dodatka.<br />

Glavni delovi kçige su sledeñi:<br />

◆<br />

◆<br />

◆<br />

◆<br />

Izrada jednoskorisniåkih aplikacija.<br />

Izrada viãekorisniåkih aplikacija.<br />

Izrada Web aplikacija<br />

Napredne teme.


xii<br />

Access 2003 Biblija<br />

Deo I: Izrada jednokorisniåkih aplikacija<br />

Prvi deo kçige sastoji se od tri odeàka i za veñinu korisnika Accessa to je sve ãto ñe<br />

im ikada trebati. U tom delu, koji se sastoji od 26 poglavàa (koja obuhvataju otprilike<br />

dve treñine kçige), opisano je sve ãto ñe vam trebati za izradu jednokorisniåkih<br />

aplikacija i aplikacija nameçenih radnim grupama; na primer, opisano je projektovaçe<br />

tabela za podatke, izrada obrazaca i izveãtaja, i programiraçe u VBA.<br />

Rad s tabelama za podatke i upitima<br />

Prvi odeàak ove kçige sadræi sedam poglavàa u kojima ñete nauåiti sve o podacima<br />

i konceptualnom projektovaçu struktura podataka.<br />

Poglavàe 1 sadræi korisna konceptualna objaãçeça koja ñe vam pomoñi da<br />

shvatite osnovne elemente podataka, kao i reåi “u modi” koje se odnose na upravàaçe<br />

bazama podataka, a savladañete i planiraçe tabela i tipove podataka u<br />

çima. U poglavàu 2 nauåiñete kako se projektuju tabele. Saznañate i kako da pravilno<br />

imenujete poàa tabela i kako da im dodelite odgovarajuñe tipove podataka.<br />

U poglavàu 3 objaãçeno je sve ãto treba da znate o unoãeçu podataka u obrasce<br />

i tabelarne prikaze podataka. Nauåiñete da poàima pridruæite moguñnost provere<br />

ispravnosti podataka, da formatirate sadræaj poàa i koristite razne ugraœene alatke<br />

koje olakãavaju unoãeçe podataka. Saznañete i kako se traæe podaci, kako se<br />

meçaju vrednosti podataka i kako se briãu podaci. U poglavàu 4 steñi ñete dodatna<br />

znaça o projektovaçu tabela, definisaçu primarnih i spoànih kàuåeva, çihovom<br />

meœusobnom povezivaçu i upotrebi Accessove alatke Relationship. U poglavàu 5<br />

prouåiñete koncept upita; zatim ñete napraviti viãe upita da biste ispitali kako se<br />

podaci mogu filtrirati i prikazivati po zadatom redosledu. U poglavàu 6 nastavàa se<br />

gradivo o upitima iz prethodnog poglavàa. Nauåiñete da sastavàate sloæenije upite<br />

da biste odgovorili na pitaça u vezi s podacima u bazi. Savladañete osnove jezika<br />

SQL i çegove odredbe WHERE, kao i upotrebu operatora i izraza. U poglavàu 7<br />

opisano je kako spoàne datoteke mogu da se uvoze, izvoze i povezuju sa Accessovom<br />

bazom podataka i kako se Accesovi objekti kopiraju u druge Accessove baze<br />

podataka.<br />

Izrada obrazaca i izveãtaja<br />

Drugi odeàak ove kçige sadræi deset najdetaànijih ikada napisanih poglavàa o<br />

obrascima i izveãtajima.<br />

U poglavàu 8 poåeñete vizuelnim prouåavaçem raznih vrsta obrazaca da biste<br />

potpuno razumeli kontrole koje se mogu upotrebiti na obrascima. U poglavàu 9<br />

savladañete osnove izrade obrazaca za unoãeçe podataka, kao i upotrebu åarobçaka<br />

koji pojednostavàuju postupak izrade obrazaca; razmotriñemo i upotrebu<br />

obrazaca za unoãeçe podataka. U poglavàu 10 razmotriñemo koncepte vezivaça<br />

obrazaca za izvore podataka i naåin izrade nevezanih obrazaca. U poglavàu 11 nauåiñete<br />

kako da obrascima za unoãeçe podataka pridruæite moguñnost provere ispravnosti<br />

podataka da biste izbegli greãke. Osim toga, u tom poglavàu savladañete<br />

i osnove upotrebe kontrola tipa padajuña lista. U poglavàu 12 saznañete kako da<br />

obrascima i izveãtajima date profesionalniji izgled pomoñu raznih tehnika za formatiraçe,<br />

i kako da pomoñu boja i specijalnih vizuelnih efekata napravite obrasce i<br />

izveãtaje koji i lepo izgledaju i poveñavaju produktivnost korisnika. Poglavàe 13<br />

opisuje osnove izrade i ãtampaça izveãtaja i uvodi grupisaçe podataka, ãto


<strong>Predgovor</strong><br />

xiii<br />

omoguñava izraåunavaçe i ãtampaçe zbirnih podataka po viãe nivoa. U poglavàu 14<br />

opisano je ugraœivaçe podobrazaca u obrasce i kako se nadreœeni obrazac povezuje<br />

s podreœenim obrascem putem podobrasca. Poglavàe 15 opisuje naåin izraåunavaça<br />

zbirnih i sumarnih podataka, u izveãtajima i rad sa zaglavàima i podnoæjima<br />

grupa u izveãtaju. U poglavàu 16 razmatramo neke specijalne vrste izveãtaja kao ãto<br />

je izveãtaj s nanizanim kolonama za ãtampaçe podataka u obliku imenika, izveãtaj za<br />

izradu cirkularnih pisama i izveãtaj za ãtampaçe nalepnica. Poglavàe 17 opisuje upotrebu<br />

slika, dijagrama, zvuånih i video iseåaka, kao i drugih OLE objekata.<br />

Automatizovaçe aplikacija<br />

Treñi odeàak ove kçige posveñen je programiraçu i upotrebi komandi Visual<br />

Basica za upravàaçe obrascima i izveãtajima, kao i za izradu izuzetno kvalitetnog<br />

korisniåkog interfejsa.<br />

Poglavàe 18 opisuje koncepte programiraça u okruæeçu Visual Basica i kako se<br />

piãu procedure Visual Basica. U poglavàu 19 razmatramo koncept programiraça<br />

voœenog dogaœajima i kako se pomoñu Accessovih komandi mogu automatizovati<br />

poslovi koje obavàate ruåno. U poglavàu 20 razmatramo Accessove ugraœene funkcije<br />

koje omoguñavaju da uradite gotovo sve u opsegu od obrade znakovnih vrednosti<br />

do formatiraça datumskih vrednosti. Poglavàe 21 objaãçava ãta je ADO i kako<br />

se pomoñu objekta Recordset mogu razmeçivati podaci izmeœu obrazaca i tabela.<br />

Veoma je vaæno da åitaoci koji se bave programiraçem dobro razumeju ovo poglavàe<br />

posveñeno upravàaçu bazama podataka. U poglavàu 22 saznañete kako da sastavite<br />

programske komande da biste pronaãli potrebne podatke. Nauåiñete kako da<br />

automatizujete upite i kako da na obrascu prikazujete podatke koji zavise od stavke<br />

koju korisnik izabere sa padajuñe liste. U poglavàu 23 saznañete kako da koristite procedure<br />

da biste napravili kodne module za viãekratnu upotrebu, ãto ñe vam omoguñiti<br />

da budete efikasniji pri pisaçu koda. Poglavàe 24 objaãçava upotrebu blokova za<br />

obradu greãaka, kao i odgovarajuñih procedura za otkrivaçe greãaka u programima.<br />

U poglavàu 25 nauåiñete kako se prave meniji sastavàeni od dugmadi, poznatiji kao<br />

komandne table; saznañate i kako se prave uobiåajeni padajuñi meniji, kao i namenske<br />

komandne palete koje sluæe za izradu menija i paleta alatki. U poglavàu 26 savladañete<br />

upotrebu kontrole grupa kartica, a koristiñete i beskonaåne obrasce da biste<br />

prikazivali podatke i prelazili iz jedne vrste prikaza u drugu.<br />

Deo II: Izrada viãekorisniåkih aplikacija<br />

Åetvrti odeàak kçige opisuje kako se prave aplikacije koje treba da se koriste u<br />

viãekorisniåkom okruæeçu cele kompanije.<br />

U poglavàu 27 opisani su nadogradça i prenos Accessovih tabela na SQL Server.<br />

Saznañete kako da upotrebite åarobçaka Upsizing Wizard i sve ostalo ãto morate<br />

da obavite da bi åarobçak mogao da uradi svoj posao. Poglavàe 27 opisuje naåin<br />

prilagoœavaça i prenosa podataka na SQL Server, a poglavàe 28 objaãçava kako se<br />

pravi Accessov projekat (engl. Access Data Project, ADP) koji omoguñava izradu<br />

pravih klijent/server sistema. Nauåiñete da prilagodite svoje programe i pravite<br />

ADO objekte tipa Recordset da biste kao izvore podataka koristili SQL Server ili<br />

Microsoft Database Engine (MSDE). Poglavàe 29 nastavàa uvod u svet klijent/server<br />

aplikacija i opisuje izradu serverskih snimàenih procedura, okidaåa i upita za izvrãavaçe<br />

komandi kako biste mogli da gradite prave klijent/server sisteme.


xiv<br />

Access 2003 Biblija<br />

Deo III: Izrada Web aplikacija<br />

Tri poglavàa u åetvtom odeàku kçige opisuju izradu aplikacija koje rade s podacima<br />

na Internetu ili intranetu. U poglavàu 30 objaãçena je izrada jednostavnih<br />

stranica za pristup podacima (englå. Data Access Pages, DAP) pomoñu primera koji<br />

veñ poznajete. Poglavàe 31 opisuje izradu sloæenih stranica za pristup podacima.<br />

Poglavàe 32 je uvod u XML, a dat je i kratak opis novog proizvoda InfoPath, koji<br />

omoguñava izradu obrazaca koji rade sa XML podacima.<br />

Deo IV: Napredne teme u Accessu<br />

Ãest poglavàa iz ovog dela kçige razmatraju naprednije teme o osnovnim poslovima<br />

koje obavàate u Accessu. U poglavàu 33 objaãçeno je kako se mogu razmeçivati<br />

podaci s drugim Officeovim aplikacijama, kao ãto su Word, Excel, Outlook, åak i PowerPoint.<br />

Tema poglavàa 34 je zaãtita baze podataka i çenog sadræaja, dok poglavàe<br />

35 opisuje kako se prave i koriste sistemi za pomoñ korisnicima. U poglavàu 35<br />

razmatramo naprednije teme iz iste oblasti, kao ãto su upiti za izraåunavaçe zbirnih<br />

podataka, unakrsni upiti, upiti za izraåunavaçe najviãih vrednosti i unije. Poglavàe 37<br />

opisuje akcione upite, koji meçaju vrednosti podataka, umesto da ih samo prikazuju.<br />

Osim toga, poglavàe 37 se nadovezuje na sloæene teme iz oblasti upita i zadiviñe vas<br />

saznaçem ãta je sve Access u staçu da uradi. I najzad, poglavàe 39 posveñeno je<br />

novoj varijanti Access Developers Edition (ADE) i izvrãnoj komponenti Accessa.<br />

Deo V: Dodaci i referentni materijal<br />

Posledçi deo kçige sastoji se od åetiri dodatka. Dodatak A sadræi niz tabela koje<br />

opisuju karakteristike Accessovih kontrola, gde ñete nañi maksimalne i minimalne<br />

veliåine mnogih Accessovih parametara. Dodatak B sadræi dijagram baze podataka<br />

s mnogobrojnim tabelama koje se koriste u kçizi da biste sami napravili vlastiti<br />

sistem. Dodatak C opisuje sadræaj prateñeg kompakt diska. Dodatak D razmatra<br />

konvencije i standarde za dodeàivaçe imena objektima.<br />

Vodiå za primere<br />

Najvaæniji cià primera iz ove kçige jeste da vam omoguñe da steknete maksimum<br />

znaça. Nañi ñete veliki broj primera dobrog dizajna i primene tabela za poslovne<br />

aplikacije, kao i primere izrade obrazaca i izveãtaja, i pisaça koda za module u Visual<br />

Basicu. Videñete primere u kojima se koristi Jet (interna Accessova baza podataka),<br />

kao i primere povezivaça sa SQL Serverovim bazama podataka. Susreãñete se i sa<br />

obrascima koji rade na Webu koristeñi Accessove stranice za pristup podacima.<br />

Kao ãto zna svako ko se bavi razvojem aplikacija, vaæno je da dobro razumete ãta<br />

piãete i programirate, gledano iz ugla aplikacije. To se ponekad zove prouåavaçe<br />

poslovnih aktivnosti. Za ovu kçigu izabrali smo jednostavan primer za koji se nadamo<br />

da ñe biti razumàiv svakom projektantu aplikacija, za svaku vrstu poslovnih aktivnosti.<br />

Kada razvijate sisteme, åesto se dogaœa da morate da analizirate aplikacije iz<br />

oblasti u kojoj nemate mnogo iskustva. Sasvim je razumàivo da ñe inæeçer aeronautike<br />

biti boài analitiåar kada treba razviti sistem za nadzor avionskih motora, ali<br />

svaki dobar projektant raåunarskih aplikacija treba da bude u staçu da razvije bilo<br />

koju vrstu sistema pod uslovom da dobro saraœuje sa struåçacima iz odgovarajuñe<br />

oblasti. U ovoj kçizi, autori i çihova uputstva igrañe ulogu tih struåçaka.


<strong>Predgovor</strong><br />

xv<br />

Napomena<br />

U svim primerima u ovoj kçizi koristiñemo izmiãàenu kompaniju åije je ime<br />

Access Auto Auctions, ili skrañeno AA Auctions. Firma AA Auctions kupuje i prodaje<br />

automobile, kamione i druga vozila. Vozila se prodaju direktno kupcima, ali i na<br />

javnim nadmetaçima u izmiãàenoj prodavnici i na Internetu. Baza podataka pridruæena<br />

primeru sadræi tabele, upite, obrasce, izveãtaje i programski kôd u modulima<br />

koji su neophodni za obavàaçe poslovnih aktivnosti kompanije.<br />

U ovom vodiåu koristiñemo nekoliko izraza åije znaåeçe joã nismo detaàno objasnili. Slobodno<br />

ih preskoåite zasad, a kasnije se moæete vratiti u ovaj vodiå kada zapoånete novo<br />

poglavàe u kojem se koriste ti obrasci i izveãtaji.<br />

Upotreba datoteka s primerima koje se nalaze<br />

na prateñem kompakt disku<br />

Na prateñem kompakt disku nalazi se standardni instalacioni program za Windowsove aplikacije<br />

(setup) koji ñe vam omoguñiti da instalirate primere na åvrsti disk. Za svako poglavàe<br />

obezbedili smo zasebnu prateñu bazu podataka. Te baze podataka nalaze se u poddirektorijumima<br />

koji se formiraju na åvrstom disku kada instalirate prateñe datoteke poglavàa. Imena<br />

direktorijuma su Chapxxyyyyyyy.mdb, gde je xx redni broj poglavàa, a yyyyyyy (engleski) opis<br />

sadræaja. Na primer, Chap07Start.mdb bila bi baza podataka koju ñete moæda otvoriti kada<br />

poånete da åitate sedmo poglavàe, dok bi Chap07End.mdb bila baza podataka kakvu biste<br />

oåekivali kada zavrãite sve veæbe iz tog poglavàa. Nekim poglavàima neñe biti pridruæena<br />

nijedna datoteka, a neka poglavàa imañe viãe prateñih datoteka. Osim toga, u pojedinim poddirektorijumima<br />

nalaziñe se i datoteke s drugim nastavcima imena. Upotreba tih datoteka<br />

opisana je u odgovarajuñim poglavàima kçige.<br />

Osim toga, na prateñem kompakt disku nalazi se i viãe potpuno funkcionalnih programa,<br />

demo i probnih verzija nekih meœu najboàim alatkama za krajçe korisnike Accessa i projektante<br />

Accessovih aplikacija; date su i hiperveze ka Web lokacijama kompanija da biste mogli da<br />

dobijete najnovije informacije.<br />

U svakoj datoteci baze podataka koja se odnosi na odreœeno poglavàe nañi ñete samo<br />

objekte koji su potrebni u poglavàu. Konaåne verzije svih obrazaca i izveãtaja grupisali smo u<br />

dve datoteke; AccessAutoAuctions.mdb sadræi sve programske objekte (upite, obrasce, izveãtaje<br />

i module). S çom povezana datoteka za podatke, AccessAutoAuctionsData.mdb, sadræi<br />

samo tabele koje se koriste u aplikaciji. Meœutim, u datotekama koje se odnose na pojedina<br />

poglavàa nañi ñete programske objekte (upite, obrasce, izveãtaje i module) u istoj datoteci baze<br />

podataka kao i tabele.<br />

Savet<br />

Ljudi koji se profesionalno bave razvojem aplikacija obiåno razdvajaju programske objekte<br />

i podatke u dve zasebne baze podataka, ali je u fazi razvoja aplikacije prihvatàivo da sve te<br />

objekte smestite u jednu bazu podataka i da ih kasnije razdvojite u dve, kada zavrãite razvoj<br />

aplikacije. Kada radite u bazi podataka koja je povezana s datotekom za podatke, morate<br />

najpre otvoriti datoteku baze za podatke kako biste mogli da meçate strukture tabela. O<br />

tome ñete viãe saznati tokom åitaça ove kçige.<br />

Glavna komandna tabla<br />

Kada uåitate datoteku s konaånom verzijom primera (AccessAutoAuctions.mdb),<br />

pojaviñe se glavni meni (poznat i kao komandna tabla), koji je prikazan na slici P-1.<br />

Ta komandna tabla sadræi dugmad koja omoguñavaju pristup glavnim odeàcima<br />

sistema.


xvi<br />

Access 2003 Biblija<br />

Slika P-1: Glavna<br />

komandna tabla aplikacije<br />

Access Auto Auctions koja<br />

omoguñava korisniku da<br />

otvara razne obrasce i<br />

izveãtaje.<br />

Glavni odeàci aplikacije su sledeñi:<br />

◆<br />

◆<br />

◆<br />

◆<br />

◆<br />

Contacts: Kupci i prodavci vozila i rezervnih delova s kojim posluje firma AA<br />

Auctions. Umesto da, kao ãto je uobiåajeno, imamo zasebne tabele Customer<br />

(kupci) i Supplier (dobavàaåi), napravili smo tabelu Contacts koja sadræi<br />

podatke o svim osobama s kojima na bilo koji naåin posluje firma AA Auctions.<br />

Sales: Ovo dugme prikazuje obrazac za izradu raåuna i faktura u koji firma AA<br />

Auctions unosi podatke o kupcu (koji potiåu iz odeàka Contacts). Svaki raåun<br />

moæe imati neograniåen broj stavki, a za svaku stavku bira se artikal iz podsistema<br />

Products.<br />

Products: U ovom odeàku odræavaju se podaci o svemu ãto kompanija AA<br />

Auctions prodaje direktno ili na javnim nadmetaçima. To mogu da budu<br />

vozila, rezervni delovi i svi drugi podaci koji su neophodni za prodaju ili evidentiraçe<br />

zaliha robe, kao ãto su opisi artikala, troãkovi, cenovnici ili åak<br />

slike vozila ili rezervnih delova.<br />

Reports: Svaka dobro osmiãàena aplikacija omoguñava izradu izveãtaja na<br />

viãe nivoa. Ovo dugme zapravo ne radi niãta. U principu, çegova svrha bila bi<br />

da pokreñe generiåki podsistem za izradu i prikazivaçe izveãtaja na osnovu<br />

zadatih imena i parametara izveãtaja da bi se prikazivali podaci izmeœu dva<br />

datuma ili za odreœene vrste automobila. Takav podsistem nije opisan u ovoj<br />

kçizi, ali meœu proizvodima nezavisnih proizvoœaåa na prateñem kompakt<br />

disku nalazi se generator izveãtaja Ez Report Manager koji moæete upotrebiti.<br />

Company Setup: Ovo dugme prikazuje obrazac s globalnim podacima koji se<br />

koriste u celom sistemu. Tu moæete zadati globalne vrednosti kao ãto su ime<br />

firme (u ovom primeru to je Access Auto Auctiions) ili druge podatke korisne<br />

za celu aplikaciju.<br />

Struktura tabela za podatke<br />

Podaci su najvaæniji deo svakog sistema, a u Accessu (kao i u svakom drugom<br />

sistemu za upravàaçe podacima) podaci su grupisani u logiåke celine zvane tabele.<br />

Tabele omoguñavaju da definiãete strukture podataka i da u çih skladiãtite same<br />

podatke. Tabele mogu biti meœusobno povezane da biste umesto haosa imali dobro<br />

definisane i formatirane podatke.


<strong>Predgovor</strong><br />

xvii<br />

Dijagram na slici P-2 predstavàa prikaz veñine tabela za podatke koje se koriste u<br />

primeru Access Auto Auctions. Kao ãto ñete nauåiti u prvom delu ove kçige, linije,<br />

strelice i simboli izmeœu tabela imaju vaæna znaåeça i projektantu opisuju naåine<br />

na koje su tabele meœusobno povezane. Kada poånete da shvatate svrhu tabela u<br />

bazi podataka, razumeñete i znaåeçe reåi kao ãto su tabela, poàe, zapis, relacija,<br />

referencijalni integritet, primarni i spoàni kàuå.<br />

Slika P-2: Dijagram relacija izmeœu tabela aplikacije Access Auto Auctions prikazuje tabele<br />

i çihova poàa za podatke.<br />

Zbog åega u dijagramu relacija imena tabela i poàa<br />

za podatke imaju prefikse?<br />

Moæda ste primetili da ime svake tabele sadræi prefiks tbl. Moæda ste primetili i to da i ime svakog<br />

poàa na koje je prikazano slici P-2 ima neki prefiks. To su standardi za imenovaçe<br />

objekata, tj. prefiksi koje projektanti dodeàuju imenima poàa da bi drugi projektanti razumeli<br />

tipove podataka koje ta poàa mogu da sadræe kada ih koriste u svojim programima koje piãu u<br />

Visual Basicu. Postoje i drugi prefiksi za objekte baze podataka koa ãto su qry (za upite), frm (za<br />

obrasce), rpt (za izveãtaje) i mod (za module). Za poàa za podatke najuobiåajeniji su prefiksi<br />

chr (za poàa znakovnog tipa), dtm (za poàa koja sadræe datume/vremena), kao i mnogi drugi.<br />

U celoj ovoj kçizi primeçujemo standarde za imenovaçe objekata.<br />

Referenca<br />

Konvencije za imenovaçe objekata detaànije su opisane u dodatku D.<br />

Primer baze podataka pridruæen ovoj kçizi sadræi otprilike 11 tabela (slika P-2)<br />

koje su potrebne za aplikacije firme Access Auto Auctions. Mnoge maçe tabele<br />

zapravo su referentne (engl. lookup) tabele åija je jedina svrha da obezbede liste<br />

prihvatàivih elemenata za izbor. Veñe tabele sadræe podatke koji se koriste u samom<br />

sistemu. Sve te tabele zajedno sadræe mnogobrojna poàa koja sluæe za definisaçe<br />

podataka. Linije izmeœu tabela pokazuju kako su tabele meœusobno povezane preko<br />

poàa sa sliånim podacima. Ako su vam ovi izrazi åudni i nepoznati, ne brinite. U prvih<br />

nekoliko poglavàa nañi ñete objaãçeça svih izraza. Tabele aplikacije su sledeñe:


xviii<br />

Access 2003 Biblija<br />

◆<br />

◆<br />

◆<br />

◆<br />

tblSales<br />

• Tabela tblSales sadræi glavne podatke (zaglavàa) svake obavàene prodaje.<br />

Ti podaci se evidentiraju po jedanput za svaku prodaju, kao ãto su broj<br />

raåuna, ãifra kupca (koji tabelu tblSales povezuje s tabelom tblContacts<br />

da bi se uåitali podaci o odreœenom kupcu, meœu kojima su i podaci neophodni<br />

za izraåunavaçe poreza), ãifra prodavca (koja povezuje s tabelom<br />

tblSalesperson) i razni drugi finansijski podaci.<br />

tblSalesperson<br />

• Tabela tblSalesPerson sadræi podatke o prodavcima koji prodaju artikle<br />

firme Access Auto Auctions. Svaki prodavac ima odreœeni procenat provizije<br />

od prodaje.<br />

tblTaxRates<br />

• Tabela tblTaxRates sadræi imena mesta i odgovarajuñe stope poreza. Ti<br />

podaci se koriste pri obraåunu poreza kada korisnik apliikacije izabere<br />

kupca na obrascu. Mesto i stopa oporezivaça uåitavaju se iz tabele tbl-<br />

TaxRates i zatim se na osnovu tih podataka obraåunava iznos poreza na<br />

raåunu.<br />

tblSalesLIneitems<br />

• Tabela tblSalesLineItems sadræi poàa za stavke koje åine odreœenu prodaju<br />

(stavke raåuna). Svala prodaja moæe se sastojati od viãe stavki. Jedan kupac<br />

moæe kupiti viãe vozila. Kupac moæe kupiti rezervne delove, dodatnu opremu<br />

ili usluge. U nastavku ove kçige videñete obrazac koji omoguñava unoãeçe<br />

raåuna s neograniåenim brojem stavki koje ñe se smeãtati u ovu tabelu.<br />

• Poàa za podatke ove tabele su, izmeœu ostalog, broj raåuna, koji povezuje<br />

tabelu tblSalesLineItems s tabelom zaglavàa raåuna (tblSales), kao i koliåina<br />

kupàenog artikla. Poàe za ãifru artikla (koje tabelu tblSalesLineItems<br />

povezuje s tabelom Products) omoguñava uåitavaçe podataka o artiklu,<br />

kao ãto su opis (naziv) artikla, cena i da li je artikal oporezovan ili osloboœen<br />

poreza. Poàe za popust omoguñava unoãeçe procenta popusta.<br />

• Naåin na koji ñe se ova tabela koristiti krãi pravila teorije relacionih baza<br />

podataka. Umesto da tabela tblSalesLineItems bude samo povezana s tabelom<br />

tblProduct preko vrednosti u poàu chrProductID, odreœene vrednosti<br />

iz tabele tblProductID kopiraju se u tabelu tblSalesLineItems. To se åesto<br />

radi s podacima koji se meçaju tokom vremena. Ako je kupac danas kupio<br />

neki rezervni deo po ceni od 10 dolara, a zatim se sledeñe sedmice cena<br />

promeni na 15 dolara, bilo bi pogreãno da se potom u starom raåunu prikazuje<br />

cena od 15 dolara.<br />

Referenca<br />

Viãe o teoriji relacionih baza podataka i naåinu projektovaça tabela saznañete u prvom<br />

delu ove kçige.<br />

◆<br />

tblSalesPayments<br />

• Tabela tblSalesPayments sadræi poàa za stavke uplata po raåunu. Iznos<br />

raåuna moæe se platiti na viãe naåina. Kupac moæe da uplati odreœeni deo<br />

åekom, pa da zatim preostali deo duga raspodeli na viãe kreditnih kartica.<br />

To moæete omoguñiti tako ãto ñete obezbediti da broj stavki uplata po jednom<br />

raåunu bude neograniåen.


<strong>Predgovor</strong><br />

xix<br />

◆<br />

◆<br />

◆<br />

◆<br />

◆<br />

• Jedno od poàa za podatke tabele tblSalesPayments je broj raåuna, pomoñu<br />

kojeg je ta tabela povezana s tabelom zaglavàa raåuna (tblSales). Postoji i<br />

poàe za naåin plañaça (koje tabelu tblSalesPayment povezuje s tabelom<br />

tblPaymentType) da bi se naåin plañaça ograniåio samo na prihvatàive<br />

naåine, a postoje i poàa za datum uplate, iznos uplate, broj åeka ili kreditne<br />

kartice, kao i poàe za datum isticaça vaænosti kreditne kartice.<br />

tblPaymentType<br />

• Tabela tblPaymentType je obiåna referentna tabela koja sadræi prihvatàive<br />

vrednosti za naåin plañaça raåuna. Korisnik aplikacije moæe izabrati samo<br />

prihvatàiv naåin plañaça.<br />

tblContacts<br />

• Tabela tblContacts sadræi podatke o svim osobama i firmama s kojima<br />

posluje Access Auto Auctions. To su klijenti firme, dobavàaåi, kupci i prodavci.<br />

U ovoj tabeli åuvaju se podaci o imenima, adrese, brojevi telefona i<br />

faksa, adrese e-poãte i Web lokacija, kao i drugi finansijski podaci. Za razliku<br />

od podataka u tabeli tblSalesLineItems, podaci iz ove tabele uåitavaju<br />

se samo na obrascu za unoãeçe raåuna i, osim nekih promenàivih finansijskih<br />

podataka, ne kopiraju se u druge tabele. To omoguñava da ako neki<br />

kupac promeni adresu ili broj telefona, svaki raåun koji pripada tom kupcu<br />

bude automatski aæuriran s novim podacima.<br />

tblContactLog<br />

• Tabela tblContactLog sadræi po jedan ili viãe redova za svaki red u tabeli<br />

tblContacts. Tu se åuvaju podaci kao ãto su datum razgovora, napomene ili<br />

artikli o kojima je bilo reåi, i podaci o tome ãta je preduzeto nakon razgovora.<br />

Obrazac za unoãeçe podataka o klijentima kompanije omoguñava i<br />

odræavaçe podataka iz ove tabele.<br />

tblCustomerTypes<br />

• Tabela tblCustomerTypes sadræi prihvatàive vrste klijenata kompanije<br />

koje se mogu izbrati na obrascu za unoãeçe klijenta. U svakoj aplikaciji<br />

vaæno je da odreœeni podaci budu ograniåeni na skup prihvatàivih vrednosti.<br />

Buduñi da svaka prihvatàiva vrednost nameñe primenu odreœenih<br />

poslovnih pravila, u ovom primeru moraju se unositi samo prihvatàive<br />

vrednosti.<br />

tblProducts<br />

• Tabela tblProducts sadræi podatke o svakom artiklu koji je kompanija<br />

Access Auto Auctions prodala putem direktne prodaje ili nadmetaça. Ona<br />

sadræi podatke koji se koriste u stavkama raåuna, a moæe se upotrebiti i za<br />

odræavaçe podataka o zalihama pojedinih artikala. Meœutim, poãto firma<br />

Access Auto Auctions prodaje ãiroku lepezu proizvoda i usluga, smatramo<br />

da je prikladniji izraz Products (proizvodi).<br />

• Tabela tblProducts sadræi poàa s gotovo svim tipovima podataka koji<br />

postoje u Accessu. Gledano iz ugla poslovnih pravila, postoji poàe primarnog<br />

kàuåa, åiji sadræaj zadaje korisnik aplikacije. Tabela sadræi poàe za<br />

naziv artikla i razna numeriåka poàa za troãkove, cene i koliåine. Postoji i<br />

nekoliko poàa logiåkog tipa (u kojima vrednost moæe biti samo True ili


xx<br />

Access 2003 Biblija<br />

◆<br />

False) za podatke o tome da li se artikal prodaje na javnom nadmetaçu i da<br />

li je oporezovan. Poàe tipa Date sluæi za podatak o datumu kraja nadmetaça.<br />

Postoji i poàe za unoãeçe duæeg teksta (poznato kao poàe tipa<br />

Memo) za listu odlika artikla, kao i poàe za sliku vozila.<br />

tblCategories<br />

• Tabela tblCategories sadræi referentnu listu prihvatàivih kategorija artikala.<br />

Obrazac za rad sa artiklima<br />

Obrazac frmProducts, prikazan na slici P-3, prvi je obrazac pomoñu kojeg ñete<br />

nauåiti kako da pravilno projektujete obrasce. To je takoœe jedan od obrazaca koji<br />

ñete åesto koristiti kroz celu ovu kçgu. Obrazac frmProducts razvijen je tako da se<br />

na çemu koriste mnoge vrste kontrola koje se u Accessu koriste za rad s podacima<br />

u tabelama, kao ãto su tekstualne vrednosti, novåane vrednosti, datumi, vrednosti<br />

tipa da/ne, Memo podaci i OLE slike. Nauåiñete i kako da na obrascima koristite kontrole<br />

natpis i poàe za tekst, komandnu dugmad, kontrole u grupama opcija, poàa za<br />

potvrœivaçe i preklopnu dugmad. Saznañete kako se crtaju linije i pravougaonici<br />

i kako se na çih primeçuju razni specijalni efekti. Na obrascu se nalazi i kontrola<br />

tipa grupa kartica, koja pak sadræi kontrolu tipa podobrazac. Obrazac sadræi åak<br />

i iskaåuñi kalendar. Prouåavañete viãe raznih vrsta obrazaca i tehnika za unoãeçe,<br />

filtriraçe, uåitavaçe i prikazivaçe podataka. Na obrascu su primeçene tehnike<br />

za sakrivaçe kontrola, prikazivaçe kontrola zavisno od odreœenih poslovnih pravila,<br />

pa åak i za aæuriraçe podataka u drugim tabelama. Pomoñu ovog obrasca<br />

nauåiñete i da radite s poàima tipa Memo za duæi tekst, kao i sa slikama.<br />

Slika P-3: Obrazac Products aplikacije Access Auto Auctions koji omoguñava<br />

unoãeçe podataka o artiklu koji se prodaje, direktno ili na nadmetaçu.<br />

Vaæno je dobro razumete kako se obrazac koristi i tehniåke detaàe o tome kako<br />

je napravàen. Taj obrazac prikazuje podatke o pojedinim artiklima i vezan je za<br />

tabelu tblProducts. Podaci koje unosite na obrascu frmProducts smeãtaju se u<br />

tabelu tblProducts. Viãe o tome saznañete u drugom delu kçige.


<strong>Predgovor</strong><br />

xxi<br />

Nauåiñete da podesite veliåinu kontrola, da poravnate kontrole i podesite razmak<br />

izmeœu çih. Kopirañete i umetañete kontrole (pomoñu mehanizma Clipboarda),<br />

savladañete sve tajne premeãtaça kontrola i koristiñete boje, senåeçe, fontove, pa<br />

åak i specijalne efekte. Obrazac frmProducts moæe da radi sve navedeno i joã mnogo<br />

viãe. Kasnije, kada savladate izradu obrazaca, nauåiñete da ovom i viãe drugiih obrazaca<br />

pridruæite programski kôd da biste napravili zaista moñnu aplikaciju. Nauåiñete<br />

kako da obrascu za izradu raåuna pridruæite programski kôd da biste utvrdili koliåinu<br />

na zalihama odreœenog proizvoda pre nego ãto ga prodate i da zatim umaçite<br />

tu koliåinu nakon prodaje artikla.<br />

Na poåetku gorçeg dela obrasca frmProducts nalazi se kontrola koja korisniku<br />

aplikacije omoguñava da brzo pronaœe odreœeni zapis. Ta brza pretraga programirana<br />

je pomoñu VBA koda pridruæenog izboru stavke s padajuñe liste. U doçem<br />

delu obrasca nalazi se nekoliko komandnih dugmadi koja ilustruju postupke unoãeça<br />

novog zapisa, brisaça postojeñeg zapisa i prikazivaça namenskih dijaloga za<br />

pretraæivaçe i ãtampaçe podataka.<br />

Podobrazac na obrascu Products<br />

Obrasci najåeãñe prikazuju po jedan ekran podataka. Obrazac frmProducts sadræi<br />

kontrolu tipa grupa kartica koja omoguñava da jedan obrazac efikasno prikazuje<br />

viãe ekrana s podacima. Na svakom se moæe prikazati druga tabela ili drugaåiji obrazac.<br />

Obrazac frmProducts svaki put prikazuje podatke iz jednog zapisa. Tome sluæi<br />

prva kartica åije je ime Product. Druga kartica, åije je ime Show All Products, prikazuje<br />

podatke iz viãe zapisa istovremeno (slika P-4). To je zapravo podobrazac (åije<br />

je ime fsubProductsDisplayAll) postavàen na obrazac frmProducts.<br />

Slika P-4: Kartica Show All Products na obrascu Products aplikacije Access Auto Auctions<br />

omoguñava korisniku da prikaæe sve artikle i da brzo preœe na prikaz detaànih podataka iz<br />

izabranog zapisa.


xxii<br />

Access 2003 Biblija<br />

Taj obrazac je joã jedan dobar primer naåina rada obrazaca. On prikazuje podatke<br />

iz viãe zapisa, ali samo iz zadatih poàa. Svakom zapisu pridruæeno je dugme za prelaz<br />

na drugu karticu koja prikazuje viãe detaànih podataka o izabranom artiklu nego ãto<br />

je vidàivo na prvoj kartici. Pored svakog zapisa nalazi se i dugme za brisaçe zapisa<br />

koji viãe nije potreban. Svako zaglavàe kolone zapravo je dugme kojem je pridruæen<br />

programski kôd i koje moæe da se pritisne da bi se sortirali zapisi prikazani na<br />

obrascu. Kada se dugme pritisne, sadræaj obrasca se sortira po rastuñem redosledu<br />

podataka u odgovarajuñoj koloni. Kada se dugme pritisne joã jednom, podaci se sortiraju<br />

po opadajuñem redosledu.<br />

Obrazac Contacts<br />

Obrazac frmContacts, prikazan na slici P-5, sluæi za odræavaçe podataka o raznim<br />

osobama i firmama s kojima posluje firma Access Auto Auctions. Prikazuju se<br />

podaci o imenu i adresi, kao i to da li je u pitaçu kupac, prodavac ili oboje. Obrazac<br />

sadræi podatak o tome da li je kupac ili prodavac zapravo firma koja prodaje automobile<br />

ili rezervne delove s kojom AA Auctions redovno saraœuje, ili je u pitaçu<br />

samo neko ko je uåestvovao na javnom nadmetaçu i dao najveñu ponudu za odreœeni<br />

automobil.<br />

Obrazac Contacts, sliåno obrascu Products, sadræi kontrolu tipa grupa kartica.<br />

To omoguñava da isti obrazac prikazuje viãe razliåith ekrana s podacima. Na primeru<br />

obrasca Contacts nauåiñete kako se na obrascu prikazuju odreœeni objekti u<br />

zavisnosti od zadatih uslova. Videñete i kako se koristi kontrola tipa kalendar za<br />

unoãeçe i prikazivaçe datumskih podataka. Na osnovu podataka s drugih kartica,<br />

nauåiñete kako da prikazujete druge obrasce, kao ãto je Contact Log, i da sinhronizujete<br />

podatke izmeœu dva obrasca.<br />

Slika P-5: Obrazac frmContacts aplikacije Access Auto Auctions koji prikazuje grupu<br />

kartica i vrednosti koje se åuvaju u tabeli tblContacts.<br />

Upotreba obrasca za izdavaçe raåuna kupcu<br />

Obrazac frmSales, prikazan na slici P-6, koristimo da objasnimo neke naprednije<br />

koncepte o obrascima koje ñete prouåavati u ovoj kçizi. Za razliku od svih ostalih<br />

obrazaca aplikacije, obrazac Invoice sadræi dva podobrasca, a u svakom se koristi<br />

relacija tipa “jedan prema viãe”. To znaåi da na svakom podobrascu moæe biti


<strong>Predgovor</strong><br />

xxiii<br />

prikazano jedan ili viãe zapisa koji su u relaciji sa (sadræe istu vrednost kàuåa)<br />

tekuñim zapisom na glavnom obrascu. U ovom primeru, svaki raåun sadræi jedan ili<br />

viãe artikala prodatih kupcu. Poãto korisnik aplikacije zada sve prodate artikle i<br />

izraåuna se ukupan iznos raåuna, moæe da unese jednu ili viãe stavki uplata za prodato<br />

vozilo ili rezervne delove. Kupac moæe da plati deo iznosa åekom, a ostatak<br />

duga sa dve razliåite kreditne kartice.<br />

Slika P-6: Obrazac Invoice aplikacije Access Auto Auctions prikazuje viãe povezanih<br />

podbrazaca i poàa sa izraåunatim podacima.<br />

Na primeru ovog obrasca nauåiñete i kako da obavàate jednostavne ili sloæene<br />

proraåune. Na primer, u koloni Amount (iznos) izraåunava se vrednost izraza Qty x<br />

Price x (1-Discount%). Iznose u svim pojedinaånim redovima treba sabrati da bi se<br />

izraåunao ukupan iznos raåuna (poàe Subtotal). Zatim se uåitava stopa poreza i<br />

izraåunava iznos poreza (poàe Tax Amount). Taj iznos se dodaje iznosu unetom u<br />

poàe Other Amount da bi se izraåunao iznos za uplatu (poàe Total). Sve navedeno<br />

obavàa se na osnovu sadræaja stavki raåuna, na podobrascu frmSalesLineItems.<br />

Drugi podobrazac, frmSalesPayments, takoœe ilustruje kako se izraåunava ukupan<br />

zbir na jednom podobrascu (ukupan iznos svih uplata) i kako se taj podatak<br />

koristi u kontrolama u drugim delovima glavnog obrasca. Tako se izraåunava sadræaj<br />

u kontroli Amount Due (poàe Total Due). Za izraåunavaçe ukupnog iznosa za<br />

uplatu potrebni su podaci i iz glavnog obrasca i iz oba podobrasca.


xxiv<br />

Access 2003 Biblija<br />

U prvim poglavàima saznañete najpre kako se ti proraåuni mogu obaviti iskàuåivo<br />

pomoñu svojstava kontrola, bez upotrebe VBA koda. Savladañete mnogobrojne<br />

tehnike referenciraça kontrola na razliåitim obrascima i upotrebe tih kontrola u<br />

proraåunima. Potom ñete nauåiti kako da obezbedite veñi stepen fleksibilnosti i moñi<br />

pomoñu VBA koda kojim ñete zameniti prvobitno primeçene tehnike, a zatim ñete<br />

svladati upotrebu procedura da biste aplikaciju podigli na zaista profesionalan nivo.<br />

Na primeru obrasca Invoice savladañete i viãe drugih vaænih tehnika, kao ãto su<br />

prikazivaçe vrednosti iz drugih obrazaca, kada budete prouåavali kako da prikaæete<br />

podatke o odreœenom artiklu tako ãto ñete obraditi dogaœaj double click u kontroli<br />

koja u stavci raåuna prikazuje artikal. Objaãneno je i kako se svaka stavka raåuna i<br />

artikal u çoj moæe izbrisati pomoñu dugmeta u stavci i odgovarajuñeg programskog<br />

koda. Pri dnu obrasca Invoice nalazi se dugmad za unoãeçe novog zapisa s podrazumevanim<br />

vrednostima, brisaçe nepotrebnog raåuna i za prikazivaçe dijaloga za<br />

pretraæivaçe i ãtampaçe podataka.<br />

Dijalozi za pretraæivaçe podataka<br />

Svaki glavni obrazac (Contacts, Products, Invoice) moæe da otvori drugi obrazac<br />

poznat kao okvir za dijalog (obrazac prikazan preko drugog obrasca). To korisniku<br />

omoguñava da izabere jedan od viãe naåina pretraæivaça podataka. Dijalog sadræi<br />

grupu opcija iz koje korisnik bira naåin pretraæivaça podataka, a zatim pomoñu<br />

VBA koda uåitava i prikazuje traæene podatke u obliku liste (slika P-7). Kada korisnik<br />

na listi izabere potreban zapis i pritisne dugme OK, drugi VBA kôd zatvara okvir za<br />

dijalog i prikazuje traæene podatke na obrascu Invoice.<br />

Slika P-7: Ovaj dijalog aplikacije<br />

Access Auto Auctions omoguñava<br />

nekoliko naåina pretraæivaça podataka<br />

za obrazac Invoice.<br />

Dijalozi za ãtampaçe podataka<br />

Svaki glavni obrazac moæe da otvori i drugi obrazac poznat kao okvir za dijalog<br />

(obrazac prikazan preko drugog obrasca) koji korisniku omoguñava zadavaçe vaænih<br />

parametara pre ãtampaça izveãtaja pridruæenog glavnom obrascu. U ovom primeru,<br />

na slici P-8 prikazan je okvir za dijalog frmDialogSalesPrint koji omoguñava<br />

ãtampaçe raåuna. Taj obrazac omoguñava ãtampaçe raåuna za tekuñi zapis prikazan<br />

na obrascu Invoice, za zadati opseg datuma ili åak ãtampaçe svih raåuna za<br />

zadatog kupca. Saznañate kako da napravite taj obrazac i kako da napiãete odgovarajuñi<br />

VBA kôd koji mu je potreban. Na primeru tog obrasca nauåiñete i da filtrirate


<strong>Predgovor</strong><br />

xxv<br />

podatke za izveãtaje i prosleœujete podatke Accessovim rutinama za ãtampaçe.<br />

Nauåiñete kako da na ekranu prikaæete izgled izveãtaja pred ãtampaçe i odãtampate<br />

zadati broj kopija. Saznañate i kako se iz ovog jednostavnog okvira za dijalog moæe<br />

odãtampati viãe izveãtaja istovremeno.<br />

Slika P-8: Okvir za dijalog koji<br />

omoguñava ãtampaçe raznih<br />

izveãtaja koji se tiåu raåuna<br />

izdatih pomoñu obrasca<br />

Invoice aplikacije Access Auto<br />

Auctions.<br />

Svakom vaænijem obrascu odgovara zaseban okvir za dijalog koji omoguñava<br />

ãtampaçe podataka.<br />

Dok åitate pojedina poglavàa, vratite se u ovaj predgovor da biste se podsetili<br />

ãta ñete nauåiti ili gde se nalaze pojedini obrasci. U svakoj datoteci baze podataka<br />

koja prati poglavàe nañi ñete samo objekte koji su potrebni u poglavàu. Glavna baza<br />

podataka, AccessAutoAuctions.mdb i s çom povezana datoteka za podatke Access-<br />

AutoAuctionsData.mdb, sadræe konaånu verziju primera. Meœutim, u veñini programskih<br />

datoteka (sa upitima, obrascima, izveãtajima i modulima) koje prate pojedina<br />

poglavàa ista baza podataka sadræi i tabele.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!