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.