Formatiranje i modifikovanje tabela . Svojstva polja. Operatori.
Podešavanjem dodatnih svojstava polja i formatiranjem istih, kao i korišćenjem operatora, utiče se na dodatnu kontrolu unosa podataka a samim tim i veću tačnost istih. Takođe, na ovaj način se smanjuje verovatnoća slučajnih grešaka. U nastavku lekcije, ova podešavanja će mo isprobati na polja iz tabela baze Škola sa prethodnih časova. Posle svake promene, potrebno je da proverite urađeno.
Podešavanje dodatnih svojstava polja
- Field Size. Ovim smojstvom se može ograničiti dužina svakog polja unošenjem vrednosti za maksimalni broj karaktera. Izuzetak je kod tipa Number, gde se ovo rešava izborom podtipa iz kombo boksa.
Zadatak. U svim tabelama, Šifru učenika podesite na 4, Odeljenje na 2, JMBG na 13. Polje Iznos u tabeli Ekskurzija podesiti kao Double.
- Format. Ovo svojstvo ne utiče na vrednost podatka, već samo na način kako se oni prikazuju. Slično kao u Excelu, za tip podatka Number format birate iz padajuće liste (Standard, Percent, …). Za tip podatka Text u format možete da stavite znak > ili <. Ukoliko stavite znak > (veće od) sva slova će se prikazivati kao velika bez obzira kako ih kucate. Za tip podatka Date format možete da birate iz padajuće liste ili pak da kucanjem karaktera d, m, y zadate prikazivanje datuma (npr. dd/mmm/yy će prikazati datum kao 04/avg/15).
Zadatak. Polje Iznos u tabeli Ekskurzija podesiti kao Standard. Mesto stanovanja podesite da se prikazuje sa velikim slovima. Datum uplate podesite kao Medium Date, a Datum rodjenja dd/mm/yyyy.
- Input Mask. Ulazna maska određuje kako se prikazuju podaci tokom unosa i ne dozvoljava greške. Koristimo je najčešće za unos nekih standardizovanih vrednosti tipa: broj telefona, šifra, JMBG, PIB, datum… Ako u ulaznoj masci, na nekoj poziciji stavimo 0 (nula), to znači da na istoj poziciji možete uneti cifru od 0 do 9, bez obzira da li se radi o tekstualnom tipu podatka. Broj 9 na nekoj poziciji, za razliku od nule dozvoljava kucanje razmaka ili cifre. Ako za datum ili telefon koristite neke specijalne karaktere (. – / ( )), a kako bi se uključili u niz, morate da ispred njih stavite kosu crtu unazad (\).
Zadatak. U svim tabelama, Šifru učenika podesite tako da mogu da se ukucaju samo 4 cifre. (ulazna maska je 0000), Odeljenje na 2 (00), JMBG na 13 (0000000000000). Pošto neki telefonski brojevi imaju šest a neki sedam cifara, zbog preglednosti, podesite ulaznu masku za Telefon kao 000\/9000\-000
- Caption. Ovde unosimo ono što želimo da vidimo na zaglavlju tabele dok unosimo ili pregledamo podatke. Razlog ovome je u tome što ponekad ime polja ne asocira na ono što unosimo.
Zadatak. Za polje Iznos u tabeli Ekskurzija unti Vrednost uplate.
- Defaul Value. Definiše inicijalnu vrednost za neko polje. Koristi se kada je veći deo podataka isti, tako da se automatski unosi za svaki nov slog.
Zadatak. Pošto je većina učenika iz Paraćina, difoltnu vrednost za Mesto stanovanja podesite kao Paraćin. Za polje Datum uplate postavite funkciju =Now() koja će vam ponuditi sistemski tekući datum.
- Validation Rule. Slično kao kod Excela, omogućava nam do ograničimo neke vrednosti u polju.
Zadatak. Podesite da iznos uplate u tabeli Ekskurzija ne može biti manji od 1000 dinara (>=1000).
- Validation Text. Ovo je prateća poruka, koja se javlja ukoliko nije ispoštovano validaciono pravilo, a sve u cilju da se ispravi nastala greška prilikom unosa.
Zadatak. Za polje iz prethodnog zadatka unesite tekstualnu poruku “Morate uneti vrednost veću ili jednaku 1000”. Probajte sada da u tabelu unesete i manju i veću vrednost od 1000. (Napomena: kada unesete neku vrednost u polje, potrebno je, kao u Excelu, da se “pomerite” u susedni slog kako bi videli efekte podešavanja svojstava.)
- Required. Zahtevan unos. Ovo svojstvo ima dve vrednosti Yes i No. Ako podesite na Yes, to znači da ovo polje ne sme biti prazno. Program vam neće dozvoliti da pređete u drugi slog sve dok ne unesete podatak.
Zadatak. U tabeli Učenici, za polja Prezime, Ime i Odeljenje podesite obavezan unos. Unesite sada novog učenika, ali ostavite prazno Ime i pokušajte da pređete u prethodni slog. Program će vas obavestiti da prvo morate da popunite Ime jer je svojstvo Required setovano na Yes.
- Indexed. Indeksiranje omogućava bržu pretragu i sortiranje podataka. Ovo je posebno važno za velike tabele. Vrednosti su No i Yes koje može biti sa ili bez duplikata.
Zadatak. U tabeli Ekskurzija polje Sifra ucenika treba da bude indeksirano sa dozvoljenim duplim vrednostima Yes (Duplicates OK). Za polja gde je primarni ključ važi Yes (No Duplicates). Proverite i odgovorite zašto.
Padajuća lista u tabeli sa unapred definisanim vrednostima
Ukoliko se neke vrednosti uvek iste (npr. Pol – Muško/Žensko), možemo definisati padajuću listu iz koje korisnik bira vrednost. Ovo se podešava na tabu Lookup.
Zadatak. U tabelu Učenici dodati polje Pol i premestiti ga iza polja Ime. Za vrednost Display Control izaberite List Box. Polje Row Source Type podesite na Value List, a u Row Source otkucajte Muško; Žensko. Ovo je u stvari lista koju smo mi napravili. Vrednosti se odvajaju separatorom tačka-zarez. U drugim slučajevima, lista može imati i više definisanih vrednosti (npr. za razred – prvi; drugi; treće; četvrti).
Ukoliko bi u Row Source Type izabrali Table/Query onda bi podatke mogli da “vučemo” iz druge tabele ili upita. Ovo će mo da uradimo na nekom od narednih časova, tako što će mo polje Odeljenje u tabeli Učenici da popunjavamo iz tabele Smer.
Operatori
Kod tabela se operatori koriste uglavnom kod svojstva Validation Rule i to na tipove podataka Text, Number i Date. To su: znak JEDNAKO (=); znak MANJE OD (<); znak VEĆE OD (>); VEĆE ILI JEDNAKO (>=); MANJE ILI JEDNAKO (<=); RAZLIČITO (<>). Kod upita će mo se kasnije upoznati sa još nekoliko operatora.
Na kraju, imamo bazu sa malo podataka koje smo usput unosili kako bi isprobavali različite mogućnosti podešavanja svojstava polja. Podešenu bazu Škola možete preuzeti ovde. U nastavku će mo raditi sa većim tabelama koje će mo dobiti uvozom iz drugih baza i datoteka. Uvoz i izvoz podataka takođe zahteva modifikovanje tabela.
Uvoz i izvoz podataka u druge datoteke. Brisanje i kopiranje strukture tabele.
Rad sa eksternim podacima ponekad može da bude jako dragocen. Recimo, imate podatke u Excel datoteci i želite da napravite bazu. Naravno da nećete da prekucavate podatke jer je to dugotrajan proces, a sa druge strane omogućen je uvoz podataka u bazu. Pored ovoga, podatke možete da uvezete u bazu i iz druge baze. Omogućen je uvoz ne samo tabela, već i upita, izveštaja i obrazaca.
Na isti način, pošto je Excel fleksibilniji za rad od Accessa, podatke možete i da izvezete u Excel datoteku.
Podaci, sa kojima će mo da radimo u ovoj vežbi su izveženi iz nekadašnje baze EIS u Excel datoteku. Podaci su različitim metodama sortirani, pomalo izmenjeni i “izmešani” tako da ne otkivaju ničiji identitet. Potrebne fajlove (2 Ucenici 0607.xlsx i 2 Ucenici.mdb) možete preuzeti ovde.
Uvoz podataka – zadaci
- Napravite novu bazu Evidencija.
- U novu bazu uvezite podatke iz Excel datoteke 2 Ucenici 0607.xlsx. Ove podatke snimiti u tabeli Spisak učenika.
- Drugu tabelu Smerovi uvezite iz baze 2 Ucenici.mdb.
- Pre nego što povežete tabele, podesite sva polja u ovim tabelama kao u bazi Škola sa prethodnih časova. Ovo podrazumeva tipove podataka, formatiranje, ulazne maske, …
- U tabelu Smerovi, dodajte polje za odeljenjskog starešinu i popunite.
- Kako se ne bi duplirali podaci, iz tabele Spisak učenika obrišite polja Upisani smer i Od starešina.
- Povežite tabele relacijom jedan prema više i uključite referencijalni integritet. Doći će do problema. Pokušajte da sami rešite. Ukoliko ne uspete, rešenje je na kraju lekcije.
- Ako ima vremena, napravite novu tabelu Biblioteka i povežite je sa ostalim tabelama. U suprotnom, neka to bude domaći zadatak.
Da krenemo. Podatke iz Excel datoteke uvozimo pomoću External Data/Import/Excel. Bira se datoteka preko dugmeta Browse… i prva opcija Import…
U prvom koraku čarobnjaka, kako bi odmah odredili imena polja, treba da čekirate First Row Contains Column Headings. U drugom koraku možete da, jedno po jedno, podesite tipove podataka za sva polja. Ja sam pristalica da ovo naknadno uradimo u dizajn modu tabele. U trećem koraku definišemo primarni ključ (polje Šifra) i na kraju dajemo ime tabeli Spisak učenika.
Na sličan način, pomoću External Data/Import/Access uvozimo drugu tabelu Smerovi iz baze 2 Ucenici.mdb.
Ukoliko niste rešili problem povezivanja tabela, a zbog referencijalnog integriteta, potrebno je da u tabelu Smerovi unesete odeljenje II/7 (27) jer su učenici ovog odeljenja već uneti u tabelu Spisak učenika i integritet baze je nemoguć ako ne postoji odeljenje 27 u povezanoj tabeli.
Izvoz podataka – zadaci
- Iz tabele Spisak učenika (baza Evidencija) eksportovati podatke u Excel datoteku Spisak.xlsx. Otvorite tabelu, pa onda External Data/Export/Excel i pratite čarobnjaka. Lakše je nego uvoz.
U okviru ove datoteke, napravite novu kolonu i spojite Prezime i Ime. Tako dobijeno ime i prezime “izvucite” iz funkcije u novu kolonu pomoću Paste Special / Values i obrišite sada nepotrebne kolone Prezime i Ime. Formatirajte zaglavlje i pripremite dokument za štampanje tako da se na svakoj strani vidi broj strane i zaglavlje. Ukoliko ste zaboravili Excel, rad sa tekstom možete obnoviti ovde, a pravljenje izveštaja sa više strana ovde.