|
Microsoft Office Access |
|
|
Stranica sadržajaNivo:
Tokom čitanja izveštaja koji ima mnogo stranica lako je izgubiti se u njegovom sadržaju. Nažalost, Access nema mogućnost kreiranja strane sadržaja nalik Wordu, pa se korisnici dovijaju na razne načine. U bazi znanja Microsofta ćete pronaći rešenje koje koristi komplikovanu DAO proceduru. Međutim, postoji i relativno lako način moguće da napravite takvu automatski generisanu stranicu. Prikazano rešenje možete upotrebiti u svim verzijama počev od Accessa 95, a prikazaćemo ga na konkretnom primeru koji kasnije možete prilagoditi svojim potrebama. Pretpostavimo da ste Access upotrebili kako biste katalogizovali svoju kolekciju DVD filmova. Konačan cilj je da kreirate izveštaj grupisan po filmskim žanrovima i stranicu sadržaja u kojoj će biti ispisan žanr i broj stranice. Prva tabela mora sadržati barem kolonu naziva i kolonu žanra filma, ali može sadržati i kolonu glumaca, režisera ili trajanja filma. Nazovite tabelu tblFilmovi. Poštujući pravila normalizacije, podatke o žanru koji se ponavljaju ćete izdvojiti u zasebnu tabelu. Kreirajte i drugu tabelu pod nazivom tblZanr koja će sadržati dva polja: IDŽanr (tip Autonumber) i Žanr (tip Text dužine dva znaka); u primeru ćete koristiti dužinu polja Žanr od dva znaka, mada dužinu možete promeniti i na više znakova. Otvorite tabelu tblFilmovi i u polju Žanr izmenite tip polja iz tekstualnog u broj, pokrećući Lookup čarobnjak. U narednim koracima odaberite tabelu tblZanr, a zatim odaberite polje Žanr. Pre nego što pristupite popunjavanju tabele filmova, definišite skraćenice žanrova u tabeli žanrova (npr. TR za triler, KO za komediju, DR za dramu, itd.). Osim ove dve tabele, biće potrebna i treća koju ćete nazvati tblSadrzaj. Ideja je da se u toku formatiranja izveštaja tabela sa sadržajem popunjava kako b biste je kasnije iskoristili kao izvor podataka za drugi izveštaj. Kreirajte ovu tabelu sa dva polja: Žanr i Strana. Za tip polja Žanr pokrenite Lookup čarobnjak i povežite njegov sadržaj sa poljem Žanr tabele tblZanr. Za polje Strana odaberite numerički tip sa podtipom Integer. Pre nego što pređete na kreiranje izveštaja, neophodno je da napravite upit koji će imati zadatak da pri svakom pokretanju glavnog izveštaja izbriše sadržaj tabele tblSadrzaj. Pređite u SQL oblik dizajniranja upita i prenesite u njega sledeće: DELETE tblSadrzaj.* FROM tblSadrzaj; Pokrenite čarobnjak za kreiranje izveštaja i na osnovu tabele tblSadrzaj napravite izveštaj. Na pitanje po čemu želite da sortirate sadržaj izveštaja, iz padajuće liste odaberite polje Strana. Kako sadržaj ima samo dva polja, čarobnjak će ih postaviti jednog uz drugog uz levu ivicu. Uz levu ivicu ostavite polje Žanr, ali polje Strana povucite ka desnoj ivici. U sekciji Details postavite labelu tolike širine da se prostire između dva polja i u nju ukucajte odgovarajući broj tačaka (...). Može i drugačije: povucite liniju između dva polja, a zatim otvorite karticu osobina i vrednost BorderStyle izmenite iz Solid u Dots. Na "debljinu" tačaka možete uticati menjanjem parametra Border Width. Sačuvajte izveštaj pod nazivom rptSadrzaj. Na isti način napravite i drugi izveštaj, sa tim da za izvor podataka uzmete tabelu tblFilmovi. Ne zaboravite da na pitanje o grupisanju podataka (group by) postavite polje Žanr. Grupisan po određenom polju, izveštaj izgleda lepše kada svaka nova sekcija započinje na novoj strani. Da biste ovo napravili, otvorite okno Sorting and Grouping i za polje Žanr vrednost Group Footer postavite na Yes. Dva puta kliknite na izveštaju na Žanr Footer i u kartici osobina postavite vrednost ForceNewPage na After Section. U događaju OnOpen izveštaja postavite sledeće: DoCmd.SetWarnings False DoCmd.OpenQuery "qryObrisiSadrzaj" DoCmd.SetWarnings True Prvi red isključuje kontrolno pitanje kada pokrenete destruktivni upit koji briše sadržaj tabele. U drugom redu pokrećete upit i uključujete buduća kontrolna pitanja. Kliknite na Žanr Header i u događaj On Format postavite sledeći program:
Dim tSql As String
tSql = "Insert Into tblSadrzaj Values ('" _
& Zanr & "', " & Page & ")"
DoCmd.SetWarnings False
DoCmd.RunSQL tSql
DoCmd.SetWarnings True
Pri svakom formatiranju zaglavlja izveštaja, SQL struktura će zapisati u tabelu tblSadrzaj oznaku žanra i stranu od koje počinje. Mana rešenja leži u poštovanju pravila. Da biste načinili univerzalno rešenje, nijedno polje tabele tblSadrzaj ne može biti povezano sa sadržajem druge tabele, pa vredi razmisliti o izuzetku od pravila - o denormalizaciji. U VBA program koji se pokreće prilikom štampe izveštaja možete dodati i red koji će automatski štampati i sadržaj. Konačno, vaš sadržaj može da izgleda kao na priloženoj slici.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2011; Valinor Design; sva prava pridržana. |