HOME ELEKTRONIKA PROGRAMI DIVX TELEKOMUNIKACIJE XXX INTERNET |
Na ovom času ćemo ukratko preći preko forme 'Knjige' sa akcentom na pretragu. Proceduru opisanu u času broj 7 možemo jednako primeniti i na ovu formu, s tim da postupak kreiranja polja za pretragu koji će biti opisan u ovom času, možemo uz neznatne izmene primeniti i na formu 'Citaoci'.
Drugi deo časa je posvećen komandnoj tabli (engl. Switchboard) iz koje se mogu aktivirati ostale forme i izveštaji. Slične komandne table se mogu videti u primerima baza koje se instaliraju uz Microsoft Office 2000.
Forma 'Knjige' Za efikasno praćenje kreiranja forme Knjige predlažem da pogledate čas 6 na kome je opisana procedura kreiranja forme Citaoci. Osim ulazne tabele, sva podešavanja veličine, izgleda i načina ponašanja objekata možemo primeniti i na ovu formu. Da ne bismo istu proceduru opisivali dva puta, kreirajte formu pod nazivom frmKnjige. Za ulazne podatke postavite Record Source na tabelu Knjige. Rasporedite polje za odgovarajuće ulazne podatke i zatim postavite tastere &Dodaj novu i Zatvori masku sa odgovarajućim VBA programom.
Iako smo pomenuli makro jezik i ma kako lak on izgledao za jednostavne operacije, predlažem da zaboravite da postoji i da punu pažnju obratite na jezik VBA. Ovo je veoma važan korak i uspešnim kreiranjem forme frmKnjige potvrđujete sebi da ste savladali dosadašnje gradivo.
Formu frmKnjige otvorite u pogledu za izmenu dizajna i otvorite meni View i opciju Tab Order.... Ovde se može podesiti redosled po kome će se kurzor kretati kada korisnik pritisne taster Tab ili Enter. Smisleno je da se kurzor premesti na sledeće polje, a ne da se podaci popunjavaju odozdo na gore ili nekim drugim redosledom. Obratite pažnju na spisak polja i zatim pritisnite taster Auto Order. Access će pokušati da poređa polja logičnim redosledom, a ako ne primetite razliku pre apliciranja ove operacije i posle nje, to znači da je redosled dobar.
Obratite pažnju da Access ponekad zna da omane: ako su vam polja u dve ili više kolona, rezultat će biti neizvesan, u zavisnosti od vaše namere - da li će se popunjavati prva kolona, pa zatim druga ili naizmenično obe. Nažalost, premalo polja imamo da bismo pokazali na primeru, ali će ovo biti nedvosmisleno jasno kada budete došli u situaciju da kreirate jednu mamutsku formu.
Spustite objekte na formi tako da prvi objekat (ID_Knjiga) bude odmaknut od vrha barem dva centimetra. U toolbaru Toolbox pronađite i kliknite na taster sa linijom i zatim neposredno iznad polja ID_Knjiga.
Postavljenu liniju "uhvatite" za desnu stranu i izdužite je na širinu forme.
Uloga ove linije je najviše da bude ukras - ona logički odvaja (buduća) polja za pretragu i sadržaj tabele.
Pretraga Polje za pretragu se obično postavlja kao Combo polje, tj. kao padajuća lista sa mogućnošću direktnog unosa ili uz izbor iz ograničene liste podataka. Kucanjem teksta ili brojeva u ovo polje, Access pokušava da dopuni ostatak sadržaja kojeg korisnik traži. Zašto Combo polje, a ne obično? Jednostavno zato što ono ima neke osobine koje obično polje nema (opciju Limit to List ili On Not In List). Postavimo jedno polje za pretragu knjiga po ključu ID_Knjiga.
Prvo kliknimo na ikonu Combo polja i zatim na formu:
Ako imate instalirane "čarobnjake", pokrenuće se jedan od njih koji će vas provesti kroz proceduru postavljanja parametara za Combo polje na osnovu odgovora na ponuđeni izbor. Ovu proceduru možete kasnije upotrebiti. Za sada ćemo je preskočiti, kako biste mogli da shvatite šta se iza nje krije. Pritiskamo taster Cancel, otvaramo karticu osobina za Combo polje i postavljamo sledeće osobine i vrednosti (klikom na svaku sliku dobijate sliku u punoj veličini):
Zatim kliknimo na Combo polje (Nadji_knjigu) i predvidimo događanja:
Da bismo ispunili ove uslove, koristićemo program sa dva događaja za ovo polje. Za prvi uslov odgovarajući događaj je After Update (posle izmene), dok se za aktiviranje programa po drugom događaju koristi Not In List (nije u spisku).
U događaj AfterUpdate upišite sledeći program:
Dim rs As Object
Da bi Access znao sa čime operiše, to mu se mora reći. Objekat rs se definiše kao Recordset - skup zapisa. Nad tim skupom zapisa se sprovodi pretraga (rs.FindFirst) i zatim se pokazivač premešta na nađeni slog (Me.Bookmark). Fokus se premešta na ID_Knjiga dok se sadržaj Combo polja Nadji_knjigu briše.
U događaj NotInList upišite:
Private Sub Nadji_Knjigu_NotInList(NewData As _
NewData je podatak koji je ukucan, a ne postoji u skupu zapisa. Ovaj podatak se može iskoristiti za automatsko dodavanje u tabelu Knjige. Kako je ovde reč o slučajnoj grešci, ovo nećemo raditi. Obradićemo samo grešku: klauzula On Error GoTo Greska šalje program na kodnu labelu Greska: i izvršava program iza nje. Prvo se poništava unos sa Undo, presreće se greška koju Access generiše sa accDataErrorContinue i izdaje se poruka o grešci MsgBox. Ovakva dva polja možete (i treba) sami da postavite na formu frmCitaoci. Pretraga treba da postoji po poljima ID_Citalac i Prezime_ime.
Komandna tabla Komandna tabla je, u stvari, skup tastera kojima se pristupa drugim elementima programa - formama i izveštajima. Ona može sadržati i servisni deo gde će korisnik arhivirati bazu, uraditi kompresiju i slično. Ovde je dozovoljena umerena kreativnost - nenapadna slika i malo boje mogu doprineti ugodnijem vizuelnom efektu.
Što se same komandne table tiče, ona će u našem slučaju biti obična "nevezana" forma (forma koja ne koristi niti jednu tabelu za prikaz podataka) setovana tako da "drži kontrolu" nad aplikacijom. Pre svega, valja da pokušamo da definišemo izgled i broj tastera sa namenom.
NAPOMENA:
Izgled komandne table Predvidećemo mesto za sliku na levoj strani duž visine forme. U centralnom delu ćemo postaviti tastere za pristup formama i izveštajima baze. U našem primeru, svi tasteri će se nalaziti na jednoj komandnoj tabli, pošto je aplikacija jednostavna. U složenijoj aplikaciji neke od tastera valja postaviti na drugi ekran komandne table, naročito one tastere koji se ređe koriste (kao što su razni izveštaji ili servisni moduli). Od tastera ćemo koristiti sledeće:
Formu ćemo postaviti na fiksnu veličinu bez mogućnosti izmene razvlačenjem mišem. Onemogućićemo standardne tastere za Minimize/Restore/Maximize i Close. Takođe ćemo joj isključiti i sve ostale standardne objekte: selektor zapisa, komande za kretanje kroz slogove i oba klizača.
Pređimo na karticu formi i kliknom na taster New. Iz izbora odmah selektujmo Design View i kliknimo na OK. Otvorimo karticu osobina za formu i postavimo vrednosti opcija po slici:
NAPOMENA:
NAPOMENA:
U Accessu otvorimo meni Insert i zatim kliknimo na Picture.... Pronađimo sliku knjige.bmp, selektujmo je i potvrdimo izbor. Access će zatim kao objekat uvesti sliku na formu.
Kliknimo na ikonu Text Box, pa postavimo polje negde pri vrhu forme. Selektujmo labelu i obrišimo je pritiskom na taster Del, tako da ostane samo polje. Kliknimo na polje, pritisnimo taster F2 (editovanje) i u ovo nevezano polje upišimo:
Na kartici osobina za ovo polje pronađimo vrednost Format i iz padajuće liste odaberimo Long Date. Postavimo veličinu fonta na 14 bold; boju ivice postavimo na boju forme; pozadinu polja postavimo takođe na boju forme i konačno boju teksta postavimo na tamno plavu. Tasteri za brz pristup boji polja i ivice polja se nalaze u grupi tastera pod nazivom Formatting:
Za ovo polje postavimo i sledeće osobine:
Zatim postavimo jedan komandni taster i odgovorimo sa Cancel kada se startuje čarobnjak. Width i High postavimo na vrednosti 4,5cm i 0,9cm respektivno. Na novodobijenom tasteru će pisati nešto nalik Command2. Dok je taster selektovan, pritisnimo prečicu CTRL+C (kopiraj na Clipboard) i zatim CTRL+V (vrati sa Clipboarda).
Kako smo predvideli da će biti ukupno 8 tastera, pritisnimo još 7 puta prečicu CTRL+V. Access će poređati jedan ispod drugog nove tastere sa nazivima Command3, Command4... Command9. Obratite pažnju da će natpis na tasteru ostati Command6, što nema veze sa pravim nazivom tastera - to je samo tekst na tasteru.
NAPOMENA:
Na sledećem času ćemo tasterima na komandnoj tabli dodeliti nazive i funkcije kreirajući pri tome odgovarajuće upite i izveštaje.
Rezime časa 8 Za ovaj čas smo ovoliko predvideli. Ukoliko neke od opcija ne možete da pronađete ili neke od operacija ne možete da aplicirate, predlažem da još jednom pročitate prethodne časove. Objašnjenja za operacije koje se ponavljaju su namerno izostavljena, jer ona se nalaze u nekom od prethodnih časova. Kao što ste primetili, neke opcije smo primenili na formu 'frmCitaoci' a neke na drugu formu 'frmKnjige' iako obe forme treba da ih imaju. Ukoliko uspete da ih prenesete sa jedne na drugu, na dobrom ste putu da primenite osnovna stečena znanja i da se sami uspešno služite programom Access.
Čas 9 - Funkcije komandne table
|
HOME ELEKTRONIKA PROGRAMI DIVX TELEKOMUNIKACIJE XXX INTERNET |