Vous êtes sur la page 1sur 70

ACCESS

Sustav za upravljanje bazama podataka

Sadraj:
I. II. III.
A. 1. 2. 3. 4. 5.

UVOD ........................................................................................................................................................ 3 BAZA PODATAKA ............................................................................................................................. 4 TABLICA ILI TABELA ...................................................................................................................... 4


KREIRANJE NOVE BAZE PODATAKA .................................................................................................................. 5 Odreivanje subjekata i njihovih svojstava u tablici ....................................................................................... 6 Utvrivanje Identifikatora u tablici ................................................................................................................. 6 Utvrivanje relacijskih veza izmeu tablica .................................................................................................... 6 Normalizacija .................................................................................................................................................. 9 Postupak kreiranja nove tablice: ..................................................................................................................... 9

IV.
A. 1. 2. 3. 4. 5. B. 1. 2. 3. 4. 5. C.

UPIT(QUERY).................................................................................................................................... 14
VRSTE UPITA: ................................................................................................................................................... 15 Simple Query selekcijski upit ......................................................................................................................... 15 Parameter Query ........................................................................................................................................... 15 Crosstab Query tablini upit ......................................................................................................................... 15 Action Query akcijski upiti ............................................................................................................................ 15 Upiti koje je mogue generirati samo SQLom: .............................................................................................. 16 KREIRANJE UPITA ............................................................................................................................................ 16 Stvaranje prolaznog upita Simple Query Wizard-om: ................................................................................... 16 Stvaranje upita u Design View, QBE alatom: ............................................................................................... 16 Stvaranje izvrnog (akcijskog upita): ............................................................................................................ 17 Stvaranje parametarskog upita: .................................................................................................................... 17 Stvaranje upita pisanjem SQL izraza: ........................................................................................................... 17 KORITENJE GRADITELJA UVJETA - EXPRESSION BUILDER: ................................................................. 18

V.
A. 1. 2. 3.

SQL (STRUCTURED QUERY LANGUAGE) ................................................................................ 18

OSNOVNE NAREDBE I IZRAZI U SQL - U :........................................................................................................ 19 SELECT i FROM naredbe ............................................................................................................................. 19 WHERE izraz (postavljanje uvjeta) .............................................................................................................. 20 ORDER BY izraz (sortiranje) ........................................................................................................................ 22 B. UPOTREBA OPERATORA U UVJETU: ................................................................................................................. 22 1. AND & OR ..................................................................................................................................................... 22 2. IN & BETWEEN & NOT ............................................................................................................................... 23 3. Upotreba LIKE operatora ............................................................................................................................ 24 C. UPITI KOJI KORISTE PARAMETRE............................................................................................................... 25 D. ALIASI I PODUPITI(SUBQUERIES): ................................................................................................................... 25 E. FUNKCIJE SUMIRANJA TOTALI: ................................................................................................................. 26 F. IZRAZI KOJI SE KORISTE NA FUNKCIJAMA U SELECT NAREDBI:..................................................................... 27 1. GROUP BY .................................................................................................................................................... 27 2. HAVING ........................................................................................................................................................ 28 G. DISTINCT I ELIMINIRANJE DUPLIKATA ........................................................................................................ 29 H. JOIN-S ,VEZANJE TABLICA SQL-OM U UPITU ................................................................................................ 30 1. Izvoenje Join-a (vezanja) ............................................................................................................................. 30 2. Inner ,Self i Outer joins: ................................................................................................................................ 31 I. NEKE SQL FUNKCIJE........................................................................................................................................... 33 1. Funkcije za Datum i Vrijeme ......................................................................................................................... 33 2. IIF funkcija ................................................................................................................................................... 34 J. RAD SA PRAZNIM VRIJEDNOSTIMA ...................................................................................................................... 34 1. Kako Null values djeluje na raunanje :........................................................................................................ 35 2. Pretvaranje Null values u nulu ...................................................................................................................... 35 3. Kombiniranje Tekst polja koja imaju zero-length string: ............................................................................. 36 1

K. 1. 2. 3. 4. 5. L. 1. 2. 3. M. N. 1. 2. O.

DEFINIRANJE TABLICE SQL-OM ..................................................................................................................... 36 CREATE TABLE kreiranje novih tablica ...................................................................................................... 36 CREATE INDEX kreiranje indeksa ............................................................................................................... 37 VIEW Pogled ................................................................................................................................................. 37 DROP brisanje tablice,procedure,pogleda(view),indeksa............................................................................. 38 ALTER dodavanje polja (Altering) u tablice ................................................................................................. 38 AURIRANJE I BRISANJE PODATAKA: .............................................................................................................. 38 INSERT dodavanje i auriranje redaka (podataka) u poljima ...................................................................... 38 DELETE brisanje podataka iz tablice ........................................................................................................... 39 UPDATE auriranje podataka ...................................................................................................................... 39 PRIMJERI PODUPITA (SUBQUERIES) ................................................................................................................ 40 NEKE NAREDBE SQL-A KOJE SE NE KORISTE ESTO ...................................................................................... 41 EXISTS & ALL ............................................................................................................................................... 41 UNION ........................................................................................................................................................... 42 SAETAK SYNTAKSE SQLA U ACCESSU ....................................................................................................... 43

VI.
A. 1. 2. 3. 4. 5. B. 1. C. D. 1. 2. E. 1. 2. 3. 4. 5.

FORMA (MASKA)............................................................................................................................. 45
STVARANJE FORME: ......................................................................................................................................... 46 Stvaranje forme u Design View: .................................................................................................................... 46 Stvaranje formi pomou Form Wizard-a: ...................................................................................................... 46 Stvaranje Autoformi: ..................................................................................................................................... 47 Stvaranje grafikona: ...................................................................................................................................... 47 Stvaranje Pivot tablice: ................................................................................................................................. 47 ODREIVANJE SVOJSTAVA (PROPERTIES) FORME: .................................................................................... 47 Dijelovi forme: ............................................................................................................................................... 48 PODFORME: ...................................................................................................................................................... 48 STVARANJE KONTROLA NA FORMI: ................................................................................................................. 48 Opis osnovnih kontrola u Toolbox izborniku: .............................................................................................. 49 TAB order ...................................................................................................................................................... 50 TO JE SWITCHBOARD? ................................................................................................................................... 51 Prvi korak: ..................................................................................................................................................... 51 Drugi korak: .................................................................................................................................................. 51 Trei korak: ................................................................................................................................................... 51 etvrti korak: ................................................................................................................................................. 52 Dodatne mogunosti: ..................................................................................................................................... 52

VII. IZVJETAJ (REPORT) .................................................................................................................... 52


A. 1. 2. 3. 4. 5. B. KREIRANJE IZVJETAJA .................................................................................................................................. 52 Design View:.................................................................................................................................................. 52 Report Wizard: .............................................................................................................................................. 55 Autoreport: .................................................................................................................................................... 56 Chart i Label Wizard (za adrese i sl.): .......................................................................................................... 56 Spojeni izvjetaji: ........................................................................................................................................... 56 SVOJSTVA (PROPERTIES) IZVJETAJA ............................................................................................................. 56

VIII. MAKRO-PROGRAMI (MACROS) ................................................................................................. 57


A. 1. 2. 3. 4. STVARANJE JEDNOSTAVNOG MAKRO-PROGRAMA ......................................................................................... 57 Pridruivanje Makro-programa kontroli na formi: ....................................................................................... 58 Stvaranje vlastitog izbornika pomou Makro-programa: ............................................................................. 58 Konvertiranje globalne makronaredbe u modul: .......................................................................................... 58 Popis Makronaredbi po kategorijama ........................................................................................................... 58

IX.
A. 1. 2. 3. 4. 5. 6. 7. 8. 9.

PROGRAMSKI MODULI (VBA) .................................................................................................... 60


OBJEKTI U VBA: .............................................................................................................................................. 60 Application .................................................................................................................................................... 60 Screen objekt.................................................................................................................................................. 61 Control objekt ................................................................................................................................................ 61 Property objekt .............................................................................................................................................. 61 Parametar objekt ........................................................................................................................................... 61 TableDef objekt.............................................................................................................................................. 61 Database objekt ............................................................................................................................................. 62 Workspace objekt ........................................................................................................................................... 62 Skupovi objekata ............................................................................................................................................ 62 2

X.
A. 1. 2.

POVEZIVANJE I ULAGANJE OLE OBJEKATA ........................................................................ 63


UNOS OLE OBJEKATA U TABLICU: .................................................................................................................. 63 Ulaganje objekata.......................................................................................................................................... 63 Povezivanje objekata ..................................................................................................................................... 63

XI.
A. 1. 2. 3. 4. 5. 6. 7.

DINAMIKA RAZMJENA PODATAKA ...................................................................................... 63


DDE INSTRUKCIJE: .......................................................................................................................................... 64 DDEInitiate ................................................................................................................................................... 64 DDEExecute .................................................................................................................................................. 64 DDEPoke ....................................................................................................................................................... 64 DDESend ....................................................................................................................................................... 64 DDE ............................................................................................................................................................... 64 DDERequest .................................................................................................................................................. 64 DDETerminate, DDETerminateAll ............................................................................................................... 64

XII. RAZMJENA PODATAKA (IMPORT , LINK)............................................................................... 65


A. 1. B. C. UVOZ (IMPORT) PODATAKA U ACCESS: .......................................................................................................... 65 Mogui problemi kod uvoenja podataka: ..................................................................................................... 66 PRIDRUIVANJE (LINK) PODATAKA U ACCESSU: ............................................................................................ 66 RAZLIKE IZMEU UVOZA (IMPORT) I POVEZIVANJA (LINK): .......................................................................... 67

XIII. KORITENJE U MRENOM OKRUENJU ................................................................................ 67


A. B. C. PROBLEMI KOD INSTALIRANJA ACCESS-A NA NEKA OKRUENJA: ................................................................. 67 KORITENJE BAZA PODATAKA NA MREI: ...................................................................................................... 67 PROMJENA PARAMETARA ................................................................................................................................ 68

XIV. SIGURNOST PODATAKA( TOOLS-SECURITY-PERMISSIONS!) ................................................ 68


A. 1. ZATITITA PODATAKA OD NEOVLATENOG PRISTUPA.................................................................................... 68 Mogua ovlatenja za objekte su: .................................................................................................................. 69

XV.

PODEAVANJE ACCESSA ............................................................................................................. 69

I.. UVOD I UVOD


Database Management System (DBMS) ili Sustavi za Upravljanje Bazama Podataka (SUBP) su programska podrka Baze u Windows okruenju pruaju niz pogodnosti.Dvije od ee spominjanih su: OLE - povezivanje i ulaganje objekata. ODBC (Open DataBase Conectivity) - rad s datotekama koje su kreirale druge baze podataka (koje rade u Windows ili ne-Windows okruenju) koja omoguava rad s bazama podataka odnosno definiranje baze, upis, ispis i obradu podataka U velikim sistemima se podatci iz jedne tablice mogu pruati u nekoliko datoteka.Skup datoteka koji je kreiran za takvu bazu zove se tablespace. U malim sistemima kao to je Access sve o bazi (definicije i podatci) se dre u jednoj datoteci.Access podrava veliinu datoteke do 1GB. Kao i veina SUBP-a danas prisutnih na tritu Access ima neke znaajke aplikacijskog generatora to pridonosi jednostavnijem i brem stvaranju aplikacija.Osnova svake aplikacije u Accessu je baza podataka(database).

II.. BAZA PODATAKA II BAZA PODATAKA


Baza podataka je oblik zapisa skupa podataka na nekom mediju. Relacijska baza podataka je ona u kojoj su podaci logiki povezani odreenim pravilima.Relacijska baza podataka koristi istovjetne vrijednosti iz dvije tablice za stavljanje u odnos(relaciju) informacija u jednoj tablici,prema informacijama u drugoj. U takvu bazu podataka informaciju spremamo samo jednom to ju ini brom.Za manipulaciju podacima u bazama podataka koristi se programski jezik SQL. Otvaranjem Microsoft Accessa pokretanjem postojee ili Odabiranjem kreiranja nove baze podataka odmah se susreemo sa Database window (glavnim prozorom baze podataka). U glavnom prozoru moete odabrati bilo koji objekt. Odabiranjem objekta odlazimo u kategoriju odabranog objekta (npr. ako odaberemo Tables vidjet emo Tables kategoriju)

Objekti baze podataka u ACCESS-u: Tablice (Tables) Upiti (Query) Forme (Forms) Izvjetaji (Reports) Stranice za Internet (Pages) spoj forma i izvjetaja ,slue za prikazivanje i unos podataka na Internetu ili Intranetu Makro-programi (Macros) Programski moduli (Modules) u VBA

Kombiniranje ovih komponenata njihovo povezivanje i usklaivanje ini bazu podataka. to su komponente bolje postavljene u meusobne odnose to je baza podataka uinkovitija i bra.

III.. TABLICA ILI TABELA III TABLICA ILI TABELA


Tablica je skup organiziranih podataka. Tablice su glavna komponenta Accessa jer se u njima uvaju svi podatci sadrani u bazi podataka. Tablica je skup podataka o odreenoj temi(kupci, narudbe). Za bolju organizaciju podataka poeljno je imati vie tablica.Koristei odvojene tablice za pojedine teme znai da podatke spremamo samo jednom,tako baza postaje uinkovitija i smanjuju se greke pri unosu.Tablica je organizirana je u redove i stupce (moe sadravati do 255 stupaca). Stupci u tablici su logiki povezani.Jedan red stupaca opisuje se kao subjekt, podatak ili entity.Svaki redak u tablici neovisan o drugom jer se podatci u relacijske baze umeu bez odreenog reda.Retke moete sloiti SQL izrazima. Osnovni elementi tablice: IME TABLICE : ne smije sadravati toku,usklinik,apostrof, uglate zagrade[ ],poeti sa space,treba izbjegavati razmake u imenu i hrvatska slova:,,,, da bi se baza mogla koristiti i na raunalima koja ih nemaju. ROW : (redak,slog,zapis,podatak,record) sadri skup svojstava subjekta. Svakom retku u tablici dodjeljuje se jedinstveno svojstvo koje nema dvije iste vrijednosti (JMBG, ifra,ID).To svojstvo nazivamo IDENTIFIKATOR ili PRIMARNI KLJU (PRIMARY KEY) Ako iz odreenih razloga nema jedinstvenog svojstva kombiniramo dva ili vie svojstava.Takav idetifikator se naziva SLOENI PRIMARNI KLJU.Primarni klju se koristi za pronalaenje nekog retka u tablici. 4

COLUMN :(polje,field,stupac,atribut,svojstvo) prikazuje jedno svojstvo subjekta.Svako polje moe sadravati drugaije tipove podataka. U jednom polju moe biti samo jedan tip podataka.Polje tabele mora obavezno imati naziv, a obavezno je navoenje tipa podataka koji e se upisivati u to polje. Naziv polja moe biti duine do 64 znaka i mora biti jedinstven u tablici ,ne smiju postojati dva jednaka naziva polja u istoj tabeli. Access podrava osam razliitih tipova podataka, podrana je mogunost kreiranja tipa podataka od strane korisnika za svaki od tipova (osim za OLE objekte).

Tipovi podataka u polju nazivaju se DOMENE: Domena TEXT MEMO Koristi se za Veliina

Krai tekst, koji se moe se Do 255 znakova kombinirati sa brojevima (npr.adresa). Dui tekst koji koristimo za opise i slino Do 65 535 znakova BYTE od 0 do 255 INTEGER od 32768 do +32767 LONG INTEGER(cijeli brojevi)
od 2147483648 do +2147483647

NUMBER

Numeriki podaci koriteni za matematike operacije osim operacija nad valutama-za to postoji poseban tip

SINGLE(decimalni brojevi)
od 3. 4*1038do +3.4*1038

DOUBLE

od 1.797*10308do +1.797*10308

Koristimo ga za datume ili vrijeme DATE/TIME:

REPLICATION ID za udaljene baze DECIMAL slino kao Double 8 bytova GENERAL 1994.06.19 17:34:23 LONG 1994.lipanj 19 MEDIUM 19-lip-94 SHORT 1994.06.19 LONG TIME 17:34:23 MEDIUM 05:34 (12-satno) SHORT 17:34 (24-satno)

CURRENCY AUTONUMBER

Manipulacija sa valutama (izbjegava 8 bytova mogua zaokruivanja pri raunanju) Automatski broja koji se svaki redak povea (smanji) za 1 ili stavlja neki 4 ili 16 (Replication ID) bytova proizvoljni broj Boolean tip podatka. Sadri samo da ili ne vrijednost. (True/False,On/Of) 1 bit

YES/NO OLE OBJECT HYPERLINK Objekti drugih programa kao to su dokumenti Worda , Excela, slike, zvukovi itd. Adresa neke datoteke na naem kompjuteru ili Internetu Ogranieno samo veliinom Hard Disca Do 64 000 znakova

A.. KREIRANJE NOVE BAZE PODATAKA A KREIRANJE NOVE BAZE PODATAKA


5

Prije nego se ponemo graditi bazu podataka,moramo utvrditi koji subjekti postoje te odluiti koje subjekte i njihova svojstva elimo uvati u bazi.Tablicu stvaramo u etiri koraka: 1.Prvi korak je odreivanje subjekata i njihovih svojstava u tablici 2.Drugi korak je utvrivanje Identifikatora u tablici 3.Trei korak je utvrivanje relacijskih veza izmeu tablica 4.etvrti korak je normalizacija

1.. Odreiivanjje subjjekatta ii njjiihoviih svojjsttava u ttablliicii 1 Odre van e sub eka a n hov h svo s ava u ab c
Kada utvrdimo za to trebamo bazu podataka,moramo utvrditi subjekte za koje emo stvoriti tablice. Zatim utvrdimo svojstva svakog subjekta koja elimo uvati u nekoj tablici. Primjer Videoteka : Subjekti; lanovi,Filmovi,Dobavljai itd. Svojstva subjekta: lanovi; ClanID,Ime,Prezime,Adresa itd. Filmovi; FilmID,Naziv,Cijena,Reiser itd. Dobavljai; Matini broj,Naziv,Adresa,Telefon itd.

2.. Uttvriivanjje Identtiiffiikattora u ttablliicii 2 U vr van e Iden ka ora u ab c

Primary key je jedno ili kombinacija vie polja koja su jedinstvena za neku tablicu. Kada utvrdimo konaan izgled tablica utvrujemo identifikator tzv. Primary key, ako nema jedinstvene vrijednosti u nekom polju za svaki redak, dodajemo ifru ili kombiniramo vie polja u klju. Pomou Primary key polja tablice moemo postavljati u relacije. Koritenje Primary key-a ubrzava proces pretraivanja i spajanja podataka u tablicama. Svi podaci u ovim poljima su kontrolirano razliiti, ne moemo upisati iste vrijednosti vie puta i polje ne smije sadravati prazne vrijednost tj. ne moe biti Null.

a)) Vrstte Priimarnog klljjua:: a Vrs e Pr marnog k ua

Jednostavni primarni klju ili Single-field Primary key.Za klju koristimo samo jedno polje u tablici Sloeni primarni klju ili Multiple-field Primary key.U sluaju kada ne moemo sa sigurnou tvrditi da e samo jedno polje dati jedinstvenu vrijednost za klju koristimo vie polja.Tada je dozvoljeno da se neka od polja u primarnom kljuu ponove,ali ne sva odjednom.

b)) Deffiiniiranjje Priimarnog klljjua u Accessu:: b De n ran e Pr marnog k ua u Accessu


U izborniku kliknemo na ikonu Primary key

U Design view-u oznaimo polje koje elimo definirati kao Primary key (u sluaju da elimo izabrati vie polja drimo prtisnutu tipku Ctrl) i oznaimo eljena polja ili na tipkovnici stisnemo Shift + k.

Primarni klju se uklanja na isti nain - klikom na ikonu. Polje ne mora biti Primary key da bi imalo jedinstvene vrijednosti ve ga moemo definirati kao Indexed Value bez duplikata.(U Design view-u pod opcijom Indexed odaberemo Yes(No Duplicates).) Indexe za odreenu tablicu pregledavamo tako da na alatnoj traci odaberemo Indexes gumb . Moemo izgraditi indekse sloene od vie polja tako da navedemo ime indeksa ,zatim bez navoenja imena indeksa upiemo u Field Name imena svih polja koja elimo u sloenom indeksu (Access smatra kao dio ranijeg indeksa sve retke koje nae dok ne doe do slijedeeg naziva indeksa).Indekse moemo stavljati u relacije sa drugim poljima u drugim tablicama.

3.. Uttvriivanjje rellaciijjskiih veza iizmeu ttablliica 3 U vr van e re ac sk h veza zmeu ab ca

Relacija je asocijacija postavljena izmeu zajednikih polja iz dvije tablice. Da bismo mogli npr. u jednoj formi ili upitu prikazati samo eljene podatke iz vie tablica koje govore o istom predmetu,sva polja koja uzimamo iz vie tablica moraju biti koordinirana. Ta koordinacija se postie pomou relacija. Relacije postavljamo zato da bismo se mogli uinkovito koristiti podatcima u tablicama.Relacijskom vezom govorimo Accessu kako e ponovno spojiti podatke iz tablica u upitu.Tek nakon to smo postavili relacije moemo kreirati upite, forme i izvjetaje za prikazivanje podataka iz vie tablica odjednom. Da bi se mogle uspostaviti relacijske veze u svakoj se tabeli prvo mora odrediti Primarni klju. 6

U relacijskom odnosu tablica moe biti primarna ili sekundarna. Polje primarne tabele (master) mora biti primarni klju ili je tabela po tom polju indeksirana bez mogunosti dupliciranja vrijednosti tog polja (unique index ) Relacijska veza dvije tabele u veini sluajeva se kreira tako da se Primarni klju prve tabele kopira u drugu tabelu gdje postaje Strani klju (Foreign key) , zatim se ta dva polja meusobno poveu. Izuzetno u vezi jedan-jedan kopirani Primarni klju iz prve tabele postaje Primarni klju druge tabele. Podaci u Foreign key-u moraju biti isti kao i u Primary key-u, imena polja ne moraju biti ista, preglednije je ako su ista ili slina. Treba obratiti panju da su nam polja istoga tipa , ako su brojanog tipa moraju biti i istog formata. AutoNumber se moe povezati s brojanim poljem,ali se ne moe povezati sa poljem tipa AutoNumber u drugoj tablici. Relacijske odnose je mogue uspostaviti i izmeu upita te pridruenih tabela, ali tada nije podran referencijalni integritet. Podrane su slijedee relacijske veze meu tabelama : jedan na jedan , jedan na vie , vie na vie Primjer Videoteka:

Uviamo da vie lanova moe posuditi vie Filmova. Ovu vezu nazivamo VIE-VIE Jedan Dobavlja moe dobaviti vie Filmova. Ovu vezu nazivamo JEDAN-VIE Zbog ovih veza takve baze podataka nazivamo RELACIJSKE.

a)) Veze JEDAN--VIE a Veze JEDAN VIE

ii VIE--JEDAN VIE JEDAN

Jedan-vie ili One-to-many (1:M) je najee koritena relacija. Redak iz Tablice A ima vie odgovarajuih redaka u Tablici B, ali redak iz Tablice B ima samo jedan odgovarajui redak u Tablici A

Jedan dobavlja moe prodati vie filmova,ali jedan film moe imati samo jednog dobavljaa. Primarni klju tablice jedan kopira se u tablicu vie(jedan-vie)

b)) Veza VIE--VIE b Veza VIE VIE


Vie-Vie ili Many-to-many(M:M) relacija Redak iz Tablice A moe imati vie odgovarajuih redaka u Tablici B. Ovakav tip relacija je mogu jedino stvaranjem nove,tree tablice tzv. Tablice krianja ili AGREGACIJE u kojoj se Primary key sastoji od dva polja koja su Foreign key iz obje tablice. Ona je zapravo sainjena od dvije one-to-many relacije u treoj tablici.

Jedan lan moe posuditi vie filmova,jedan film moe posuditi vie lanova. Kako e se vrijednost u oba stupca vie puta ponavljati kombinacija oba stupca u Sloeni primarni klju nije mogua jer se ta vrijednost moe ponoviti,a primarni klju mora biti jedinstvena vrijednost.Zato emo dodati jo jedan stupac koji moe oznaavati datum,redni broj narudbe i sl. te sloiti primarni klu od tri stupca. Moramo dobro razmisliti o primarnom kljuu i predvidjeti sve opcije kako bi njegova vrijednost bila jedinstvena za svaki redak, jer ako se ta vrijednost ponovi baza nee prihvatiti dupli podatak!

c)) Veza JEDAN--JEDAN c Veza JEDAN JEDAN

1 :: 1 1 1

Jedan na jedan ili One-to-one(1:1) je relacija koja se rijetko pojavljuje. U njoj svaki redak iz Tablice A moe imati samo jedan odgovarajui redak u Tablici B. Moemo ih koristiti kada elimo podijeliti velike tablice na dva dijela. 8

U toj vrsti veze kopiramo primarni klju iz prve tablice u drugu svejedno u kojem smjeru i on postaje primarni klju i u drugoj tablici:

4.. Normalliizaciijja 4 Norma zac a


Normalizacija se bavi prouavanjem problema koji se pojavljuju kod dizajniranja tablica i nihovim otklanjanjem. Osnovni problem kod kreiranja baze podataka je izbjegavanje redundancije (ponavljanje istih podataka) i nekonzistentnosti (razliitost podataka koji bi trebali biti jednaki).Postupkom normalizacije serijom transformacija baza se dovodi u optimalni oblik.Jedan od postupaka normalizacije je izdvajanje esto ponavljnih podataka u posebnu tablicu. Odreivanjem lookup polja ovaj postupak omoguava da se jedan te isti podatak ne utipkava vie puta to smanjuje mogunost greke u tipkanju (nekonzistentnosti) i smanjuje veliinu baze upotrebom ifre,osobito ako je rije o dugim nazivima. Primjer izdvajanja esto ponavljanih svojstava u posebne tablice:

Osim toga,treba razmisliti da li u tablici postoje podatci koji nisu potrebni .

5.. Posttupak kreiiranjja nove ttablliice:: 5 Pos upak kre ran a nove ab ce
Pozovemo Database window tipkom F11. U Database window izaberemo grupu Tables Kliknemo na New

Imamo na izboru vie naina kreiranja tablice: Datasheet view Prebacuje nas na datasheet view(vidimo tablicu sa stupcima,retcima i podacima u njima). Ova metoda omoguuje nam direktan upis podataka u tablicu. Design view Najpogodnije za stvaranje tablice i definiranje stupaca u tablici.U ovom nainu poljima lako odreujemo imena, tip podataka,karakteristike itd.) Table Wizard arobnjak koji nas vodi kroz proces stvaranja tablice i to tako da izabiremo stupce koji e biti u tablici iz velikog izbora gotovih polja(stupaca) Import Table arobnjak koji uvozi tablice i objekte iz neke vanjske datoteke u nau bazu koju trenutno kreiramo Link Table arobnjak koji kreira tablicu koja je vezanalinkana sa nekom tablicom u vanjskoj datoteci (znai da ta tablica nije u naoj bazi ve u nekoj drugoj ali ju moemo pozvati iz nae baze) Mi emo odabrati Design view zato da bi kreirali tablicu od temelja.Svaki redak u Design view prozoru predstavlja jedno polje u tablici i ima odreena svojstva: Field Name Ime polja, moe sadravati razmake ,ali nije preporuivo,mora biti ispunjeno Data Type Tip podataka tog polja,mora biti ispunjeno Description Opis polja,ne mora biti ispunjeno, a vrijednost koja je tu unesena e biti vidljiva samo u status baru (pri dnu ekrana) kada radimo sa tim poljem u formi ili tablici u Datasheet View-u . Nakon to ispunimo ime polja i njegov Data Type otvore se nove opcije koje poblie opisuju to polje. Field Size Memorijska veliina polja. Ovisi o tipu podataka, moe biti manja od maksimalne kod nekih tipova. Format Format u kojem e se podatak prikazati pri pregledavanju ,za neke tipove podataka format je unaprijed definiran u Control Panelu pod Regional Settings i prenosi se iz Windowsa. ((1)) 1 Forrmattiirranjje polljja Yess//No Fo ma an e po a Ye No Umjesto klasinog Check Box formata polju Yes/No moemo prilagoditi format tako da u polju za definiranje izgleda tabele Format: upiemo predloak koji elimo vidjeti u tablici,naprimjer:

Prikazae u polju Yes/No DA vrijednost u zelenoj ,a NE u crvenoj boji. Prva vrijednost DA e biti Yes(1) vrijednost samo ako ispred stavimo znak ; ako izostavimo taj znak prva vrijednost e biti No(0) .Kada ne elimo koristiti toku zarez moemo prvo upisati izraz za No(0),pa onda za Yes(1). Da bi tablica prikazala prilagoeno polje onako kako smo ga odredili moramo promijeniti Display control: (koja je inicijalno Check Box) u Text Box ili Combo box.Inicijalna vrijednost Yes/No polja je No(0).

Tablica e umjesto ovako:

izgledati ovako:

10

((2)) 2 Forrmattiirranjje Textt polljja:: Fo ma an e Tex po a Kad elimo text vidjeti kao mala slova u Format: upiemo < znak , za velika slova > znak ((3)) 3 Forrmattiirranjje prrazznog polljja:: Fo ma an e p a nog po a Umjesto praznog polja Access moe prikazati neki tekst koji nestaje kad se upie podatak.

Kada u Format: nekog polja upiemo @; Nepoznat [Blue] izgledae ovako,nakon upisa vrijednost ovaj tekst e nestati.

((4)) 4

Dodavanjje prreffiikssa iillii ssuffiikssa kojjii e ossttattii u polljju kada upiiemo vrriijjednosstt:: Do d a v a n e p e k a u k a ko e o a u po u kada up e mo v edno

@ KM dodae sufiks KM svakoj upisanoj vrijednosti.

KM; @ dodae prefiks KM svakoj upisanoj vrijednosti. ((5)) 5 Prromjjena bojje zznakova u polljju fforrmattiirranjjem:: P om ena bo e nakova u po u o ma an em

Mogue boje: Black, Blue, Green, Cyan, Red, Magenta, Yellow, White za tekst polje: @ [boja]

za numeriko polje: # [boja]

Decimal Places 11

Namjeta broj decimalnih mjesta za numerika polja Input Mask Odreuje format unosa i prikaza podatka te osigurava upis uvijek u istom obliku .Koristimo odreene znakove u kombinaciji sa / . , ; : ili ( ) ovisno o postavkama u Regional Settings. Znak Doputa upis: 0 9 # L ? A a Brojke Brojke,razmak Brojke,razmak,plus,minus Slova Slova Slova,Brojke Slova,Brojke Obavezan unos Da Ne Ne Da Ne Da Ne Da Ne Primjer (000)000000 (000) 00 00 (00 00)-00-00 LLLLLLLLL ????????? AAAAAA aaaaaa &&&&&&&& CCCCCCCC >LL000-99-00 Izgled (123)123456 (123) 12 12 +(123) 12 12 NeKasLovA NeKsLov 1a2B3c a23c B*1!A? 7 B*!A? 7 KM123-12-12

& Bilo koji znak,razmak C > < Bilo koji znak,razmak Prikazuje VELIKA SLOVA Prikazuje mala slova

<LL999-00-999 km12-12-123

Caption Naziv polja koje e koristiti kod prikazivanja tablice (npr. kada polju ije je logiko ime S_zap elimo prikazati ime ifra Zaposlenog) Default Value Inicijalna vrijednost koja e biti automatski upisana u polje ,ako je ne promijenimo unosom nove vrijednosti Validation Rule Postavljanje uvjeta koji mora biti ispunjen da bi Access prihvatio podatak (recimo da vrijednost uvijek mora biti manja od 100 u polje upiemo <100 itd.) Validation Text Poruka koja se prikazuje korisniku ako kod upisa podatka nije potovan Validation Rule Required Ako je ova opcija ukljuena polje ne moe imati praznih vrijednosti Indexed Indeksiranje polja,indeksirana polja mogu imati duple vrijednosti ,moemo postaviti i opciju koja zabranjuje ponavljanje podataka(unique) ((6)) 6 Possttavlljjanjje rrellaciijja u Accessssu:: P o a v a n e e a c a u A c ce u

Da bismo mogli postaviti relacije moramo zatvoriti sve tablice, upite, forme i ostale komponente Accessa. Na alatnoj traci kliknemo na Relationships gumb ili u izborniku odaberemo Tools i tamo odaberemo Relationships alat. Otvara se prozor relacija na kojem izabiremo tablice koje emo stavljati u relacije. Tablice odaberemo tako da pozovemo pop-up izbornik desnim klikom mia bilo gdje u novootvorenom prozoru i odaberemo Show table opciju tablice. . Dvoklikom na ime tablice stavljamo tu tablicu u prozor odakle je moemo dalje vezati za druge

Nakon to smo odabrali sve tablice koje emo staviti u relacije moramo postaviti i same relacije. Njih postavljamo tako da u Tablici A oznaimo Primary key polje(bold) i dok drimo gumb mia povuemo ga na polje u Tablici B koje uva iste podatke tj. foreign key (obino ima isto ili slino ime). Nakon ovog postupka nam se otvori Edit Relationships prozor u kojem odabiremo opcije relacije.Tip veze se postavlja automatski. Ukoliko je polje iz Tablice A Primary key ili Indeks i oba polja imaju isti tip podataka moemo ukljuiti Referential Integrity (sistem pravila koja osiguravaju da su relacije izmeu redaka ispravne i da sluajno ne promijenimo ili obriemo povezane podatke).Stisnemo tipku Create i naa relacija je postavljena. 12

((7)) 7 Refferrenciijjallnii IInttegrriittett R e e en c a n n eg e Referencijalni Integritet je tip veze koji onemoguava da se podatak u Sekundarnoj tablici pojavi prije nego to je upisan u Primarnoj tablici. Primarna tablica je ona iz ijeg smjera veza kree prema tablici koja u vezi postaje Sekundarna. Pri stvaranju veza u Accessu je podran referencijalni integritet i to: - kaskadno(stupnjevito) auriranje polja koja su u relacijskom odnosu tj.povezana.Usluaju da se podatak u primarnoj tablici promijeni, isti e se promjeniti u sekundarnim tablicama ako je ova opcija potvrena. - kaskadno(stupnjevito) brisanje polja koja su u relacijskom odnosu tj.povezana.Radi na istom principu kao i auriranje. Obrisati e sva povezana polja u sekundarnim tablicama.Iz sekundarne tablice se ne moe pozvati brisnje podatka u primarnoj tablici. Relacija koja ima postavljen Referencijalni integritet mora polaziti iz polja koje je ili primarni klju ili ima definiran UNIQUE index. Treba dobro predvidjeti posljedice ukljuivanja ove opcije jer moe zakomplicirati rukovanje bazom ako se ne predvide sve mogue posljedice stvaranja ovakve veze! Grafiki prikaz veza meu tablicama naziva se : ((8)) 8 ERA MODEL Enttiitty Rellattiionsshiip Attrriibutte Modell ERA MODEL En y Re a on h p A bu e Mode Grafiki prikaz svih subjekata nekog poslovnog sustava sa njihovim pripadajuim vezama

Prozor Relationships u Accessu koristi varijaciju ERA modela. ERA model moemo koristiti kod kreiranja baze podataka.U dijagramu emo nacrtati sve subjekte(entities) kojima emo rukovati u bazi zajedno sa njihovim raznim atributima i vezama(relationships). Mogli bi rei da je: Subjekt tema o kojoj elimo uvati podatke u bazi. (npr. lanovi,filmovi) Atribut je opisno svojstvo subjekta (npr. naziv,adresa) Veza definira odnose meu subjektima odnosno to se deava izmeu dva subjekta (npr. Pero POSUUJE Film", "Continental PRODAJE Film".) Relativno je jednostavno prikazati bazu pomou ER Diagrama, gdje etverokuti predstavljaju subjekte,rombovi veze,a ovali atribute.Primarni kljuevi su podvueni:

Ne postoji jedinstven ER model ,jedino je bitno da iz dijagrama moemo vidjeti to je subjekt,atribut,veza,index,primarni klju i strani klju. ((9)) 9 Kako ssttvorriittii LOOKUP POLJE:: Kako vo LOOKUP POLJE

13

Stvaranje lookup polja je proces kojim odabranom polju dodjeljujemo mogunost popunjavanja podacima iz druge tablice u kojoj se nalaze ifrirani esto ponavljani podatci, upita ili iz liste predodreenih podataka. Prvo pod Field properties odaberemo Lookup,vidjeemo da je kao Display Control odabran Text Box. Zatim umjesto kontrole Text Box klikom odaberemo List Box ili Combo Box.Dalje odreujemo izvor inain prikaza podataka u lookup polju: Row Source Type - je nain popunjavanja podataka.Ukoliko elimo da se nae polje popunjava vrijednostima iz tablice/upita odaberemo Table/Query opciju,ukoliko elimo da se polje popunjava iz liste predodreenih podataka odaberemo Value list i pod Row Source direktno upiemo podatke odvojene znakom toka-zarez; Bound column redni broj vezanog stupca u tablici iz koje elimo podatke Column count broj stupaca koji elimo vidjeti Column heads ako elimo vidjeti imena stupaca u combo boxu Column widhts eljena irina stupaca u jedinici mjere, razdvaja se znakom toka-zarez; List Rows koliko redova elimo vidjeti odjednom List Width ukupna irina liste Limit to list ograniava upisivanje na samo one podatke koji ve postoje u listi Na osnovu tabele se kasnije kreiraju upiti,forme, i izvjetaji. Access prua vrlo korisnu mogunost rada aplikacije ak bez kreiranja bilo koja tabele u samom Access-u tj. moe se raditi s datotekama koje su kreirali drugi SUBP. ((10)) 10 Kompakttiirranjje bazze podattaka:: Kompak an e ba e poda aka

Redoviti postupak u odravanju baze podataka je kompaktiranje baze (Compact Database).Postupkom kompaktiranja je mogue promijeniti poredak sortiranja na ve postojeim bazama. Kompaktiranje pozivamo iz izbornika Tools Database Utilities Compact Database ,zatim odaberemo eljenu bazu i sauvamo je zbog sigurnosti podataka pod razliitim imenom od originala (nije obavezno) dok se ne uvjerimo u njenu funkcionalnost,kasnije joj moemo dodijeliti ime originala.

IV.. UPIT(QUERY) IV UPIT(QUERY)

Upit je komponenta baze podataka kojom se koristimo kada elimo nai, izdvojiti ,promijeniti ili izraunati odreene podatke iz jedne ili vie tablica tabele po nekom zadanom kriteriju (uvjetu). Upit za razliku od tablice ne pohranjuje podatke nego radi sa podatcima koji su pohranjeni u tablicama.Organiziran je kao i tabela u redove i stupce.Rezultat upita mogue je ispisati na pisau.Moemo ih koristiti kao podlogu za izvjetaje ili forme. Podatke je mogue prikazati u obliku u kakvom se prikazuju i u tabeli (tabelarni oblik), mogue je prikazati cijelu tabelu ili samo dio tabele, mogue je polja grupirati te prikazivati totale, prikazivati podatke iz vie tabela u jednom upitu itd. Tablicu moramo prikazati preko upita ako postojeim poljima tablice elimo dodati polja koja se dobivaju izraunavanjem jer tu mogunost nije mogue koristiti prilikom prikaza same tabele. Upit moemo postaviti na jednoj i vie tablica. Upit koji zahvaa vie tablica zovemo Strukturirani upit. Princip stvaranja upita nad vie tablica je jednak kao kad stvaramo upit nad jednom tablicom.Kod strukturiranih upita dolaze do izraaja veze meu tablicama. Kod postavljanja upita nad vie tablica obavezno moramo definirati relacijske veze meu eljenim tablicama inae e rezultati upita biti netoni.Ukoliko tablice koje koristimo u upitu nemaju direktnu vezu treba dodati tablice koje posredno stvaraju vezu izmeu takvih tablica da bi se definirala veza meu njima. Podatke iz tablica moemo samo pregledati prolazni upiti, ali i mijenjati te aurirati izvrni upiti. Promjenom tabele na osnovu koje je kreiran upit promjenit e se i sam upit. Kod pretraivanja baze Access ne razlikuje mala i velika slova. Prilikom kreiranja upita moemo koristiti parametre.To su uvjeti koje korisnik upisuje svaki put kad eli vidjeti podatke iz upita ,tako korisnik sam odreuje koji e se podatci izlistati. Upite u Accessu moemo kreirati na tri naina: 1.SQL-om jezikom za izradu strukturiranih upita u obliku komande ili naredbe 14

2.QBE (Query By Example) metodom ,pomonim programom koji nam nudi Access kada izaberemo Design view. Pomou te metode dajemo raunalu primjer (example) polja koja elimo vidjeti u upitu i postavljamo eljene uvjete,nakon pokretanja upita raunalo prevodi primjer u SQL jezik.

3.Visual Basic jezikom Izdvajanje odreenog stupca iz tablice zove se PROJEKCIJA Izdvajanje odreenih redaka iz tablice pod odreenim uvjetom zove se SELEKCIJA Presjek tablice je KOMBINACIJA PROJEKCIJA + SELEKCIJA = KOMBINACIJA

A.. VRSTE UPITA: A VRSTE UPITA:


1.. Siimplle Query sellekciijjskii upiitt 1 S mp e Query se ekc sk up
Simple Query selekcijski upit prikazuje zapise iz tabele koji zadovoljavaju neki uvjet, u privremeno kreiranoj tabeli.Najjednostavniji i najee koriten tip upita .Vraa zatraene podatke iz jedne ili vie tablica i prikazuje ih u obliku tablice ,gdje podatke moemo po potrebi i promijeniti,ako upit nije postavljen na vie od dvije tablice.

2.. Parametter Query 2 Parame er Query

Parameter Query je tip upita u kojem moemo namjestiti da se kada pokrenemo upit automatski otvara prozori u koji moramo unijeti podatak koji e sluiti kao kriterij za pretraivanje tablica. Pogodni su kao podloga za forme i izvjetaje zbog svoje fleksibilnosti

3.. Crossttab Query ttablliinii upiitt 3 Cross ab Query ab n up


Crosstab Query tablini upit omoguava precizan zbirni pregled podataka koji prikazuje sumirane vrijednosti (sume, prosjeci i brojanja)u obliku spreadsheet tablica koje su sline tablicama u tablinim kalkulatorima (kao u Excelu).Za prikaz se uvijek koriste tri polja : 1.vrijednost prvog polja predstavljaju imena stupaca 2.vrijednosti drugog polja predstavljaju imena redaka 3.vrijednosti treeg polja su izlistane u stvorenoj tablici Na ovaj nain moemo vidjeti razne statistike podatke,npr. koji su lanovi kojih datuma posudili koliko filmova u videoteci.

4.. Acttiion Query akciijjskii upiittii 4 Ac on Query akc sk up

su upiti pomou kojih se izvodi neka obrada nad podacima tabele. Postoje etiri vrste akcijskih upita odnosno mogue su etiri vrste obrada podataka tabele .Svima takvim upitima je zajedniko da vre promjene na mnogim podatcima u samo jednoj operaciji :

a)) Updatte Query ,,auriiranjje ttabelle a Upda e Query aur ran e abe e b)) Append Query,, dopunjjavanjje b Append Query dopun avan e

koristi se kod globalne promjene grupe redaka u jednoj ili vie tablica, npr. koristimo ga kada elimo podignuti sve cijene za 10% ili pozivne telefonske brojeve iz 041 na 01 itd. uzima grupu redaka iz jedne ili vie tablica i ubacuje ih na kraj jedne ili vie tablica,tako moemo spojiti dvije tablice sa odgovarajuim podatcima u jednu. 15

c)) Make--ttablle Query,, kreiiranjje ttabelle c Make ab e Query kre ran e abe e d)) Dellette Query ,,briisanjje iiz ttabelle d De e e Query br san e z abe e

stvara novu tablicu iz dijela ili svih podataka iz jedne ili vie tablica,npr. ako elimo imati tablicu Narudbe95 tj. sve narudbe iz 95. godine brie grupu redaka iz jedne ili vie tablica, npr. ako elimo obrisati jednog ili vie zaposlenika koji su dobili otkaz,ili lanove videoteke koji nisu posudili film u zadnje dvije godine. Svi upiti koji mijenjaju podatke u tablicama mogu imati nezgodne rezultate.Prije pokretanja takvih upita trebalo bi uvijek napraviti backup baze ili bar selekcijski upit sa istim uvjetima da bi pregledali podatke koji e biti promijenjeni ili obrisani kad je god to mogue pa tek onda pokrenuti akcijski upit.

5.. Upiittii kojje jje mogue generiirattii samo SQLom:: 5 Up ko e e mogue gener ra samo SQLom
a)) Pass--ttrough iillii upravlljjakii upiitt a Pass rough uprav ak up b)) Datta--deffiiniittiion iillii obradnii upiitt b Da a de n on obradn up c)) Uniion iillii skupnii upiitt c Un on skupn up
je specifian SQL upit koji se koristi za direktno slanje komandi SQL posluitelju (npr. Microsoft SQL posluitelju). Naravno, ovo se izvodi preko ODBC-a. je upit kojim se mogu kreirati, mijenjati ili brisati tabele ili kreirati ili brisati indeksi. je upit pomou kojeg je mogue prikazivati podatke iz vie tabela ili upita (tabele ili upiti iji se podaci prikazuju moraju biti u nekoj od relacijskih veza).

B.. KREIRANJE UPITA B KREIRANJE UPITA


Kao i kod tablica da bismo kreirali upit moramo otvoriti Queries grupu i odabrati New. Imamo vie opcija: Design view Otvara QBE prozor u koji postavljamo polja koja elimo vidjeti u upitu. Simple Query wizard arobnjak koji ubrzava i pojednostavljuje proces odabira polja u upitu Crosstab Query wizard arobnjak koji kreira crosstab upite Find Duplicates Query wizard arobnjak koji stvara upit iz jedne tablice ili Query-a, a prikazuje podatke koji imaju istu vrijednost u nekom polju. Find Unmached Query wizard arobnjak koji trai retke iz jedne tablice koji nisu povezani niti sa jednim retkom u drugoj tablici.

1.. Sttvaranjje prollaznog upiitta Siimplle Query Wiizard--om:: 1 S varan e pro aznog up a S mp e Query W zard om
Pozovemo Database window tipkom F11 U Database window izaberemo grupu Queries Kliknemo na Create Query by using wizard ili New Iz Table/Query kuice odabiremo tablicu ili upit iz kojeg elimo vidjeti polja Iz Avaliable fields liste odabiremo polja iz te tablice koja e se nalaziti u upitu tako da oznaimo polje i stisnemo gumb za prebacivanje . Ova dva koraka moemo ponavljati dok nismo odabrali sva polja iz svi tablica koje elimo. Kliknemo na gumb Next U kuicu na vrhu prozora upisujemo ime upita, i pri dnu ekrana biramo elimo li vidjeti rezultate upita ili elimo jo dotjerati dizajn upita. Nakon ovog arobnjaka upit e prikazati sva odabrana polja i podatke iz svih redaka za odabrana polja. Da bi vidjeli samo eljene podatke moramo jo postaviti kriterije po kojima e podatci biti prikazani ,stoga odabiremo drugu opciju Modify Query design i otvara se Design view upita sa ve odabranim poljima.

2.. Sttvaranjje upiitta u Desiign Viiew,, QBE allattom:: 2 S varan e up a u Des gn V ew QBE a a om

16

Pozovemo Database window tipkom F11 U Database window izaberemo grupu Queries Kliknemo na Create Query in Design view ili New Otvara se prozor za odabir tablica iz baze koje elimo ukljuiti u upit Odaberemo tablice i kliknemo na Add Iz odabranih tablica povuemo eljena polja na QBE mreu,ili ih odaberemo direktno u mrei u poljima Field: i Table: Na alatnoj traci moemo promijeniti tip upita koji je inicijalno SELECT upit Ako elimo sortirani prikaz kliknemo na redak Sort: u QBE mrei i odaberemo uzlazno (Ascending od A do ili od 0 do 9) ili silazno (Descending od do A ili od 9 do 0) i sortiramo prikaz Ako neka polja ne elimo prikazati u rezultatu u retku Show: uklonimo kvaicu Postavimo uvjete u Criteria: polju i pokrenemo upit klikom na gumb Run sa izbornika. Uvjet upisan u stupcu QBE mree se odnosi smo na polje navedeno u stupcu.Uvjeti koje emo upisati u isti redak koristie operator AND dok e uvjeti upisani u slijedeem retku uvjeta koristiti operator OR:

to bi u SQL verziji izgledalo ovako:

WHERE FilmID=4 AND Naziv="veselje" OR Naziv="tuga"


Rezultat takvog upita e biti slijedei:

Ako upitu elimo dodati agregatnu funkciju klikom na gumb odrediti funkciju koju elimo koristiti. Sauvamo upit

pojavie se u QBE mrei redak Totali: gdje emo

3.. Sttvaranjje iizvrnog ((akciijjskog upiitta)):: 3 S varan e zvrnog akc skog up a


Pokrenemo Simple Query wizard i odaberemo polja koja elimo i kliknemo na Design view. Na alatnoj traci kliknemo na Query Type gumb izaberemo koji eljeni tip upita.

Make-table Query nakon odabira nam se javlja prozor u koji upisujemo ime tablice koju emo stvoriti i elimo li ju spremiti u ovu ili neku drugu bazu. Postavimo kriterije i pokrenemo upit . Update Query javlja nam se novo polje Update To u koje upisujemo izraz na mjesto polja koje elimo promijeniti. Mijenjaju se vrijednosti za sve obuhvaene podatke. Postavimo kriterije i pokrenemo upit da bi se promjene izvrile. Append Query nakon odabira nam se javlja prozor gdje upisujemo ili odabiremo sputanjem liste ime ve postojee tablice u koju e se podatci dodati na kraju tablice. Postavimo kriterije i pokrenemo upit da bi se promjene izvrile. Delete Query pokretanjem se briu svi obuhvaeni podatci iz izabranih tablica.

4.. Sttvaranjje paramettarskog upiitta:: 4 S varan e parame arskog up a


Parametarske upite stvaramo tako da Criteria polje u uglatim zagradama upiemo tekst koji poblie opisuje ono to korisnik mora upisati da bi se po upisanom uvjetu izvukli podatci koji sadre taj upisani tekst. Npr. za prikaz zadanog prezimena radnika u polju Prezime u polje Criteria: upiemo [Prezime zaposlenika:]

5.. Sttvaranjje upiitta piisanjjem SQL iizraza:: 5 S varan e up a p san em SQL zraza

17

Pozovemo Database window tipkom F11 U Database window izaberemo grupu Queries Kliknemo na Create Query in Design view ili New Otvara se prozor za odabir tablica iz baze koji emo zatvoriti Na izborniku odaberemo gumb ili View SQL da bi provjerili njegovu

Otvara se prozor za upisivanje SQL izjave,upiemo naredbe i pokrenemo upit gumbom Run ispravnost.Sauvamo upit Upitom se moe upravljati i preko (Query properties) karakteristika upita : -prikaz jedinstvenih zapisa ( Unique records ) -da li e biti prikazana sva polja upita, -prikaz odreenog broja zapisa,ogranienja za korisnika itd.

Uvjeti se postavljaju pomou raznih operatora koji su objanjeni u SQL poglavlju,gdje su objanjene i agregatne funkcije.

C.. KORITENJE GRADITELJA UVJETA - EXPRESSIION BUIILDER:: C KORITENJE GRADITELJA UVJETA - EXPRESS ON BU LDER
Expression builder pozivamo tako da kliknemo desni gumb mia na Criteria: ili Field: redak u QBE mrei i odaberemo Build opciju iz pop-up izbornika.Otvara se Expression builder prozor koji je sainjen od tri dijela.

Gornji dio se zove Expression box i u njemu gradimo izraz . Srednji dio je lista operatora koje ubacujemo u izraz tako da kliknemo na njega kada se nalazimo na mjestu u izrazu gdje ga elimo ubaciti. Donji dio se sastoji takoer od tri dijela. Lijevi dio u kojem se nalaze objekti baze podataka, funkcije, konstante, operatori i uobiajeni izrazi Srednji dio je lista specifinih elemenata za odabrani direktorij u lijevom dijelu Desni dio je lista vrijednosti za element koji je izabran u srednjem dijelu Izraz izgraujemo kombiniranjem operatora, elemenata, funkcija i vrijednosti ovisno o potrebi.Lista izraza se nalazi u helpu. Pozivamo ju tako da se pozicioniramo na Criteria polje i pritisnemo tipku F1. Tamo su operatori sloeni po svojoj domeni rada (rad sa brojevima, tekstom ,datumima itd.)

V..SQL (STRUCTURED QUERY LANGUAGE) V SQL (STRUCTURED QUERY LANGUAGE)


UPITNI JEZIK SQL (Structured Query Language) je ANSI/NCITS standardni jezik za stvaranje upita i manipulaciju relacijskim bazama podataka. Omoguava korisniku da bez nekog veeg i dubljeg poznavanja SUBP pregleda svoje 18

podatke te vezu prema veem SUBP(SQL posluiocima).Sadri standardizirane naredbe za pristup raznim vrstama baza podataka.Moe posluiti kao veza s drugim sustavima za upravljanje bazama podataka preko veznih upita. SQL naredbe su vrlo jednostavne,ali se mogu kombinirati na vrlo sloene naine,dijele se na dvije kategorije: DDL Data Definition Language - stvaranje/mijenjanje/brisanje tablica.Jezik koji opisuje atribute baze,posebno tablica,polja,indexa.Odnosi se Create Table naredbu. DML Data Manipulation Language - stvaranje/mijenjanje/brisanje podataka u tablicama DML naredbe obino sadre imena polja,tablica te par neophodnih dodatnih podataka.Ove naredbe mogu sadravati uvjete koji definiraju toan podskup podataka koje elimo vidjeti umjesto skupa svih podataka,mogu sortirati podatke na odreeni nain,te vriti agregaciju tj.spajanje podataka.Odnosi se na Select, Update, Insert, i Delete naredbe. Access slovi kao sustav u kojem je najjednostavnije i kreirati SQL naredbu te da su pogreke prilikom kreiranja svedene na minimum (misli se na pogreke u dobivenom rezultatu, a ne u samoj sintaksi SQL-a ). Podrava podskup naredbi standardnog SQL-a koji je vrlo moan. SINTAKSA je skup pravila koja se moraju potivati prilikom pisanja u programskom jeziku. SQL se u Access-u upotrebaljava kod : Upita odreuje listu podataka koje e upit prikazati Kontrola u objektima predefinirana lista i kombinirani unos Formi i Izvjetaja koje e podatke prikazati Makronaredbi moe sadravati SQL naredbu kao RunSQL akciju ili kao argument Where uvjet Programskih modula postoji nekoliko razloga za koritenje SQL-a u programskim modulima: odreivanje podataka koje e sadravati pojedini objekt,postavljanje filtera pisanje naredbe SQL-a vee od 256 znakova ( do 32 768 znakova )

A.. OSNOVNE NAREDBE I IZRAZI U SQL - U : A OSNOVNE NAREDBE I IZRAZI U SQL - U :


1.. SELECT ii FROM naredbe 1 SELECT FROM naredbe
Primjer tablice za bazu Poduzee:

Svaki upit zapoinje naredbom iza koje obavezno mora stajati razmak SQL-u nisu vana mala i velika slova,iako najee vidimo SQL naredbe pisane velikim slovima radi razlikovanja od drugih podataka. Kod pisanja SQL naredbe imena stupaca ne smiju imati razmake ili ako sadre razmak moraju se staviti u uglate zagrade [ime polja] Na kraju nabrojanih polja ili tablica ne smije stajati zarez.Na kraju izjave obavezno moramo postaviti znak toka-zarez (;) Recimo da elimo vidjeti adresu svakog zaposlenika u tablici radnici. Koristiemo SELECT naredbu na slijedei nain:

SELECT Grad,Adresa FROM Radnici;


SELECT naredba e odrediti koje stupce elimo vidjeti u upitu FROM naredba e rei Accessu koje tablice elimo koristiti u upitu. Rezultat e biti:

19

Za odabir samo imena i prezimena posluiemo se slijedeom SELECT naredbom :

SELECT Ime,Prezime FROM Radnici;

Openiti izgled SELECT FROM naredbe:

SELECT ImePolja, ImePolja, ImePolja... FROM ImeTablice;


Za odabir svih polja u tablici umjesto tipkanja svih imena koristimo izraz:

SELECT * FROM ImeTablice;

2.. WHERE iizraz ((posttavlljjanjje uvjjetta)) 2 WHERE zraz pos av an e uv e a

Da bi odabrali samo retke koji zadovoljavaju jedan ili vie uvjeta koristimo izraz WHERE koji se pie iza naredbe FROM Izraz WHERE se koristi za odabir i prikazivanje samo eljenih polja koja ispunjavaju zadani uvjet Polje koje se navodi u izrazu WHERE ne mora se navesti u naredbi SELECT Kod postavljanja uvjeta dozvoljeni su slijedei operatori ,u uvjetu se izvode se ovisno o prioritetu po slijedeem redoslijedu: OPERATORI ARITMETIKI ^ Potenciranje Negativni predznak(negacija) * Mnoenje / Dijeljenje / Cijelobrojno dijeljenje mod Ostatak cjelobrojnog dijeljenja(modulus) Oduzimanje + Zbrajanje & spajanje teksta RELACIJSKI (USPOREIVANJE) = Jednako <> Razliito < Manje od > Vee od <= Manje ili jednako >= Vee ili jednako LIKE Uspredba teksta sa uzorkom(pattern) LOGIKI NOT Negacija AND Konjunkcija(logiko i ) 20 PRIORITET 0 1 2 2 3 4 5 5 6 PRIORITET 7 7 7 7 7 7 7 PRIORITET 8 9

OR XOR EQV

Disjunkcija (logiko ili ) Eksklluzivna disjunkcija Ekvivalencija (jednakost)

10 11 12 PRIORITET 13 13 13 13 13

STATISTIKI Sum Zbraja Avg Prosjek Min,Max Najmanji, Najvei Count Broja First,Last Prvi, Zadnji

U daljem upoznavanju SELECT naredbe pogledajmo dodatne tablice za bazu Poduzee:

Ako elimo vidjeti broj_radnika radnika koji zarauju preko 65,000, napisat emo naredbu:

SELECT radnikID FROM Statistika WHERE placa >= 65000;

upotrijebili smo operator >= (vie od ili jednako) jer smo eljeli vidjeti ispis samo onih radnika ija je plaa vea od 65,000, ili jednaka 65,000. Isto se moe napraviti sa tekst tipom podatka:

SELECT radnikID FROM Statistika WHERE pozicija = 'Pripravnik';


Prikazati e radnikID svih Pripravnika:

Pravila upisivanja znakova iza operatora obzirom na tip podatka u polju: NUMBER znakovi upisani iza operatora se ne moraju okruivati nikakvim zagradama,decimalni broj emo prikazati pomou toke: cijelibroj.decimale TEXT tekst se stavi izmeu dva apostrofa i zmeu teksta i apostrofa ne smije postojati razmak :tekst uvjeta DATE/TIME podatak se pie izmeu dvije ljestve(catch) na slijedei nain brojevima u zadanom formatu: #mjesec/dan/godina# Ako elimo vidjeti samo radnike koji su menaderi ,te ih elimo sloiti silaznim redom naredba e izgledati ovako:

SELECT radnikID FROM Statistika


21

WHERE pozicija = 'Pripravnik' ORDER BY radnikID desc;

3.. ORDER BY iizraz ((sorttiiranjje)) 3 ORDER BY zraz sor ran e

ORDER BY izraz sortira podatke po predefiniranom redoslijedu: ASCENDING ASC (uzlazno od A do ili od 0 do 9) DESCENDING DESC (silazno od do A ili od 9 do 0) Koliko polja ima naredba Select toliko ih moe biti u izrazu Order By tj. upit se moe sortirati po vie polja. Polje na kojem smo naveli u izrazu Order By mora biti ukljueno u Select naredbi.

B.. UPOTREBA OPERATORA U UVJETU: B UPOTREBA OPERATORA U UVJETU:


1.. AND & OR 1 AND & OR
AND operator spaja dva ili vie uvjeta i prikazuje samo one redove koji ispunjavaju SVE zadane uvjete.On izvrava logiku operaciju KONJUKCIJE (Konjukcija lat. svezati,sjediniti).Mogui rezultati kod koritenja operatora AND:

X
TRUE TRUE FALSE FALSE

Y
TRUE FALSE TRUE FALSE

X AND Y
TRUE FALSE FALSE FALSE

Na primjer za prikaz svih Knjigovoa koji zarauju vie od 40,000:

SELECT radnikID FROM Statistika WHERE placa > 40000 AND pozicija = 'Knjigovoa';

OR operator spaja dva ili vie uvjeta, i prikazuje samo one redove koji ispunjavaju BILO KOJI zadani uvjet.On vri logiku operaciju DISJUNKCIJE(Disjunkcija lat. rastavljanje,razdvajanje) X
TRUE TRUE FALSE FALSE

Y
TRUE FALSE TRUE FALSE

X OR Y
TRUE TRUE TRUE FALSE

Na primjer za prikaz svih koji zarauju manje od 40,000 ILI imaju manje od 10,000 bonusa, napie se slijedea izjava:

SELECT radnikID FROM Statistika WHERE placa < 40000 OR bonus < 10000;

AND & OR se mogu kombinirati npr.:

22

SELECT radnikID FROM Statistika WHERE pozicija = 'Knjigovoa' AND placa > 60000 OR bonus > 7500;

SQL prvo trai retke gdje je plaa vea od 60,000 i pozicija je Knjigovoa. Zatim gleda da li bilo koji red zadovoljava OR uvjet da je bonus vei od 7,500. Tako prikazuje listu redaka prikazujui podatke o Managerima koji imaju plae vee od 60,000 kojima dodaje podatke o svim drugim radnicima koji imaju bonus vei od 7,500 . To se dogaa zato to OR operator ukljuuje red u listu ako je bilo koji uvjet toan. Primjeujemo da se AND operacija obavlja prva,a OR druga. Kada elimo da se OR operacija obavi prva tj.da dobijemo samo Managere koji imaju plae vee od 60,000 ili bonus vei od 7,500 upotrijebiemo zagrade:

SELECT radnikID FROM Statistika WHERE pozicija = 'Knjigovoa' AND (placa > 60000 OR bonus > 7500);

Rezultat je bitno drugaiji.

2.. IN & BETWEEN & NOT 2 IN & BETWEEN & NOT


IN pokazuje na podupit,tablicu,polje itd. u uvjetu,moemo ga koristiti umjesto nabrajanja vie OR logikih operacija. Npr.ako elimo listu svih Direktora i Knjigovoa moemo koristiti operator OR:

SELECT radnikID FROM Statistika WHERE pozicija='Direktor' OR pozicija='Knjigovoa';


ili moemo koristiti operator IN:

SELECT radnikID FROM Statistika WHERE pozicija IN ('Direktor', 'Knjigovoa');

tako ,ako imamo desetak OR uvjeta izraz moemo napisati na krai i pregledniji nain. BETWEEN je operator raspona ,koristimo ga kad trebamo navesti podruje unutar kojeg se nalaze svi eljeni zapisi. Npr.ako elimo listu onih koji zarauju vie ili jednako 30,000, ali manje ili jednako 50,000, koristimo:

SELECT radnikID FROM Statistika WHERE placa BETWEEN 30000 AND 50000;

23

Kada elimo listu onih koji nisu u toj grupi koristimo NOT:

SELECT radnikID FROM Statistika WHERE placa NOT BETWEEN 30000 AND 50000;

NOT IN lista sve redove koji nisu navedeni u IN listi. NOT dodan ispred nekog operatora vratie sve vrijednosti koje su razliite od zadane.

3.. Upottreba LIKE operattora 3 Upo reba LIKE opera ora


Like operator slui za pronalaenje eljenih zapisa koritenjem uzorka znakova uz koje moemo koristiti i specijalne znakove tzv. Jockere Pogledajmo u tablicu Statistika i recimo da elimo vidjeti radnikID, svih onih koji se prezivaju Supani:

SELECT radnikID FROM Radnici WHERE prezime LIKE 'Supani';


Tablica Jocker znakova: znak: * ? # [0-3] [c-g] [!2-5] zamjenjuje: bilo koji broj, nula i vie slova,brojeva ili simbola jedan proizvoljan znak na mjestu gdje je postavljen jednu znamenku na mjestu gdje je postavljen raspon brojeva od-do raspon slova od-do iskljuuje raspon

Koritenjem Jocker znakova pretraivanje baze postaje puno lake prilagoditi potrebama: Kada iz tablice Statistika elimo vidjeti radnikID, svih onih kojima prezime poinje sa "S" napisaemo:

SELECT radnikID FROM Radnici WHERE prezime LIKE 'S*';


Znak asterisk (*) predstavlja bilo koji nula i vie znakova (broja, slova, ili interpunkcije) koji se mogu pojaviti iza "S". Za nalaenje radnika ije prezime zavrava sa "S", zadamo '*S', ili ako traimo "S" bilo gdje u rijei, '*S*' Asterisk '*' moe zamjeniti bilo koje znakove ovisno o poziciji kojoj se nalazi prema zadanom znaku, u nekim sistemima umjesto (*) je (%). Openiti primjeri koritenja sloenih uzoraka uz operator LIKE za pretraivanje: primjer 1:

LIKE *a[1-3]z??
Traimo rije koja na poetku ima bilo koji broj znakova i poinje sa bilo kojim slovom,dok rije mora zavravati na zadani nain.Brojei od kraja rijei peti znak mora biti slovo a,etvrti znak od kraja je broj od 1 do 3,tree je slovo z i zadnja dva znaka suproizvoljna,ali ih moe biti samo dva. primjer 2:

LIKE B?????*
Traimo rije koja poinje slovom B i sadri vie od pet znakova. primjer 3:

LIKE *o*[!k]
Traimo rije koja na poetku (prva zvjezdica* moe znaiti i nula znakova) ili bilo gdje u sredini rijei sadri slovo o dok na kraju rijei ne smije biti slovo k. 24

primjer 4:

Like "??????"
Traimo sve rijei koje imaju est znakova.Isti izraz u Input mask: ograniie upis na rijei koje imaju tono est znakova. NOT LIKE prikazuje retke koji ne odgovaraju zadanom uzorku.

C.. UPITI KOJI KORISTE PARAMETRE C UPITI KOJI KORISTE PARAMETRE


Kada elimo upit kojem korisnik sam moe zadati uvjet za pretraivanje prije svakog izvravanja koristimo metodu PARAMETARA. Metoda se sastoji od ubacivanja uvjeta u uglate zagrade (poput polja). U jednom upitu moemo koristiti vie od jednog parametra. Primjer koritenja operatora BETWEEN za unoenje parametra: Prikaz IDbroja radnika ija je plaa izmeu dvije vrijednosti koje unosi korisnik.

SELECT radnikID FROM Statistika WHERE placa BETWEEN [donja vrijednost] AND [gornja vrijednost];
Dobiemo dijalog gdje emo upisati donju eljenu vrijednost,zatim e se pojaviti drugi dijalog za gornju vrijednost:

Primjer koritenja operatora LIKE za unoenje parametra:

SELECT prezime,ime FROM radnici WHERE prezime LIKE [upii slovo]&'*'

Traie od korisnika upis prvih slova prezimena slova za uvjet. U ovom primjeru smo umjesto unaprijed zadanog slova ostavili korisniku mogunost izbora slova tako da smo umjesto slova tekstu u uglatim zagradama pridruili znakom &(pridruivanje) znak *(asterisk) koji e se ispisati kad se od korisnika zatrai unos poetnog slova (za vee ograniavanje liste moe se unijeti i vie slova).

D.. ALIASI I PODUPITI(SUBQUERIES): D ALIASI I PODUPITI(SUBQUERIES):


Primjer tablica za novu bazu Posrednik:

25

Primjer odreivanja Aliasa tj. natpisa(Caption) za imena tablica i upotrebe subquerija pomou tvrdnje IN ,te kako upotrijebiti navedeno na primjeru sa tri tablice: Prvo emo pogledati upit koji lista prezimena onih vlasnika koji su naruili predmet i to je predmet narudbe,listajui samo one narudbe koje mogu biti ispunjene (uvjet je da u tablici Antikviteti postoji narueni predmet) .Polju i tablici odreujemo alias pomou rijei AS.

SELECT Vl.prezime AS[PREZIME VLASNIKA],Nar.narucio AS[NARUENI PREDMET] FROM Naruceno AS Nar,Vlasnici AS Vl WHERE Nar.kupacID=Vl.vlasnikID AND Nar.narucio IN(SELECT predmet FROM Prodano);

Objanjenje upita: Umjesto orginalnog imena polja (koje ostaje nepromjenjeno) sad vidimo naslov polja kao alias "PREZIME VLASNIKA" te "NARUENI PREDMET" koji su navedeni u SELECT-u to ini tablicu preglednijom. Nar & Vl su skraeni naslovi (aliasi) za tablice , navode se u naredbi FROM . Kad su navedeni ,umjesto orginalnih imena tablica,kao prefikse za polja koristitmo aliase to olakava tipkanje dugih imena tablica i smanjuje mogunost greke. Podupit IN(SELECT predmet FROM Prodano) ograniava prikaz eljenih predmeta samo na one dostupne u tablici Prodano.U ovakvom podupitu moemo navesti samo jedno polje iz neke tablice. Kada u upitu koristimo vie tablica moramo navesti u izrazu WHERE vezu meu tablicama tj. polja pomou kojih e Acces kordinirati podatke kao Nar.vlasnikID=Vl.vlasnikID.Ako ne navedemo polja veze Access nee moi odrediti koji podatci iz jedne tablice odgovaraju podacima iz druge tablice pa e izlistati sve mogue kombinacije svih podataka iz obje tablice tzv. Kartezijev produkt

E.. FUNKCIJE SUMIRANJA TOTALI: E FUNKCIJE SUMIRANJA TOTALI:


Totali su razliite funkcije koje vre operacije na vie redaka u tablici i iz tih podataka izraunaju neki rezultat ne mijenjajui postojee podatke. Govoriti emo o pet vanih funkcija sumiranja (aggregate functions):

SUM , AVG , MAX , MIN , COUNT


Avg(polje) Prosjek vrijednosti u polju 26 Number, Date/Time,Currency,AutoNumber

Min(polje) Max(polje) Count(polje) Broja

Najnia vrijednost u polju Najvia vrijednost u polju Broji zadane vrijednosti u polju,ne broji Null (prazne) elije.Count(*) vraa ukupan broj redaka Zbraja zadane vrijednosti u polju.

Sum(polje)

Text, Number, Date/Time,Currency,AutoNumber Text, Number, Date/Time,Currency,AutoNumber Text, Memo, Number,Date/Time, Currency,AutoNumber,Yes/No, OLE Object Number,Curren Number,Currency

Zovemo ih funkcije sumiranja zato jer sumiraju rezultate upita umjesto da prikazuju sve retke. Koristimo ih u naredbi SELECT u obliku:

SELECT TOTAL(ImePolja) FROM ImeTablice;


Izmeu totala i zagrada ne smije biti razmaka! Primjeri:

SELECT SUM(placa) AS [Sum(placa)], AVG(placa) AS [Avg(placa)] FROM Statistika;


Ovaj upit pokazuje zbroj svih plaa,i prosjek vrijednosti plaa upisanih u tablicu

SELECT MIN(bonus) AS [Min(bonus)] FROM Statistika WHERE pozicija = 'Slubenik';


Daje najmanji bonus radnika koji su Slubenici u stupcu bonus. Ovaj upit e nam rei koliko knjigovoa ima u tablici.

SELECT COUNT(*)AS [Count(Knjigovoa)] FROM Statistika WHERE pozicija = 'Knjigovoa';

F.. IZRAZI KOJI SE KORISTE NA FUNKCIJAMA U SELECT F IZRAZI KOJI SE KORISTE NA FUNKCIJAMA U SELECT NAREDBI: NAREDBI:
1.. GROUP BY 1 GROUP BY
Kada u SELECT-u gdje koristimo funkciju navedemo ime polja koje ne koristi funkciju dobiemo poruku o greci:

SELECT COUNT(*)AS [Count(Knjigovoa)],bonus FROM Statistika WHERE pozicija = 'Knjigovoa';

27

To se dogaa zato to TOTALI sumiraju vie redaka to je nemogue prikazati u tablici koja eli pridruiti svaki podatak iz polja TOTAL svakom podatku iz polja bonus jer ih nije jednak broj. Zbog toga se izrazu dodaje novi izraz GROUP BY koji e grupirati jednake podatke iz dodanog polja i njima pridruiti zadane TOTALE:

SELECT COUNT(*)AS [Count(Knjigovoa)],bonus FROM Statistika WHERE pozicija = 'Knjigovoa' GROUP BY bonus;

Svako polje koje nije funkcija ,a navedeno je u SELECTU mora se navesti i u GROUP BY odvojeno zarezom.

SELECT COUNT(*)AS [Count(Knjigovoa)],bonus,placa FROM Statistika WHERE pozicija = 'Knjigovoa' GROUP BY bonus,placa;

Svrha izraza GROUP BY je udruivanje redaka dobivenih nekom od funkcija sumiranja u grupu prema zadanom stupcu. Tablica Prodano ima polje cijena i svaki redak u tom polju ima vrijednost: elimo vidjeti cijenu najskupljeg predmeta koji je kupio neki vlasnik.Moramo rei SQLu da grupira kupovine svakog vlasnika,pa onda izdvoji najveu cijenu:

SELECT kupacID, MAX(cijena) AS [Najskuplji kupljen predmet] FROM Prodano GROUP BY kupacID;

Nije mogue postaviti uvjet na funkciju sumiranja izrazom WHERE zato to se WHERE izraz ne moe primjeniti na funkcije sumiranja.Stoga je SQLu dodan jo jedan izraz : HAVING

2.. HAVING 2 HAVING


Bez HAVING izraza ne bi bilo mogue primjeniti uvjet na polje funkcije sumiranja. Kad u WHERE izrazu navedemo polje funkcije dobiemo poruku o greci:

SELECT Prodano.kupacID, Prodano.cijena,Prodano.predmet, Max(Prodano.cijena) AS MaksimalnaCijena FROM Prodano , Naruceno WHERE Prodano.kupacID =Naruceno.kupacID and predmet='stolica' and Max(Prodano.cijena)<140 GROUP BY Prodano.kupacID, Prodano.cijena,Prodano.predmet;

Zato naredbi dodajemo HAVING izraz gdje navodimo uvjet za polje funkcije sumiranja: 28

SELECT Prodano.kupacID, Prodano.cijena,Prodano.predmet, Max(Prodano.cijena) AS MaksimalnaCijena FROM Prodano , Naruceno WHERE Prodano.kupacID =Naruceno.kupacID and predmet='stolica' GROUP BY Prodano.kupacID, Prodano.cijena,Prodano.predmet HAVING Max(Prodano.cijena)<140;

Sve uvjete iz izraza WHERE moemo navesti u izrazu HAVING ,tako moemo sasvim izbaciti izraz WHERE iz naredbe kada koristimo HAVING:

SELECT Prodano.kupacID, Prodano.cijena,Prodano.predmet, Max(Prodano.cijena) AS MaksimalnaCijena FROM Prodano , Naruceno GROUP BY Prodano.kupacID, Prodano.cijena,Prodano.predmet,Naruceno.kupacID HAVING Max(Prodano.cijena)<140 and predmet='stolica' and Prodano.kupacID =Naruceno.kupacID;
Moramo paziti da sva polja navedena u uvjetu navedemo u izrazu GROUP BY inae emo dobiti poruku ogreci. Kad elimo vidjeti cijenu svih predmeta koji je kupio neki vlasnik ,a cijena im je jednaka i vea od 1000 kuna upotrijebiemo HAVING izraz:

SELECT kupacID, MAX(cijena) AS [Cijena iznad 1000Kn] FROM Prodano GROUP BY kupacID HAVING MAX(cijena) >= 1000;

GROUP BY automatski eliminira duplikate (ne moramo koristiti SELECT DISTINCT)

G..DISTINCT I ELIMINIRANJE DUPLIKATA G DISTINCT I ELIMINIRANJE DUPLIKATA


Recimo da elimo izlistati ID i imena samo onih koji su prodali predmet.elimo da svaki podatak bude izlistan samo jednom ,ne elimo znati koliko je raznih predmeta prodala jedna osoba, samo injenicu da li je prodala predmet. Znai,moramo rei SQL-u da eliminira duple redove i izlista svaku osobu samo jednom. Da bi to postigli upotrijebiemo DISTINCT naredbu. Prvo moramo vezati tablicu Vlasnici i Prodano da bi dobili detaljne podatke osobe (ime,prezime itd.). Moramo znati da je prodavacID stupac u tablici Prodano foreign key tablice Vlasnici, Ime prodavaa e biti izlistano samo ako postoji ista vrijednost u retku u tablici Vlasnici. Osim toga eljeemo izbjei ponavljanje prodavacID u naoj listi,zato emo upotrijebiti DISTINCT na stupcu gdje bi se vrijednosti mogle pojaviti vie puta. Prikazana prezimena sortiraemo po abecedi sa ORDER BY naredbom:

SELECT DISTINCT vlasnikID,prezime,ime FROM Prodano,Vlasnici WHERE prodavacID = vlasnikID ORDER BY prezime asc;
U ovom primjeru kako su svi prodali bar jedan predmet dobiemo listu svih Vlasnika abecednim redom. Ovaj oblik vezanja tablica pripada kategoriji inner joins.

29

H..JOIN-S ,,VEZANJE TABLICA SQL-OM U UPITU H JOIN-S VEZANJE TABLICA SQL-OM U UPITU
Dobro dizajnirana baza prikazuje podatke o jednom subjektu (entity) u jednoj tablici, dodatne informacije se dobijaju iz drugih tablica upitima preko vezanja(join) tablica. Primarni klju u tablici Vlasnici je vlasnikID.To znai da nema dva retka sa istim vlasnikID i onda kada dva vlasnika imaju isto ime i prezime.VlasnikID polje osigurava da se ne zamjene dva vlasnika tako to se stupac sa jedinstvenim vrijednostima koristi za identifikaciju i nalaenje vlasnika u tablici umjesto imena. Strani klju( foreign key) je stupac u drugoj tablici koji uva iste vrijednosti kao i primarni klju prve tablice, u to polje moemo upisati samo podatke koji postoje u primarnom kjuu prve tablice,ako tu mogunost posebno ne odobrimo. Takva jednakost je poznata kao referencijalni integritet (referential integrity).Razlika izmeu tih polja je u tome to se u stranom kljuu vrijednosti mogu ponavljati. U tablici Prodano polja kupacID i prodavacID su strani kljuevi,ona su primarni klju tablice Vlasnici. Svi ID podatci slue za identifikaciju kupca,prodavaca i vlasnika bez navodjenja njihovog punog imena.

1.. Izvoenjje Joiin--a ((vezanjja)) 1 Izvoen e Jo n a vezan a

Svrha kljueva (keys) je da se podatci u dvije ili vie tablica mogu povezati bez ponavljanja podataka iz svih tablica. Za pronalaenje imena onih koji su kupili stolice koristimo slijedei upit:

SELECT prezime,ime,cijena FROM Vlasnici,Prodano WHERE vlasnikID = kupacID AND predmet = 'stolica';
Vidi se se da su obje tablice u relaciji izlistane u FROM naredbi, u uvjetu uoavamo predmet = 'stolica' dio koji ograniava listu na one koji su kupili stolicu.Dalje, vidi se kako se ID stupci veu iz prve tablice na drugu upotrebom izraza WHERE vlasnikID = kupacID . To znai da e biti e izlistani samo redovi gdje se ID's poklapa kroz tablice,a kupljeni predmet je stolica (zbog AND) Zbog toga to uvjet u vezi upotrebljava znak jednakosti, ovaj join nazivamo equijoin Kad se ne bi postavio uvjet preko kojeg se veu podatci u obje tablice dva skupa podataka bi se spojila veui svaki podatak iz jedne tablice sa svakim iz druge i rezultat upita bi bio Kartezijev produkt! Primjer:

SELECT prezime,ime FROM Vlasnici,Prodano WHERE predmet = 'stolica';

Ako u svim tablicama u upitu imamo razliita imena polja navoenje imena tablica nije potrebno,ali ako ima istih imena mora se navesti ime tablice da bi se odredilo iz koje tablice elimo polje. Kada navodimo ime tablice i ime polja izmeu imena tablice i polja se stavlja TOKA:

SELECT vlasnici.prezime, vlasnici.ime FROM vlasnici,prodano WHERE vlasnici.vlasnikID = prodano.kupacID AND predmet = 'stolica';
30

Umjesto izrazom WHERE vezu tonije moemo odrediti izrazima INNER ili OUTER JOIN.

2.. Inner ,,Sellff ii Outter jjoiins:: 2 Inner Se Ou er o ns


a)) Inner jjoiin a Inner o n
Kod kreiranja upita,podrazumjevani(default)join meu tablicama je inner join koji selektira sve jednake vrijednosti vezanih polja iz obje tablice tj. samo ako podatci postoje u obadvije tablice. Podatci iz dvije tablice se kombiniraju i dodaju rezultatu upita samo ako su vrijednosti vezanih polja ispunile zadani uvjet. Primjer 1:

SELECT DISTINCT vlasnikID, kupacID FROM Vlasnici INNER JOIN Prodano ON Vlasnici.vlasnikID = Prodano.kupacID;

Primjer 2:

SELECT Prodano.kupacID, Prodano.cijena,predmet FROM Prodano INNER JOIN Naruceno ON Prodano.kupacID = Naruceno.kupacID; b)) Sellff--Joiin b Se Jo n
Kada elimo pronai retke koji imaju duplikate u zadanom polju u istoj tablici moemo udruiti eljenu tablicu samu sa sobom kreirajui self-join. Self-join zahtijeva najmanje dvije tablice za postavljanje,ali umjesto da se doda druga, dodaje ista tablica kojoj se dodijeli alias (nadimak).Tako moemo usporediti polje orginalne sa istim poljem kopije iste tablice to nam dozvoljava usporeivanje redaka u tom polju. Naprimjer, ako koristite self-join za nalaenje duplih upisa vlasnika pod razliitom ifrom,usporeujemo jmbg polje u prvoj sa istim poljem u drugoj tablici Za primjer emo upisati dupli podatak za jednog vlasnika sa razliitim vlasnikID(7 i 3) u tablicu vlasnici:

SELECT Vlasnici.prezime,Vlasnici.VlasnikID FROM Vlasnici INNER JOIN Vlasnici AS Duplikati ON Vlasnici.jmbg = Duplikati.jmbg;

Kreiranje self-joina obino zahtijeva viestuke join uvjete. Primarni je onaj na kojem je utemeljen join ,a to je odreivanje polja koje emo usporediti.To nije dovoljno jer e nam gore navedeni primjer svaki redak uporediti sam sa sobom.Rezultat je ponavljanje svakog od redaka koji imaju istu vrijednost u vezanom stupcu toliko puta koliko se ukupno nalazi jednakih vrijednosti u vezanom stupcu tablice.U gornjem primjeru upit nalazi jedan redak koji ispunjava uvjet puta dva puta upisan isti jmbg i svaki podatak ispisuje dva puta. Za eliminiranje duplih redova sa istim primarnim kljuem moramo dodati drugi uvjet . Npr. drugi uvjet moe usporeivati primarni klju (vlasnikID) tablice operatorom (<>). 31

SELECT Vlasnici.prezime,Vlasnici.ime,Vlasnici.jmbg FROM Vlasnici INNER JOIN Vlasnici AS Duplikati ON Vlasnici.jmbg = Duplikati.jmbg WHERE Vlasnici.vlasnikID <> Duplikati.vlasnikID ORDER BY Vlasnici.prezime;

U select naredbu treba uvrstiti polje primarnog kljua ako elimo vidjeti razliku izmeu redaka koji sadre jednake vrijednosti

SELECT Vlasnici.VlasnikID,Vlasnici.prezime,Vlasnici.ime, Vlasnici.jmbg FROM Vlasnici INNER JOIN Vlasnici AS Duplikati ON Vlasnici.jmbg = Duplikati.jmbg WHERE Vlasnici.vlasnikID <> Duplikati.vlasnikID ORDER BY Vlasnici.prezime;

Ako navedemo SELECT DISTINCT i ne uvrstimo polje primarnog kljua dobiti emo samo jednu vrijednost:

SELECT DISTINCT Vlasnici.prezime, Vlasnici.ime,Vlasnici.jmbg FROM Vlasnici INNER JOIN Vlasnici AS Duplikati ON Vlasnici.jmbg = Duplikati.jmbg WHERE Vlasnici.vlasnikID <> Duplikati.vlasnikID ORDER BY Vlasnici.prezime;

Napomena: Isti rezultat moemo dobiti jednostavnim izrazom koji koristi podupit:

SELECT Vlasnici.vlasnikID,Vlasnici.prezime, Vlasnici.ime, Vlasnici.jmbg FROM Vlasnici WHERE Vlasnici.jmbg IN (SELECT jmbg FROM Vlasnici As Duplikati GROUP BY jmbg HAVING Count(*)>1) ORDER BY Vlasnici.prezime; c)) Outter jjoiin c Ou er o n
OUTER JOIN svaki odgovarajui redak iz dviju tablica kombinira u jedan redak u rezultatu upita.Jedna od tablica daje sve (ALL) podatke iz polja dok druga daje samo podatke koji postoje u polju prve tablice. Kad podatak iz tablice koja je definirana kao ALL (daje sve podatke) ne moe nai jednaku vrijednost u drugoj tablici, podatak se svejedno pojavljuje u rezultatu,ali polje gdje se treba pojaviti odgovarajui podatak ostaje prazno. Postoje tri varijacije outer joina : (lijevi) left outer join i (desni) right outer join (postoje u Accessovim bazama i projektima) (potpuni) full outer join (postoji samo u Access projektima) Za primjer smo dodali novi vlasnikID(7) u tablicu Vlasnici:

SELECT DISTINCT Vlasnici.vlasnikID,Prodano.kupacID FROM Vlasnici LEFT OUTER JOIN Prodano ON Vlasnici.vlasnikID = Prodano.kupacID;

32

Left outer join e pokazati vlasnikID 6 i 7 iako takvi podatci ne postoji u tablici Prodano! Slijedea tvrdnja e vratiti samo retke kojh nema u tablici Antikviteti:

SELECT DISTINCT Vlasnici.vlasnikID,Prodano.kupacID FROM Vlasnici LEFT OUTER JOIN Prodano ON Vlasnici.vlasnikID = Prodano.kupacID WHERE (kupacID IS NULL);

Outer join e pokazati podatak koji postoji u prvoj dok u drugoj tablici ima vrijednost NULL i obratno.Ovaj koncept je koristan kad elimo vidjeti vrijednosti polja koje ne postoje u obje tablice.

I.. NEKE SQL FUNKCIJE I NEKE SQL FUNKCIJE


1.. Funkciijje za Dattum ii Vriijjeme 1 Funkc e za Da um Vr eme
NOW() vraa trenutno vrijeme i datum ,primjer:

SELECT Now() AS ZadaniDatum,NOW()+7 AS Plus7Dana;


Dodae zadani broj dana u polje prikazuje i vrijeme. HOUR(NOW()) vraa trenutni sat,primjer:

SELECT HOUR(NOW()) AS ZadaniSat, HOUR(NOW()) +7 AS Plus7Sati;

DATE() vraa trenutni datum:

SELECT Date() AS ZadaniDatum,Date()+7 AS Plus7Dana;


Dodae zadani broj dana u polje ne prikazuje vrijeme. Primjer: uvjetom >Date()-31 u polju Datuma dobiemo sve podatke upisane u zadnjih mjesec(31) dana. DATEPART(interval,datum) vraa dio datuma ovisno o zadanom intervalu Uvjet moemo postaviti tako da trai upis korisnika parametar ili upisanu stalnu vrijednost:

(DatePart("yyyy";[ImePolja])=[upii godinu:]) ili (DatePart("yyyy";[ImePolja])=2002)


ostali intervali:

(DatePart("m";[ImePolja])=[upii mjesec:]) (DatePart("d";[ImePolja])=[upii dan:]) (DatePart("ww";[ImePolja])=[upii tjedan:]) od 1 do 52 (DatePart("q";[ImePolja])=[upii tromjeseje:]) od 1 do 4


HOUR(Datum) vraa vrijednost sata (0-23) 33

DAY(Datum) vraa vrijednost od 1 do 31 ovisno o danu u mjesecu. Primjer: Day([ImePolja])>13 vratie sve datume iznad 13. u nekom mjesecu Day([Datum])= 13 vratie samo datume 13. u nekom mjesecu Day([Datum])=[upii datum(dan):] vratie dan koji upiemo MONTH(Datum) vraa vrijednost od 1 do 12 Primjer: Month([Datum])=5 vratie sve datume iz petog mjeseca Month([Datum])>6 vratie sve datume iznad estog mjeseca (drugo polugodite) Day([Datum])=13 And Month([Datum])=5 vratie sve datume 13.05. bilo koje godine YEAR(Datum) vraa vrijednost od 1000 do 9999 ovisno o godini Year([Datum])=2002 vratie sve datume iz 2002.godine

Day([Datum])=13 And Month([Datum])=5 And Year([Datum])=2002


vratie datum 13.05.02 WEEKDAY(Datum) vraa vrijednost od 1 do 7 ovisno o danu u tjednu (nedjelja je 1. a subota 7. dan tjedna) Weekday([Datum])=4 vratie sve datume koji su bili u srijedu. DATESERIAL funkcija primjeri:

SELECT Date() AS ZadaniDatum, DateSerial(Year(ZadaniDatum)+0,Month(ZadaniDatum)+2,Day(ZadaniDatu m)+0) AS Plus2Mjeseca;


Dodae zadani broj mjeseci u polje.

SELECT ZadaniDatum, DateSerial(Year(ZadaniDatum)+1,Month(ZadaniDatum)+0,Day(ZadaniDatu m)+0) AS PlusGodinuDana FROM Tablica;

Dodae zadani broj godina u polje.

2.. IIF ffunkciijja 2 IIF unkc a

Ovaj primjer koristi IIf funkciju za prikaz odreene rijei obzirom na uvjet:

SELECT cijena, IIF([cijena] > 1000, "Large", "Small") as kolicina FROM Antikviteti;

J.. RAD SA PRAZNIM VRIJEDNOSTIMA J RAD SA PRAZNIM VRIJEDNOSTIMA


34

Kada polje ne sadri upisanu vrijednost ono sadri Null value ili Zero-length string.Postoje li u nekom polju Null vrijednosti one mogu utjecati na rezultat upita.Moe se dogoditi da neki zapisi ne budu prikazani u rezultatu. Naprimjer kada koristimo logiki oprerator LIKE vratie se samo pune vrijednosti,ali ne i Null values. Za traenje praznih brojanih (Null values) ili tekst (zero-length strings) vrijednosti u polju koristimo IS Null kriterij. Primjer traenja Null values:

SELECT cijena,porez FROM Prodano WHERE porez IS NULL;


Primjer traenja Zero-length string:

SELECT cijena,predmet FROM Prodano WHERE predmet IS NULL

1.. Kako Nullll vallues djjellujje na raunanjje :: 1 Kako Nu va ues d e u e na raunan e

Kad elite izraunati neki od totala(sum, avg, count itd.) podaci sa Null vrijednostima nee biti ukljueni u raun. Ako koristite aritmetiki operator (kao +, -, *, /) u izrazu (kao [cijena]+[porez]) , a jedno od polja sadri Null value rezultat e biti Null value.

SELECT cijena, porez, cijena + porez AS ukupno FROM Prodano;

Ako koristite Count za brojanje vrijednosti u polju dobiete broj svih ne-praznih vrijednosti ,prazne se nee brojati.

SELECT Count(porez) as brojvrijednosti FROM Prodano;


Za ukupan broj svih redaka ukljuujui prazne koristimo Count sa asteriskom (*).

SELECT Count(*) as brojvrijednosti FROM Prodano;

2.. Prettvaranjje Nullll vallues u nullu 2 Pre varan e Nu va ues u nu u

Kada imamo polja koja sadre Null values, moemo napisati izraz koji pretvara Null values u nulu, da bi polja mogli koristiti u funkcijama pridruivanja,ili da bi sprijeili da rezultat izraza bude Null value. U tom sluaju koristimo Nz funkciju za pretvaranje Null values u nulu:

SELECT cijena,porez, Nz([cijena],0)+Nz([porez],0) AS ukupno FROM Prodano;

35

3.. Kombiiniiranjje Tekstt polljja kojja iimajju zero--llengtth sttriing:: 3 Komb n ran e Teks po a ko a ma u zero eng h s r ng

Kod kombiniranja Tekst polja od kojih je jedno ili oba prazno koristi & operator umjesto + operator za udruivanje vrijednosti.Operator & e kombinirati polja i onda kad su prazna dok e + operator vratiti nulu ako je jedno od polja prazno. Primjer:

SELECT ime,prezime, [prezime] & " " & [ime] as FROM Radnici;

PunoIme

SELECT ime,prezime, [prezime]+[ime] as FROM Radnici;

PunoIme

Kada sortiramo uzlazno(ascending) podatak koji ima Null value e biti prvi na listi ,zatim e se listati zero-length strings pa tek onda pune vrijednosti.

K..DEFINIRANJE TABLICE SQL-OM K DEFINIRANJE TABLICE SQL-OM


1.. CREATE TABLE kreiiranjje noviih ttablliica 1 CREATE TABLE kre ran e nov h ab ca
Pogledajmo kako moemo kreirati novu tablicu:

CREATE TABLE Primjer (osobaID INTEGER NOT NULL, prezime CHAR(40) NOT NULL);
Stvorili smo novu tablicu:

Naredba CREATE kreira novu tablicu ,daje ime tablici i odreuje tip svakog stupca u novoj tablici. Ova naredba koristi generike tipove podatka (generic data types) Primjer kreiranja tablice sa kojoj emo odrediti Primarni klju:

CREATE TABLE Primjer (osobaID INTEGER PRIMARY KEY, prezime CHAR(40) NOT NULL);

Napomena: NOT NULL znai da polje mora imati upisanu vrijednost u svakom polju,ne moe biti prazno. NULL znai da polje ne mora imati upisanu vrijednost u svakom polju,moe biti prazno.

36

ei generiki tipovi podataka su: Char(x) , String(x),Text(x) Longtext(x), Memo(x) Integer Long Single Double Currency Autoincrement, Counter Date Time DateTime Logical , YESNO, LOGICAL1 Binary ,VarBinary maksimalni broj znakova se odreuje (x) (Size) osobinom,ako je Size = 0 maksimalni broj znakova je 255 maksimalni broj znakova je 64 000 cijeli broj pozitivan ili negativan 32768 do +32767 cijeli broj pozitivan ili negativan 2147483648 do +2147483647 decimalni broj pozitivan ili negativan vei decimalni broj pozitivan ili negativan valuta 8 bytova broja datum vrijeme datum/vrijeme ima samo dvije vrijednosti ( 1) za true 0 za false pohranjuje binarne podatke maksimalni broj znakova je 255 pohranjuje objekte kreirane u drugim aplikacijama koji mogu biti povezani(linked) ili nepovezani (embedded) u Microsoft Jet databaseNpr. Moete koristiti OLE Object polje za pohranu kolekcije slika.

LongBinary, OLEobject

2.. CREATE INDEX kreiiranjje iindeksa 2 CREATE INDEX kre ran e ndeksa

Indeksi omoguavaju DBMS-u bri pristup eljenim podatcima.Indeksiranjem polja sistem stvara interni registar podataka (internal data structure),koji ubrzava proces selektiranja eljenih redaka kada koristimo indeksirana polja. Indeks govori sistemu gdje se tono nalazi odreeni redak u tablici preko indksiranog polja.Slino kao kazalo u knjizi koje govori na kojoj stranici moemo nai eljeni podatak Stvaranje indeksa za polje vlasnikID u tablici Vlasnici:

CREATE INDEX vlID_IDX ON Vlasnici (vlasnikID);


U ovom primjeru, stvorili smo jedan indeks za jedno polje. Stvaranje indeksa za polja ime i prezime:

CREATE INDEX naziv_IDX ON Vlasnici (prezime,ime);


U ovom primjeru, stvorili smo jedan indeks za dva polja.Spajanje vie polja jednim indeksom ponekad moe dati udne rezultate,treba provjeriti mogue rezultate prije izvoenja ovakve operacije. Stvaranje jedinstvenog indeksa:

CREATE UNIQUE INDEX vlID_IDX ON Vlasnici (vlasnikID);


Jedinstveni indeks e primorati sistem da ne dopusti upis duplih vrijednosti u to polje.

3.. VIEW Poglled 3 VIEW Pog ed


U SQL-u moete imati pristup stvaranju svojih pogleda .U Access bazi pogledi su integrirani sa upitima.Mogu se koristiti i u drugim upitima ako navedemo ime pogleda u FROM naredbi. Kada pristupate View tablici,izvodi se upit koji je definiran u keiranju View tablice tako u njoj vidimo rezultate upita koji izgledaju kao isto kao tablica,ali ne pohranjuju podatke nego ih privremeno prikazuju u obliku koji definiramo upitom. Primjer:

CREATE VIEW Ant_VIEW AS SELECT narucio FROM naruceno;


Moemo stvoriti novu View tablicu koristei Ant_VIEW kao tablicu: 37

CREATE VIEW Prodavac_VIEW SELECT prodavacID FROM Prodano,Ant_VIEW WHERE predmet = narucio;
View tablice se mogu koristiti za ograniavanje pristupa podatcima u bazi.

4.. DROP briisanjje ttablliice,,procedure,,poglleda((viiew)),,iindeksa 4 DROP br san e ab ce procedure pog eda v ew ndeksa
Brie postojeu tablicu,proceduru,view iz baze ili brie postojei indeks u tablici. Brisanje indeksa naredbom DROP:

DROP INDEX vlID_IDX ON Vlasnici; DROP INDEX naziv_IDX ON Vlasnici;


Naredbom DROP moete obrisati cijelu tablicu zajedno sa podacima.

DROP

TABLE ImeTablice;

PANJA!Nakon brisanja tablica je nepovratno izgubljena!

5.. ALTER dodavanjje polljja ((Alltteriing)) u ttablliice 5 ALTER dodavan e po a A er ng u ab ce


Dodajmo polje u tablicu Narudzbe da bi mogli upisati cijenu nekog predmeta:

ALTER TABLE Primjer ADD placa CURRENCY NULL, koeficjent SINGLE NULL;
Tablica e dobiti dva nova polja:

Podatci za novo polje se mogu aurirati ili umetnuti na slijedei nain:

L.. AURIRANJE I BRISANJE PODATAKA: L AURIRANJE I BRISANJE PODATAKA:


1.. INSERT dodavanjje ii auriiranjje redaka ((podattaka)) u polljjiima 1 INSERT dodavan e aur ran e redaka poda aka u po ma
Da bi umetnuli redak u tablicu, napiemo slijedee:

INSERT INTO Primjer

VALUES (21,'Majeti',7000.00,2.7);

Ova tvrdnja e umetnuti podatke u tablicu,kao novi redak polje za poljem u predefiniranom redoslijedu:

Umjesto toga, promjenimo redoslijed polja ostavljajui polje cijena prazno:

INSERT INTO Primjer(placa,osobaID,prezime) VALUES (5000.00, 22, 'Uzelac');

38

2.. DELETE briisanjje podattaka iiz ttablliice 2 DELETE br san e poda aka z ab ce
Obriimo zadani redak iz tablice Primjer

DELETE FROM Primjer WHERE placa = 5000.00;


Cijeli redak koji je u pohranjivao vrijednost 5000.00 je obrisan, tako e biti obrisan svaki redak koji uva vrijednost 5000.00 ako ih u tablici postoji vie.Zato moramo postaviti uvjet koji e izabrati samo one podatke koje elimo obrisati tj. moramo proiriti uvjet:

DELETE FROM Primjer WHERE placa = 5000.00 AND prezime = 'Uzelac';


Kada elimo obrisati sve podatke u tablici koristimo asterisk * :

DELETE * FROM Primjer

3.. UPDATE auriiranjje podattaka 3 UPDATE aur ran e poda aka


Primjer tablice:

Ubacimo cijenu u polje cijena za predmete ija cijena nije izlistana:

UPDATE NaruceniPredmeti SET cijena = 150.00 WHERE zeljeni_predmet = 'stolica';


Ova tvrdnja postavlja cijenu za sve predmete sa nazivom stolica na 150,00.

Da bi se izbor eljenih redaka u tablici vie ograniio moramo navesti vie WHERE uvjeta koristei AND operator.

UPDATE NaruceniPredmeti SET cijena = 250.00 WHERE zeljeni_predmet = 'stolica' AND kupacID = 21

Za auriranje podataka vie stupaca u nekom retku moramo postaviti vie jednako je izjava u naredbi SET , dodatni stupci se navode tako da ih odvojimo zarezom:

UPDATE NaruceniPredmeti SET cijena = 250.00 ,kolicina = 7 WHERE zeljeni_predmet = 'stolica' AND kupacID = 21;

39

Kada elimo radnika koji vie nije na spisku,ne briui njegov ID zamijeniti novim:

UPDATE radnici SET prezime = 'Serti',ime = 'Stipe' WHERE prezime = 'Majeti' and ime = 'Katarina';
Sloenije akcije,zahtjevaju sloenije SQL izjave, iako se grade istim jednostavnim izrazima. Pogledajmo tablicu u bazu Poduzee koja koristi polje Yes/No:

Slijedei primjer aurira podatke u tablici Statistika pomou tablice Povisica:

UPDATE Statistika SET placa = placa + 2000 WHERE radnikID IN (SELECT radnikID FROM povisica WHERE povisica = yes);

M.. PRIMJERI PODUPITA (SUBQUERIES) M PRIMJERI PODUPITA (SUBQUERIES)


Podupiti se najee pojavljuju u WHERE izrazu gdje se operatori kombiniraju sa SELECT naredbom navedenom u zagradi (SELECT...).Pogledajmo prosjek svih cijena u tablici Prodano:

SELECT Avg(cijena) AS [prosjek cijena] FROM Prodano;


Izlistati emo kupce koji su kupili predmet ija je cijena vea za 100 Kn od prosjene cijene kupljenih predmeta tj. vea od (1245+100) 1345 Kn:

SELECT kupacID,cijena FROM Prodano WHERE cijena > (SELECT AVG(cijena)+100 FROM Prodano);
40

Podupit kalkulira prosjenu cijenu plus 100, koristei dobiveni rezultat lista kupacID za svaki predmet skuplji od tog iznosa.Izlistajmo prezimena samo onih vlasnika iz tablice Vlasnici koji su kupili neki predmet:

SELECT prezime FROM Vlasnici WHERE vlasnikID IN (SELECT DISTINCT kupacID FROM Prodano);
Prikazuje samo ona prezimena koja se pojavljuju u listi IN podupita (tzv. candidate list). Napomena: u nekim DBMS, umjesto IN moe se koristiti jednako je (=) ,ali zbog jasnoe izraza tj. zato to se lista vraa iz podupita IN je bolji izbor.Pogledajmo primjer podupita u UPDATE naredbi: Doznali smo da vlasnik koji je kupio policu ima krivo upisano ime u bazi ,ime mora biti Pero.

UPDATE Vlasnici SET ime = 'Pero' WHERE vlasnikID = (SELECT kupacID FROM Prodano WHERE predmet = 'polica');

Podupit prvo pronalazi kupacID svih osoba koje su kupile policu zatim im postavlja ime Pero. Da bi bio precizniji upitu treba dati vie uvjeta,npr:

UPDATE Vlasnici SET ime = 'Pero' WHERE vlasnikID = (SELECT kupacID FROM Antikviteti WHERE predmet = 'polica') AND prezime ='Jusufovi';
Kod izraza "WHERE ImePolja = (SELECT...);"pravilo je da SELECT naredba u podupitu mora imati navedeno samo jedno polje, koje odgovara ImenuPolja ispred operatora u WHERE naredbi te oba polja moraju biti istog tipa (brojani,tekst,datum itd.).

N.. NEKE NAREDBE SQL-A KOJE SE NE KORISTE ESTO N NEKE NAREDBE SQL-A KOJE SE NE KORISTE ESTO
1.. EXISTS & ALL 1 EXISTS & ALL
EXISTS je naredba koja koristi podupit kao uvjet.Podupit je istinit (True) ako nae bar jedan redak koji odgovara uvjetu i neistinit (False) ako ne nae nijedan redak. Slijedei primjer vratie listu svih Vlasnika bez obzira jesu li ba oni kupili stolicu,samo ako bilo kojem polju ili retku tablice Prodano nae rije stolica:

SELECT ime,prezime FROM Vlasnici WHERE EXISTS (SELECT * FROM

Prodano WHERE predmet = 'stolica');

ALL je jo jedna rijetko koritena naredba, ALL upiti se obino mogu postaviti drukijim, moda jednostavnijim metodama; pogledajmo primjer upita:

SELECT kupacID,predmet FROM Prodano WHERE cijena >= ALL (SELECT cijena FROM Prodano);
41

Ova izjava e prikazati jedan predmet koji ima najviu cijenu ili vie njih ako je najvia cijena jednaka za vie predmeta, i njegovog kupca.Isti rezultat dobiemo naredbom:

SELECT kupacID,predmet FROM Prodano WHERE cijena = (SELECT MAX(cijena) FROM Prodano);

2.. UNION 2 UNION

UNION emo upotrijebiti kada ete elimo vidjeti nekoliko upita zajedno,kombinirajui njihov izlazni rezultat.Radi jasnoe primjera dodaemo vlasnikID 70 u tablicu Narueno i KupacID 80 u tablicu Prodano. Da bi spojili izlazni rezultat slijedea dva upita i prikazali ID svih kupaca plus svih onih koji su naruili predmet napisat emo slijedeu SQL izjavu:

SELECT kupacID FROM Prodano UNION SELECT kupacID FROM Naruceno;

U naredbi UNION polja navedena SELECT-om moraju biti istog tipa,polja kupacID su isti tip podatka zvan integer.Pogledajmo primjer upita Outer join:

SELECT Prodano.kupacID FROM Prodano, Naruceno WHERE Prodano.kupacID = Naruceno.kupacID UNION SELECT Prodano.kupacID FROM Prodano WHERE Prodano.kupacID NOT IN (SELECT Naruceno.kupacID FROM Naruceno);

Prikazae sve vrijednosti iz tablice Prodano i samo jednake iz tablice Naruceno. Dok e slijedei upit prikazati sve vrijednosti iz tablice Naruceno. i samo jednake iz tablice Prodano:

SELECT Naruceno.kupacID FROM Prodano, Naruceno WHERE Prodano.kupacID = Naruceno.kupacID UNION SELECT Naruceno.kupacID FROM Naruceno WHERE Naruceno.kupacID NOT IN (SELECT Prodano.kupacID FROM Prodano);

42

Rastavimo ovaj upit na dijelove : Prvi dio upita udruuje listu kupaca Naruceno sa listom kupaca Prodano:

SELECT Naruceno.kupacID FROM Prodano, Naruceno WHERE Prodano.kupacID = Naruceno.kupacID


Prikazuje listu vrijednosti koje postoje u obje tablice. UNION automatski eliminira duplikate (ne moramo koristiti SELECT DISTINCT) i udruuje ovu listu sa listom koju daje drugi dio upita: Drugi dio upita prikazuje sve one vrijednosti koje postoje u tablici Naruceno, a ne postoje u tablici Prodano:

SELECT Naruceno.kupacID FROM Naruceno WHERE Naruceno.kupacID NOT IN (SELECT Prodano.kupacID FROM Prodano);

O..SAETAK SYNTAKSE SQLA U ACCESSU O SAETAK SYNTAKSE SQLA U ACCESSU


Ovdje su navedena objanjenja atributa polja: ATRIBUTI POLJA PRIMARY KEY OPIS odreuje polje kao primarni klju tablice ako je klju jedan stupac,ako je klju vie stupaca koristi se PRIMARY KEY (ImePolja, ImePolja, ...) i pie se nakon definiranja zadnjeg polja u tablici zabranjuje unoenje dvije jednake vrijednosti u polje odreuje pravilo koje se mora potovati kod unoenja podataka,npr: CHECK (ImePolja > 10) govori sistemu da provjeri da li je uneena cijena vea od 10 prije nego to prihvati uneenu vrijednost ubacuje default value u polje ako se ne unese drugaiji podatak,npr: ImePolja INTEGER DEFAULT = 100 odreuje strani klju tj. polje iz tablice koja se navodi kao: FOREIGN KEY REFERENCES ImeTablice (ImePolja)

UNIQUE

CHECK

DEFAULT FOREIGN KEY

NULL ili NOT NULL odreuje da li polje moe imati prazne elije ili ne smije biti prazno

43

Ovdje su navedeni generalni primjeri formuliranja gore navedenih naredbi:

NAREDBA

SINTAKSA

OPIS

ALTER TABLE

CREATE TABLE

ALTER TABLE ImeTablice ADD ili DROP ili MODIFY (ImePolja TIP POLJA(X) pa ATRIBUTI POLJA, ImePolja TIP POLJA(X) pa ATRIBUTI POLJA itd. CREATE TABLE ImeTablice (ImePolja TIP POLJA veliina polja (X) pa ATRIBUTI POLJA: PRIMARY KEY ili UNIQUE ili CHECK operator pa vrijednost ili DEFAULT operator pa vrijednost ili FOREIGN KEY REFERENCES ImeTablice (ImePolja) pa NULL ili NOT NULL, ImePolja TIP POLJA(X) ATRIBUTI POLJA ,itd..) CREATE VIEW ImeTablice AS SELECT upit; DELETE FROM ImeTablice WHERE uvjet;

dodavanje ili brisanje postojeeg stupca u tablici u jednoj izjavi moe se navesti samo jedna opcija ili ADD ili DROP

stvara novu tablicu , navedeno vrijedi i za ALTER TABLE, veliina polja se koristi samo kod odreenih tipova podataka

CREATE VIEW DELETE

stvara novi pogled ,u ACCESSU je ugraen u Query brie retke iz tablice

INSERT

INSERT INTO ImeTablice (ImePolja 1, ImePolja 2, ImePolja 3...) VALUES ('vrijednost tipa ubacuje retke u tablicu tekst za polje1', #vrijednost tipa datum za polje2#,vrijednost tipa broj za polje3); SELECT DISTINCT ili ALL Lista polja, funkcija, konstanti, itd. FROM Lista tablica ili pogleda(u Accessu Qurey) WHERE uvjeti GROUP BY polje po kojem se vri grupiranje HAVING uvjet izdvaja eljena polja iz tablice , naredbe se upisuju ORDER BY polja po kojima se navedenim redoslijedom. vri sortiranje ASC ili DESC ili UPDATE ImeTablice SET ImePolja = NovaVrijednost WHERE uvjet(ako se izostavi uvjet sva polja se auriraju prema SET naredbi)

SELECT

44

Kratice na tipkovnici u Accessu: Akcija Kopiraj Pokai database window Find and replace Ubaci prijelaz u novi redak kod tekst polja Ubaci trenutno vrijeme Ubaci podatak iz prethodnog retka istog polja Ubaci dananji datum Otvori novu bazu Otvori postojeu bazu Zalijepi Print Sauvaj Prebacivanje iz VB editora u aktivni prozor baze i obratno Poniti zadnje promjene Poniti promjene u trenutnom polju Poniti promjene u trenutnom retku Kratice za specijalne znakove: Kratica CTRL + C F11 CTRL + F CTRL + ENTER CTRL + : CTRL + ' CTRL + ; CTRL + N CTRL + O CTRL + V CTRL + P CTRL + S ALT + F11 CTRL + Z ESC ESC ESC (dvaput ESC)

ALT + 91 = [ ALT + 93 = ] ALT + 64 =@

VI.. FORMA (MASKA) VI FORMA (MASKA)

Forma je komponenta baze podataka ija je funkcija interakcija sa korisnikom. Da bi podatke iz tablica(upita) pregledavali ili aurirali i odjednom mogli pregledati povezane podatke iz vie tablica na pregledniji nain moramo stvoriti forme.Korisnik ne vidi i nema pristup bazi podataka nego komunicira bazom preko forme.Forma je suelje odnosno veza izmeu korisnika i baze podataka.Tako se smanjuje mogunost greke u manipulaciji bazom. Forme koristimo za: prikaz podataka iz jedne ili vie tablica ili izvjetaja na jednostavniji nain ,u grafikom obliku,prikazane podatke moemo sortirati i filtrirati po potrebi manipulaciju podacima iz tabele ili upita (unos, brisanje i promjene podataka) stvaranje switchboarda tj. forme iz koje se otvaraju druge forme, pokreu upiti i tablice stvaranje dijaloga (upitnika) za primanje korisnikog unosa stvaranje proraunskih polja ispisivanje forme na pisau kreiranje aplikacije Forma moe sadravati podatke iz vie tabela ili upita, mogua je kombinacija forma-podforma (istovremeni prikaz dviju formi), a mogue je imati vie formi unutar jedne forme. Forma moe sadravati i tzv. OLE objekt (objekt iz drugih Windows aplikacija s kojima Access moe razmjenjivati podatke, npr. slika iz CorelDraw-a). Mogue je vriti i razna izraunavanja unutar forme. Osnovne vrste Formi Bound (vezane)forme koje se temelje na nekoj tablici,upitu itd. Unbound (nevezane) forme 45

Sve forme Bound i Unbound mogu biti modal ili nemodal. Modal forma se razlikuje od nemodal po tome to ne doputa nikakvu akciju u aplikaciji dok se ne uini akcija (klik na OK,Yes i sl.) na aktivnoj modal formi.Svaki pokuaj prebacivanja u drugi prozor bie bezuspjean dok je otvorena modal forma.Nemodal forma doputa koritenje aplikacije dok je otvorena. Forme se dijele i po nainu prikaza podataka na: Jednostavne forme (Single) koje prikazuju odjednom samo jedan zapis Kontinuirane forme (Continuous) prikazuju vie zapisa odjednom Forma u obliku tablice (Datasheet) izgleda i ponaa se kao tablica koristi se uglavnom za podforme Podforme (Subforms) koje se ugnjeuju na glavnu formu da bi na jednoj formi mogli raditi sa vie tablica,broj podformi na glavnoj formi nije ogranien. Jedna forma se moe temeljiti na samo jednom upitu ili tablici. Da bi mogli kombinirati sadraje vie tablica u jednoj formi, na njoj moramo napraviti podforme. Za prikaz vie zapisa istovremeno potrebno je da tablice budu u relacijskoj vezi.

A.. STVARANJE FORME: A STVARANJE FORME:


Kao i kod kreiranja tablica i upita odaberemo forme iz object grupe i odaberemo New.Otvori nam se New form prozor sa nekoliko opcija:

1.. Sttvaranjje fforme u Desiign Viiew:: 1 S varan e orme u Des gn V ew

Stvaramo formu od praznog prozora forme, sve kontrole na radnu povrinu moramo dodavati runo.Kao pomo u izradi kontrola sa alatne trake (ispod izbornika) moemo otvoriti tri prozora: 1.Properties (svojstva objekta) 2.Prikaz polja tablice ili upita na kom se temelji forma

Prikazana polja moemo odvui miem na formu gdje e se automatski kreirati vezane tekst kontrole sa naslovima. 3.Toolbox (prikaz dostupnih kontrola)

2.. Sttvaranjje fformii pomou Form Wiizard--a:: 2 S varan e orm pomou Form W zard a

Form wizard moe izgraditi osnovne tipove formi ukljuujui i subforme . Moemo odmah izabrati tablicu za koju elimo izgraditi formu ili sa OK prei na idui korak. Iz kuice Tables/Query odabiremo tablicu ili upit iz kojih emo birati polja. Moemo izabrati polja iz vie tablica i upita samo treba paziti da se polja ne ponavljaju (npr. prikazivati ifru kupca iz tablice kupaca i iz tablice detaljnih narudbi, korist emo polje samo iz jedne tablice). Polja odabiremo tako da dva puta kliknemo na ime polja iz liste polja iz odreene tablice ili stisnemo gumb za prebacivanje. Za sljedei korak stisnemo gumb Next. Ukoliko smo odabrali polja iz vie tablica u ovom koraku moemo birati po kojoj tablici emo gledati podatke u formi tj. iz koje tablice e se polja nalaziti u glavnoj fromi. elimo li pregledavati podatke tako da vidimo koje su sve narudbe, proizvodi i kupci vezani uz jednog od zaposlenika tu odabiremo by Radnici (Radnici su ime tablice po kojoj gledamo podatke). U donjem desnom kutu odabiremo nain prikazivanja vie formi : Kao Suboforms podforme su forme unutar glavne forme. Kao Linked forms to znai da se na glavnoj formi kreira kontrola koja nakon klika na nju otvara novi prozor tj. forma u kojoj su prikazani podaci povezani za trenutani rekord u glavnoj formi. U slijedeem koraku odabiremo grafiki izgled forme, moemo izabrati jedan od ponuenih stilova. To kasnije moemo sami promijeniti ako nam se ne svia. AUTOFORMAT slui za brzo oblikovanje i ureivanje forme pomou unaprijed pripremljenih formata.Moemo izabrati da se na odreeni nain formatiraju samo elementi : Font,Color,Border ili cijela forma. 46

U zadnjem koraku dajemo imena svakoj formi posebno i odabiremo elimo li pokrenuti formu ili je elimo jo malo dotjerati.

3.. Sttvaranjje Auttofformii:: 3 S varan e Au o orm

Najjednostavniji nain kreiranje forme je odabirom autoform opcije. Forma se na taj nain kreira iz prethodno izabrane tabele ili upita.Takva e forma sadravati sva polja koje sadrava i objekt iz kojeg je kreirana.Kao pomo u kreiranju formi Access nudi na izbor tri razliite vrste formi i to: Auto form : Columnar jednostupana automatski stvara formu, svaki podatak prikazuje u jednom stupcu Auto form : Tabular tabelarna automatski stvara formu, svaki podatak prikazuje u jednom retku Auto form : Datasheet automatski stvara formu u obliku tablice

4.. Sttvaranjje graffiikona:: 4 S varan e gra kona


Chart Wizard arobnjak koji radi grafove iz odabranih polja i stvara formu sa tim grafom

5.. Sttvaranjje Piivott ttablliice:: 5 S varan e P vo ab ce


Pivot table wizard arobnjak koji stvara formu sa Excelovom tablicom Moe se jo napomenuti da svaka od navedenih vrsta formi moe prikazivati podatke u pet razliitih stilova (uokvireno, uvueno itd.).

B.. ODREIVANJE SVOJSTAVA (PROPERTIES) FORME: B ODREIVANJE SVOJSTAVA (PROPERTIES) FORME:


Za formu je mogue postavljati svojstva pomou prozora Properties koji pozivamo gumbom na alatnoj traci:

Kao izvor podataka (Record Source) za formu moemo napisati SQL naredbu,odrediti tabelu ili upit. Svojstvom Default Editing je mogue izabrati nain obrade podataka u forme unos, izmjenu ili samo itanje podataka Svojstvo Default view odreuje broja vidljivih zapisa na zaslonu() ,mogue je odabrati: jednostupanu formu ( prikazuje podatke jednog zapisa ) neprekidnu formu ( prikazuje podatke vie zapisa ) tabelarnu formu ( prikazuje podatke u obliku tabele ) izbornik koji e se pojaviti aktiviranjem forme ( Menu Bar ) Postoje jo brojna svojstva kao inicijalna (Default) vrijednost, naslov forme (Caption),oblik pisma u kojem e se podaci ispisivati na monitoru ili pisau, podeavanje boja ili zakljuavanje zapisa ako se radi u mrenom okruenju i dr. Ako se na naprijed navedene naine jo uvijek ne mogu postii eljeni rezultati mogu se koristiti izrazi. Izraz nam moe posluiti za bilo kakvo izraunavanje, postavljanje broja stranice, datuma itd. Svaki se izraz sastoji od polja tebele ili upita iz kojeg je forma kreirana i neke funkcije (ve ugraene funkcije ili korisniki definirane funkcije u VBA) i pohranjuje se kao dio baze podataka. Budui da je forma podijeljena na vie dijelova svaki od tih dijelova ima svoje karakteristike preko kojih je njima mogue upravljati. Pri tome detaljni red, zaglavlje i podnoje forme imaju iste karakteristike dok zaglavlje i podnoje stranice imaju podskup karakteristika prije navedenih dijelova forme. 47

1.. Diijjellovii fforme:: 1 D e ov orme

Forma je podijeljena na dijelove(sekcije) koje je mogue kontrolirati npr. zaglavlje stranice (forma moe biti na vie stranica) zaglavlje forme detaljni red (u njemu su prikazani podaci iz tabele ili upita) podnoje forme podnoje stranice Svaki dio forme ima svojstva koja se mogu podeavati.

C.. PODFORME: C PODFORME:


Podforme koristimo kada na jednoj formi elimo prikazati ili aurirati podatke iz vie tablica. Prije stvaranja glavne forme treba stvoriti sve podforme koje mislimo na nju postaviti.Jednostavan nain umetanja podformi u glavnu formu je povlaenje stvorenih podformi iz grupe Forms u Database prozoru na glavnu formu:

D.. STVARANJE KONTROLA NA FORMI: D STVARANJE KONTROLA NA FORMI:


Da bi se formom moglo upravljati u nju se postavljaju kontrole. Postoje tri vrste kontrola: vezane kontrole (bound) - oznaavaju polje tabele ili upita nevezane kontrole (unbound) - oznaavaju druge objekte koji se dodaju formi (npr. linije, tekst itd.) kontrole za raunanje - izvravaju raunske operacije

48

1.. Opiis osnovniih konttrolla u Toollbox iizborniiku:: 1 Op s osnovn h kon ro a u Too box zborn ku

Select objects Odabir,premjetanje i promjena veliine objekata,inicijalno je ukljuen Control wizard arobnjak za pomo kod kreiranja kontrola,inicijalno je ukljuen Labels Opisni tekst, nevezana i potpuno neovisna kontrola, koristi se za naslove i imena ostalih kontrola Tekst box Okvir za upisivanje i ispisivanje podataka na formi. Uglavnom je vezan za polje u tablici ili upitu, ali moe biti i nevezan te tako sluiti kao mjesto u koje upisujemo sume, prosjeke ili nekakve druge vrijednosti. Veemo ih tako da u Properties Data Control source upiemo ime polja sa kojim emo ga vezati (iz njega e vaditi podatke za prikaz i u njega e se spremati podaci koje unesemo u njega).Da bi text box mogli vezati uz neko polje,prvo moramo vezati formu uz eljenu tablicu (upit).Umjesto da ga samo poveemo sa nekim poljem moemo izgraditi izraz za izraunavanje vrijednosti pomou Expression Buildera. Primjer kreiranja kalkulirane kontrole na formi pomou DateAdd funkcije (u ovom sluaju 30 dana nakon zadanog datuma). Recimo da je forma bazirana na tablici koja ima polje Datum. Kreiramo textbox unosei slijedei izraz u ControlSource property = DateAdd("d", 30, [Datum]) Okvir,Option group Stvaranje grupe opcija ,grupe komandi itd. Togle button ,Option button , Check box Samopostojee kontrole obino vezane za Yes/No polje u tablici. Moemo ih koristiti kao nevezane kontrole za primanje unosa korisnika Combo box Koristi se zbog praktinosti. Sa desne strane ima strelicu za otvaranje liste iz koje odabiremo neku vrijednost.U Combo box moemo i upisati neku vrijednost ako nije ponuena. Veemo ih tako da pod Properties, Data, Row Source Type i Row Source svojstva poveemo kontrolu sa tablicom (upitom) i u Control source odaberemo polje iz kog elimo povui vrijednosti.Moemo sami upisati listu vrijednosti ako pod Row Source Type odaberemo Value list i pod Row Source upiemo elemente liste odvajajui ih znakom ; (npr. 1;2;3). Dalje moemo podesiti svojstva: Bound column redni broj vezanog stupca u tablici iz koje elimo podatke Column count broj stupaca koji elimo vidjeti Column heads ako elimo vidjeti imena stupaca u combo boxu Column widhts eljena irina stupaca u jedinici mjere, razdvaja se znakom toka-zarez; List Rows koliko redova elimo vidjeti odjednom List Width ukupna irina liste Limit to list ograniava upisivanje na samo one podatke koji ve postoje u listi itd. 49

List box Kontrola sa istim svojstvima kao i Combo box sa razlikom to se iz nje mogu samo izabirati podaci a ne i upisivati. Command button Kontrola koja slui za pokretanje akcija tj. operacija. Za uspjeno postavljanje komande dobro je imati ukljuen Control wizard koji e nam ponuditi izbor iz nekoliko predefiniranih Command buttona. Nakon to kreiramo komandu na formi automatski se ukljui arobnjak. Stvaranje command button-a: Odaberemo Command button i nacrtamo komandu na povrini forme. Nakon toga se automatski otvori arobnjak za izradu komandi. U njemu imamo izbor vie kategorija tj. podruja rada komande (rad nad podatcima , formama itd.) te mogue akcije nad odreenom kategorijom (otvori formu, zatvori formu, pokreni upit itd.). U sljedeem koraku biramo izgled same komande hoe li imati sliku na sebi ili tekst. I na kraju joj dajemo ime po kojem e je baza raspoznavati(uobiajeno je dati ime po akciji koju vri) Image Umee sliku koja je stacionarna , umetnutu sliku vie ne moemo editirati(moemo ju samo premjetati) Unbound object frame Umetanje razliitih OLE objekata (slika,zvuk,tekst dokument itd.) u formu.Nakon kreiranja na formi automatski se javlja prozor koji nas pita kakav tip objekta elimo.Tako stvoren objekt se ne mijenja nego ostaje isti za svaki rekord jer se ne nalazi se u tablici. Bound object frame Postavlja okvir za OLE objekt koji se nalazi u tablici, mijenja se za svaki record. Page Break Postavlja prijelom stranice na formu Tab Control Kreiranje kartica na formi Subform Postavlja podformu na formu,kada na formi elimo prikazati ili aurirati podatke iz vie tablica. Line ,Rectangle Crtanje linija i pravokutnika More Controls Odabir raznih ActiveX kontrola

2.. TAB order 2 TAB order

Kada zavrimo sa kreiranjem kontrola moramo provjeriti TAB poredak kontrola,tako da bi kontrole prebacivale fokus sa jedne na drugu loginim redom pritiskom na tipku TAB. Prozor za ureivanje TAB poretka pozivamo iz izbornika View Tab Order .

U dijelu prozora Custom Order nalaze se sve kontrole na maski koje mogu dobiti fokus,sloiemo ih eljenim redom Kada elimo potpuno izbjei aktiviranje neke kontrole moramo svojstvo TabStop te kontrole postaviti na No 50

E.. TO JE SWITCHBOARD? E TO JE SWITCHBOARD?

SWITCHBOARD se sastoji od dvije komponente: Prva je tablica u kojoj se nalaze podaci potrebni za organizaciju svih switchboarda koji su kreirani.Podaci govore Accessu kako e organizirati koji switchboard, tj. poloaj komandi unutar switchboarda ,tekstove komandi ,i slino.Iako se moe mijenjati sadraj te tablice najbolje je ostaviti sve kako je pripremljeno. Drugo je forma koju koristi switchboard ,dio koji vidimo i koristimo.Izgled ove forme moete mijenjati.

Kreiranje Switchboarda u etiri koraka:

1.. Prvii korak:: 1 Prv korak

Baza mora biti kreirana i otvorena.U alatnoj traci pod Tools - Database utilities izaberemo Switchboard manager. Nakon odabira e se pojaviti prozor koji pita elimo li kreirati gore spomenutu tablicu i formu, ukoliko ve ne postoji. Odaberemo Yes.

2.. Drugii korak:: 2 Drug korak

Sada se nalazimo u dijalogu u kojem kreiramo switchboarde. Moemo imati vie od jednog switchboarda.Ukoliko imamo vie od jednog moemo "skakati" izmeu njih meusobnim linkanjem. Ime switchboarda kraj kojeg se nalazi (Default) je glavni switchboard tj. onaj koji se otvara pokretanjem switchboarda.Inicijalni (Default) switchboard se odreuje tako da oznaimo jedan od kreiranih switchboarda i kliknemo na default gumb. Odabiranjem Edit gumba otvara se dialog za ureivanje odabranog switchboarda i to je slijedei korak.

3.. Treii korak:: 3 Tre korak

U ovom dijalogu imenujemo switchboard. Ime upisujete pod Switchboard name: Tu se takoer nalaze popisani elementi switchboarda (ukoliko koji postoji). Odabirom jednog od njih te klikom na Edit gumb moemo ga prepraviti. Ukoliko ne postoji niti jedan element, ili elimo kreirati novi element odabiremo New gumb. To pokree novi dijalog. 51

4.. ettvrttii korak:: 4 e vr korak

U ovom dijalogu ureujemo elemente switchboarda tj. stvaramo naredbe switchboarda.U Text polje upisujemo tekst koji predstavlja naredbu koju emo kreirati.Moemo odabrati jednu od osam postojeih komandi:

Go to switchboard (linkanje) - otvara jedan od postojeih switchboarda, dolazi sa drop down izbornikom u kojem biramo jedan od postojeih switchboarda Open form in Add mode - otvara odabranu formu na taj nain da ne prikazuje postojee podatke ve eka unos novih podataka ,dolazi sa drop down izbornikom sa postojeim formama.Treba paziti da se ne odabere switchboard forma jer za to postoji posebna komanda. Open form in Edit mode - klasino otvaranje formi. Moemo unositi i ispisivati podatke,takoer dolazi sa drop down izbornikom postojeih formi. Open report - otvara izvjetaj, dolazi sa drop down izbornikom postojeih izvjetaja Design aplication - otvara dialog za ureivanje switchboarda. (2. Korak) Exit aplication - zatvara bazu podataka Run macro - pokree odabrani Makro-program Run code - pokree odabranu funkciju

5.. Dodattne mogunosttii:: 5 Doda ne mogunos

Ako elimo da nam se pri otvaranju baze podataka umjesto standardnog prozora otvori switchboard koji smo upravo kreirali to radimo na slijedei nain: U alatnoj traci odberemo Tools - start up i pojavi se ovaj prozor:

U njemu pod Display Form/Page odaberete Switchboard (ili bilo koju od formi) on e se otvoriti pri pokretanju baze podataka.

VII.. IZVJETAJ (REPORT) VII IZVJETAJ (REPORT)


Nain prikazivanja podataka za printani format. Imamo kontrolu nad veliinom i izgledom svega to se nalazi na izvjetaju, moemo prikazati podatke onako kako ih mi elimo vidjeti.Jedan izvjetaj moe sadravati podatke iz vie tabela ili upita,kalkulirane kontrole itd.Mogua je kombinacija izvjetaj-podizvjetaj (istovremeno dva razliita oblika izvjetaja u jednom izvjetaju). Izvjetaj kreiramo na isti nain na koji smo kreirali i forme.Klikom na Reports-New u Database prozoru dobijemo izbornik koji nam nudi vie naina stvaranja izvjetaja (Design,Wizard,Autoreport,Chart,Label).Jedina nova opcija je stvaranje Labela.Tu mogunost koristimo za stvaranje malih kartica sa podacima iz tablice ili upita(neto slino kreiranju poslovnih kartica ili posjetnica)

A.. KREIRANJE IZVJETAJA A KREIRANJE IZVJETAJA


1.. Desiign Viiew:: 1 Des gn V ew
U Design view kreiramo izvjetaj runo od poetka.Izvjetaj moramo runo povezati izvjetaj sa nekom tablicom (upitom) preko svojstva Record Source.Na glavni izvjetaj moemo dodati proizvoljan broj podizvjetaja.

52

a)) Izvoenjje grupiiranjja u Desiign viiew:: a Izvoen e grup ran a u Des gn v ew

Grupiranje se izvodi po odreenom polju,a aktivira se prikazom Headera i Footera grupe.Da bi runo izvrili grupiranje moramo otvoriti prozor za sortiranje i grupiranje koji moemo pozvati iz pop-up izbornika koji se pojavi kada desnim gumbom mia kliknemo na Header ili Footer grupe,ili iz izbornika odaberemo View Sorting and Grouping:

U ovom prozoru moemo organizirati grupe inain prikaza te sortiranje podataka.

b)) Sttvaranjje iizraunattiih polljja:: b S varan e zrauna h po a

Da bi stvorili izraunato polje moramo unutar Detail sekcije stvoriti tekst box i u njegov Control Source stvoriti pomou Expression buildera ili runo upisati izraz koji elimo.Ako na kraju izvjetaja na Report Footer ubacimo neku funkciju,ona se odnosi na sve sekcije u izvjetaju,kada se funkcija ubaci u podnoje neke grupe tada se odnosi samo na tu grupu.Funkcije sumiranja nee raditi ako ih ubacimo u Page Footer.

c)) Najjee koriittenii iizrazii ii ffunkciijje kojje moemo koriisttiittii u Desiign viiew:: c Na ee kor en zraz unkc e ko e moemo kor s u Des gn v ew
((1)) 1 Kombiiniirranjje vrriijjednossttii Komb n an e v edno Unutar jednog okvira moemo prikazati i vie polja kombiniranih sa proizvoljnim tekstom. Kada u Control Source svojstvo upiemo :

Unutar svakog okvira za unos teksta moemo slobodno koristiti bilo koji SQL izraz ,matematike operacije itd.

=[ime] & [prezime]


u tekst boksu dobijamo imeprezime Kada elimo ubaciti razmak izmeu polja koja elimo spojiti piemo

=[ime] & " " & [prezime]


dobijamo ime prezime Izmeu navodnika moemo ubaciti proizvoljan tekst koji e se pojaviti ispred svakog podatka:

="Direktor " & [ime] & " " & [prezime]


dobijamo Direktor ime prezime Moemo kombinirati proizvoljan broj polja u izrazu:

="Direktor " & [ime] & " " & [prezime] & " , " & [adresa] & " , " & [grad]
dobiemo sve podatke u jednom tekst polju:

((2)) 2

= = = =

Date() vraa dananji datum Now() vraa trenutno vrijeme i datum [Page] ispisuje broj stranice [Pages] ispisuje ukupni broj stranica
53

Trrenuttanii dattum ii brrojj ssttrraniice T en u a n d a u m b o a n ce

Kada hoemo u tekst polju ispisati broj trenutne stranice od ukupnog broja u Control Source moemo pisati:

=[Page] & ". stranica od ukupno " & [Pages] & " stranica."
((3)) 3 Mattemattiike operraciijje Ma ema ke ope ac e Na poljima moemo izvoditi sve klasine matematike operacije ,ako su isti tip podatka. Kada elimo polju cijena dodati iznos poreza od 22% u Control Source emo pisati:

=[cijena]+([cijena]*0,22)
((4)) 4 IIsspiiss diijjella polljja p d e a po a Kada elimo ispisati inicijale imena i puno prezime piemo:

=Left([ime];1) & ". " & [prezime]

Primjeri i objanjenja Left,Right i Mid funkcija: =Left(Majeti;2) vraa prva dva slova sa lijeva na desno Ma =Right(Majeti;2) vraa prva dva slova sa desna na lijevo i =Mid(Majeti;2;4) vraa etiri slova poinjui od drugog slova po redu ajet ((5)) 5 IIzzrraunavanjje zzbrrojja pomou agrregattniih ffunkciijja aunavan e b o a pomou ag ega n h u nkc a Ovisno o tome to elimo zbrojiti ili prebrojiti izraz emo ubaciti u podnije grupe,stranice ili izvjetaja. =Sum([kolicina]) ili =Count([kolicina]) itd. ((6)) 6 Korriittenjje IIIIff ffunkciijje Ko en e u n kc e Funkcija se koristi u formatu: IIf(ispitivanje polja uvjetom;vrijednost ako je rezultat istinit;vrijednost ako rezultat nije istinit) to zani da e se ako je uvjet istinit u tekst polju ispisati dio izraza koji se nalazi u dijelu TRUE,u protivnom e se upisati FALSE dio izraza.

=IIf([cijena] Is Null;"Cijena nije odreena";([cijena] & " Kn"))

IIf funkciju moemo koristiti za uvjetno ispisivanje polja.Pretpostavimo da bi polje koje smo naveli u izvjeu moglo imati praznih vrijednosti. Svojstvo Can Shrink sekcije Detal,i svih tekst kontrola postavimo na Yes,kad izvjetaj naie na prazno polje tekst okvir e nestati:

Vidimo da su prazne vrijednosti u polju cijena nestale, ali su ostale pripadajue vrijednosti u polju predmet. Da bi nam se cijeli redak pomaknuo prema gore moramo sprijeiti ispisivanje vrijednosti polja predmet u redovima gdje polje cijena nema upisanu vrijednost .Zato emo u Control Source polja predmet ubaciti izraz:

=IIf([cijena] Is Null;"";[predmet])
Sada e izvjetaj izgledati ovako:

Da bi izvjetaj mogli uvjetno ispisati naslove polja ne smijemo staviti na Detail i Group Header ,nego na Report ili Page Header.

54

2.. Reportt Wiizard:: 2 Repor W zard


Kreiranje izvjetaja koritenjem REPORT WIZARD-a iz prethodno odabrane tabele ili upita izvodi se preko vodia za kreiranje i svodi na odgovaranje na postavljena pitanja. Ovaj alat moemo koristiti u veini sluajeva jer prua mogunost kreiranja vrlo dobrih izvjetaja uz utede na vremenu. Polja je u izvjetaju mogue grupirati, zbrajati grupirana polja i na kraju dodati zbroj za cijeli izvjetaj. Nakon to je izvjetaj kreiran mogue ga je pogledati u obliku u kakvom e biti ispisan na pisau ( tzv. print preview ) to se moe iskoristiti za ispravljanje eventualnih pogreaka ili ispravljanje izgleda samog izvjetaja.Izvjetaj se osim na pisa moe pohraniti i u neku datoteku te naknadno ispisati. U Report Wizardu se nudi na izbor nekoliko razliitih oblika izvjetaja i to:

a)) Jednosttavnii iizvjjettajjii:: a Jednos avn zv e a

Columnar podaci ispisuju u jednoj koloni (stupcu) jedan po jedan

Tabular podaci se ispisuju u obliku tabele.

Justified podaci se ispisuje jedan iza drugog u stupcu

b)) Grupiiranii ii zbiirnii iizvjjettajjii:: b Grup ran zb rn zv e a

Izvjetaj s grupama i totalima kreira se na isti nain kao i zbirni izvjetaj.Kod izvjetaja s grupama i totalima podaci se grupiraju po nekom polju (atributu tabele ili upita), a nakon toga zbrajaju.Kod tog izvjetaja prikazuju se podaci iz svakog zapisa i to je osnovna razlika tog oblika od zbirnog izvjetaja koji prikazuje samo zbrojene podatke, a ne sve podatke iz nekog zapisa. Osnovno je da se grupiranje vri po zadanom polju tabele ili upita Podaci se iz zapisa mogu grupirati kroz do tri razliita polja tabele.Grupa je dio izvjetaja koji ukljuuje podatke iz svih zapisa koji imaju jednake vrijednosti u polju po kojima se vri grupiranje.Unutar ve postojeih grupa mogue je ugnijezditi podgrupe. Osim grupiranja podataka po poljima, podatke je mogue grupirati i po dijelovima polja. Kako e se to grupiranje izvesti ovisi o tipu polja. Tako se tekst polja mogu grupirati po cijelom polju (svim znakovima), po slovima (od prvog do petog slova), a numerika polja po jedinstvenosti (ne mogu biti dva ista broja), po deseticama, stoticama itd., datum po godinama, mjesecima ,tromjesejima, po danima. Nakon to se podaci grupiraju odabere se polje po kojem e se podaci sortirati unutar grupe.Ako izvjetaj sadri totale (ukupnu vrijednost nekog polja) Access moe automatski izraunati postotak za svako polje od ukupne vrijednosti polja. ((1)) 1 Prredlloenii oblliicii iizzvjjettajja:: P ed o en o b c v e a a Stepped:

Block:

55

Outline1:

Outline2

Align Left1

Align Left2

3.. Auttoreportt:: 3 Au orepor


Najbri nain kreiranja izvjetaja je koritenje mogunosti AUTOREPORT kojom e se kreirati izvjetaj iz prethodno odabrane tabele ili upita. No, ta mogunost moe biti koritena kod sasvim jednostavnih izvjetaja ( npr. za internu upotrebu ).

4.. Chartt ii Labell Wiizard ((za adrese ii sll..)):: 4 Char Labe W zard za adrese s 5.. Spojjenii iizvjjettajjii:: 5 Spo en zv e a

U Database window toolbar odaberemo New.U New Report dijalogu kliknemo na Chart ili Label Wizard i slijedimo upute.

Ispisuje se iz Word for Windows programa. Spojeni izvjetaj koristi se samo ako imamo Word for Windows. Dio dokumenta obradi se u samom Wordu, a dio se preuzima iz Access-a. Ovo je vrlo interesantna mogunost ako isti tekst treba poslati na vie razliitih adresa(npr.razne obavijesti,elektroprivredna naknada itd.) U tom sluaju adrese pohranimo u Access bazu, a ostatak dokumenta napiemo u Wordu i izvjetaj za sve te adrese je gotov.

B.. SVOJSTVA (PROPERTIES) IZVJETAJA B SVOJSTVA (PROPERTIES) IZVJETAJA

Izvjetajem je mogue upravljati pomou njegovih svojstava (properties): Njima se odreuje: naslov izvjetaja ( Caption ) izvor podataka ( Record Source ) zakljuavanje zapisa za vrijeme tampanja ( Record Locks ) izbornik koji e biti na raspolaganju ( Menu Bar ) zaglavlje i podnoje stranice ( Page header i footer ) irina izvjetaja ( Width ) itd. Navedeni izvjetaji mogu biti u tri razliita oblika: oblik prezentacije izvrni oblik tabelaran oblik (slino kao i poslovne knjige)

56

VIII.. VIII

Makro-programi se sastoje od jedne ili vie makronaredbi.

MAKRO-PROGRAMI (MACROS) MAKRO-PROGRAMI (MACROS)

Makronaredbe su niz predefiniranih akcija koje nudi Access.Korisnik ih ne moe mijenjati jer se pretpostavlja da na raspolaganju stoji dovoljno osnovnih akcija za izradu aplikacije,no ako ipak zatreba neka akcija koja ne postoji,na raspolaganju je VBA.Svaka makronaredba ima svoje ime. Akcija ili makronaredba je zapravo instrukcija (ali ne instrukcija VBA-a!) za npr. otvaranje tabele, zatvaranje nekog prozora itd. koja se pokree izvoenjem odreenog dogaaja. Makronaredbe se mogu grupirati ,odnosno mogue je napraviti skup makronaredbi za formu ili izvetaj i kasnije ih koristiti u drugim formama ili aplikacijama.Udruivanjem u cjelinu jedne ili vie makronaredbi stvaramo Makroprogram koji se aktiviranjem ponaa kao jedna makronaredba.Dozvoljeno je izvoenje Makro-programa unutar drugog Makro-programa, moe se koristiti petlja za ponavljanje izvoenja. Makro-programi se koriste da bi se automatizirali pojedini zadaci.Da niz opcija ne bi uvijek ponovo iz izbornika morali birati miem za neki zadatak ,napravit emo jednostavni Makro-program koji e to uiniti za nas.Svaki Makro-program ima svoje ime. Postoje odreeni zadaci koje nije mogue drugaije izvesti osim preko Makro-programa. Pomou Makro-programa mogue je sve objekte neke baze podataka spojiti u jednu zajedniku aplikaciju. Makro-programi koji se koriste unutar forme ili izvjetaja bazirani su na tzv. dogaajima (events). Dogaaj (event) je definirani korak u izvoenju forme ili izvjetaja za kojeg Access provjerava treba li izvesti kakvu radnju (makronaredbu).Event forme i event izvjetaja se razlikuju te ih ne treba poistovjeivati. Napredniji se Makro-programi kreiraju zadavanjem uvjeta od kojeg ovisi to e Makro-program raditi. Za najjednostavnije kreiranje uvjeta mogue se je posluiti vodiem za kreiranje uvjeta.Uvjet moe sadravati operatore, identifikatore, funkcije, literale i konstante. Operatori se koriste za izvoenje raznih operacija nad podacima. Mogu se primijeniti sve prije navedene grupe operatora kao operatori usporeivanja,aritmetiki,logiki itd. Identifikatori oznaavaju formu,izvjetaj,polja tabele, kontrolu ili osobinu polja nad kojim se obavlja neka od operacija. Funkcije se koriste kada je potrebno vratiti neku vrijednost.Funkcija pribavlja neku vrijednost koju e koristiti neka druga funkcija, makronaredba itd.Moe se birati izmeu onih koje nudi Access ili se mogu kreirati vlastite funkcije u VBA. Literali mogu biti brojke,tekst (pod navodnicima) ili datum (omeen ogradom #). Konstante su vrijednosti koje se u toku izvoenja uvjeta ne mijenjaju.

A.. STVARANJE JEDNOSTAVNOG MAKRO-PROGRAMA A STVARANJE JEDNOSTAVNOG MAKRO-PROGRAMA


Treba napomenuti da se u Accessu Makro-programi ne kreiraju pomou VBA , nego slino kao i drugi opisani objekti pozivanjem prozora Database window ,izborom grupe objekata Macros pa klikom na New. U VBA moemo kreirati samo module.Tada e nam se otvoriti prozor za kreiranje Macro-programa:

Klikom na prvi red stupca Action otvara se Combo Box sa popisom dostupnih makronaredbi.Za primjer emo odabrati makronaredbu MsgBox.U donjem dijelu prozora vidjeemo dostupne argumente za odabranu makronaredbu koje moemo odrediti prema potrebama aplikacije. Argumenti za MsgBox su : 57

Message poruka koja e se ispisati Beep da li elimo zvunu najavu poruke Type vrsta poruke (none,Critical,Question,Information) Title naslov poruka Sauvamo Makro-program pod eljenim imenom. Svaki put kad napravimo promjenu u Makro-programu moramo je sauvati prije pokretanja. Makro-programi koje nazovemo AUTOEXEC e se izvriti prilikom svakog pokretanja baze,osim ako prilikom pokretanja ne drimo stisnutu tipku Shift. Da bi Makro-program mogli koristiti moramo ga pridruiti nekom objektu ili dogaaju koji e ga pokrenuti.

1.. Priidruiivanjje Makro--programa konttrollii na fformii:: 1 Pr dru van e Makro programa kon ro na orm

Na postojeoj ili novoj formi nacrtamo kontrolu,otvorimo prozor Properties za Kontrolu i u kartici Event izaberemo dogaaj kom elimo pridruiti postojei ili izgraditi novi Makro-program:

2.. Sttvaranjje vllasttiittog iizborniika pomou Makro--programa:: 2 S varan e v as og zborn ka pomou Makro programa

Iz izbornika odaberemo View Toolbars Customize to nam otvara prozor Customize gdje moemo prilagoditi postojee ili izgraditi vlastiti toolbar sa izbornicima i komandama kojima moemo pridruiti vlastite Makro-programe. Ukoliko elimo zamijeniti Accessov izbornik sa vlastitim odabraemo iz izbornika Tools- Startup gdje pod Menu Bar izberemo svoj izbornik.

3.. Konverttiiranjje glloballne makronaredbe u modull:: 3 Konver ran e g oba ne makronaredbe u modu 4.. Popiis Makronaredbii po kattegoriijjama 4 Pop s Makronaredb po ka egor ama
Postoji nekoliko razliitih kategorija makronaredbi:

U Database window pod objektima odeberemo Macros.Kliknemo na makro koji elimo konvertirati.U File meniju odaberemo Save As i u dijalogu Save As,odaberemo Modul.

a)) Ottvaranjje ii zattvaranjje objjekatta a O varan e za varan e ob eka a


Close zatvara imenovani prozor,ako prozor nije imenovan zatvara aktivni objekt Open Form otvara imenovanu formu u eljenom pogledu : Form,Design ili Datasheet view,moemo definirati filter (Where) koji e se primjeniti kod otvaranja forme. Open Query otvara prolazni ili akcijski upit u Design ili Datasheet view (prije pokretanja akcijskog upita Access e prikazati poruku upozorenja) Open Report otvara izvjee u pogledu Print Preview Open Table otvara tablicu u eljenom pogledu

b)) Ispiis podattaka b Isp s poda aka


Open Form otvara formu u pogledu Print Preview Open Table otvara tablicu u pogledu Print Preview Open Query otvara upit u pogledu Print Preview Open Report otvara izvjetaj u pogledu Print Preview ili ga tiska Print tiska trenutano otvoreni objekt

58

c)) Izvravanjje upiitta c Izvravan e up a


OpenQuery pokree prolazni ili akcijski upit RunSQL izvrava odreenu SQL naredbu

d)) Konttrolla ttoka programa d Kon ro a oka programa


Cancel Event otkazuje akciju koja je pokrenula macro.Nije dostupna za sve dogaaje DoMenuItem izvrava jednu od naredbi sa izbornika Quit zatvara sve prozore i izlazi iz aplikacije RunCode izvrava odreenu proceduru ili program napisan VBA jezikom RunMacro pokree drugi makro program StopAllMacros zaustavlja sve trenutano aktivne makro programe StopMacro zaustavlja rad aktivnog makro programa

e)) Posttavlljjanjje vriijjednosttii e Pos av an e vr ednos


Requery aurira podatke koji se dobijaju upitom SendKeys alje pritisak na tipke u buffer za tipkovnicu SetValue postavlja vrijednost u kontrolu ili njena svojstva

ff)) Prettraiivanjje podattaka Pre ra van e poda aka


ApplyFilter primjenjuje filter ili SQL naredbu FindNext trai slijedei zapis koji odgovara uvjetu FindRecord trai zapise koji odgovaraju uvjetu GoToRecord postavlja fokus na traeni zapis (prethodni,naredni,prvi,zadnji ili novi) Graenje izbornika i izvavanje komandi na izborniku AddMenu dodaje izbornik na trenutno aktivnu formu DoMenuItem izvrava neku od naredbi sa izbornika

g)) Konttrolla priikaza ii ffokusa g Kon ro a pr kaza okusa


Echo omoguava zamrzavanje zaslona dok se izvrava makro GoToControl postavlja fokus na eljenu kontrolu GoToPage postavlja fokus na odreenu stranicu forme ili izvjea Hourglass prikazuje kursor mia u obliku pjeanog sata dok se izvrava makro program Maximize maksimalizira odabrani prozor Minimize minimalizira odabrani prozor Movesize pomie i mijenja veliinu prozora RepaintObject nareuje osvjeavanje svih podataka na odabranom objektu Requery aurira podatke koji se baziraju na upitu ponovo izvravajui upit Restore vraa prvobitnu veliinu prozora SelectObject odabire porzor na kom se nalazi eljeni objekt SetWarnings pretpostavlja automatski sve Yes ili No odgovore na sistemska pitanja,ne odnosi se na poruke greaka, kada elimo sprijeiti upozorenje koja se javljaju kod pokretanja akcijskih upita prvo zadamo naredbu Echo pa SetWarnings ShowAllRecords skida sve filtere i prikazuije sve podatke

h)) Komuniikaciijja sa koriisniikom h Komun kac a sa kor sn kom


Beep izaziva zvuk MsgBox prikazuje odreenu poruku,pitanje ili upozorenje SetWarnings pretpostavlja automatski sve Yes ili No odgovore na sistemska pitanja,ne odnosi se na poruke greaka Preimenovanje (Rename), uvoz (Import) i izvoz (Export) CopyObject kopira zadani objekt u neku drugu Access bazu podataka Rename preimenuje odreeni objekt trenutno aktivne baze TransferDatabase uvoz ili izvoz podataka TransferSpreadsheet uvoz ili izvoz podataka iz tablinih kalkulatora TransferText uviz ili izvoz podataka iz tekstualnih datoteka

59

ii)) Pokrettanjje nekog drugog programa Pokre an e nekog drugog programa

RunApp pokree neki program pisan za DOS ili Windows okruje

IX.. PROGRAMSKI MODULI (VBA) IX PROGRAMSKI MODULI (VBA)

Programski moduli sadre funkcije, potprograme ili pojedinane instrukcije napisane u VBA, programskom jeziku za programiranje unutar Accessa. Programski modul kreiramo pozivanjem prozora Database window ,izborom grupe objekata Modules pa klikom na New to otvara prozor VBA editora gdje piemo module VBA jezikom. Po svojoj sintaksi VBA je vrlo slian Visual Basicu,no podrava i neke posebne mogunosti rada sa objektima (kreiranje, promjenu,brisanje pojedinog objekta baze).Preko VBA se obavlja i razmjena podataka s drugim aplikacijama tzv. DDE Dynamic Data Excange . Programski moduli se koriste kod izrade aplikacija kojima elimo dodati nove opcije ili poboljati neke opcije Access-a. VBA podrava slijedee tipove podataka: TIP Integer Long Single ZNAK % & ! TIP Double Currency String ZNAK # @ $

Variant

(datum/vrijeme, realni broj, string) upotrebljava se za nepoznat tip podatka, usporava izvoenje programa

Korisniki tip podataka Varijable u Access-u mogu uvati vrijednosti nekih tipova podataka ili pak oznaavati objekte (npr. kontrole u formi). Objektne varijable mogu pokazivati na bazu podataka, formu, izvjetaj, kontrolu, tabelu itd.

A.. OBJEKTI U VBA: A OBJEKTI U VBA:


1.. Applliicattiion 1 App ca on
Odnosi se na cjelokupnu Access aplikaciju.Koristi se da bi se promjenila svojstva radne okoline Access-a.

a)) mettode objjektta:: a me ode ob ek a

Echo(osvjei) Metoda osvjei koristi se za odreivanje vremena u kojem e se osvjeiti zaslon. Moe se iskoristiti kad se obavlja neki zadatak npr. upit u udaljenu bazu podataka da se za to vrijeme ogranii osvjeavanje zaslona jer to ionako ne bi imalo smisla jer e se upit ipak izvriti. Getoption(dobavi opciju) Dobavi opciju vraa sadanje stanje neke opcije iz liste opcija koje su podijeljene na devet skupina kao i kod podeavanja Access-a (openito, tipkovnica, ispis na pisau itd.). Ako se eli saznati trenutno stanje opcije potrebno ju je navesti punim imenom (npr. ako se eli saznati po kojem e se jeziku sortirati podaci potrebno je navesti opciju " new Database sort order" ). Setoption(postavi opciju) Postavi opciju metoda postavlja neku od opcija Access-a na odreenu vrijednost. Kod koritenja neke opcije vrijedi isto pravilo kao i kod prethodne metode. Quit(kraj) Kraj cjelokupne Access aplikacije.

b)) svojjsttva objjektta:: b svo s va ob ek a


Ime objekta Svojstvo ime objekta koristi se za odreivanje imena trenutno aktivnog objekta Tip objekta Svojstvo tip objekta odreuje tip trenutno aktivnog objekta pri emu tip objekta moe biti bilo koji objekt iz baze podataka 60

Izbornik Izbornik svojstvo koristi se za odreivanje makro programa koji e se koristiti za prikaz korisnikog izbornika za bazu podataka, formu ili izvjetaj. Naravno, makro program koji pokree izbornik mora pod prije biti kreiran.

2.. Screen objjektt 2 Screen ob ek

Oznaava formu, izvjetaj ili kontrolu u njima Koritenjem ovog objekta s formom, izvjetajem ili kontrolom nee ih uiniti aktivnim. Zapravo, na temelju ovog objekta mogue je saznati koji je trenutno aktivan objekt pa te informacije iskoristiti za druge zadatke u Access VBA.Treba napomenuti da je koritenje ovog objekta mogue samo u VBA ili pomou Makroa.

3.. Conttroll objjektt 3 Con ro ob ek


a)) mettode objjektta:: a me ode ob ek a

Odnosi se na kontrole postavljene u formu ili izvjetaj. Koristi se za odreivanje brojnih svojstava kontrola u navedenim objektima.

ItemData(podaci) Metoda podaci vraa podatke zapisane u nekom retku kontrole kombiniranog unosa ili liste. Na taj se nain moe provjeriti to pojedina kontrola sadri. ReQuery(auriraj) Auriraj metoda se koristi za auriranje podataka forme ili kontrole. SetFocus(usmjeri panju) Metoda usmjeri panju stavlja u prvi plan formu ili polje u tabeli, formi ili upitu. Ovo se moe iskoristiti kod pretraivanja objekata ( tabele itd. ) po nekom polju. Prvo se odabere polje po kojem se eli pretraivati, a nakon toga se pronalazi eljena vrijednost odnosno sva e se pretraivanja vriti po tom polju sve dok se ne odabere neko drugo polje tom metodom.

4.. Propertty objjektt 4 Proper y ob ek


a)) svojjsttva objjektta:: a svo s va ob ek a

Oznaava sva svojstva nekog objekta (korisniki definirana ili pak ve ugraena ) naziv tip vrijednost svojstva podaci o tome je li to svojstvo naslijeeno od drugog objekta ili ne

b)) mettode objjektta:: b me ode ob ek a


dodavanje novog objekta u skup objekata ( Append ) brisanje tabele, zapisa ili indeksa ( Delete )

5.. Paramettar objjektt 5 Parame ar ob ek

Oznaava parametre upita koji ih koristi tzv. parametarskog upita i to: naziv vrijednost tip parametra Ti se parametri ne mogu mijenjati ili brisati ve samo itati.

6.. TablleDeff objjektt 6 Tab eDe ob ek


a)) mettode objjektta:: a me ode ob ek a

Oznaava tablicu ili neku povezanu tablicu iz drugog SUBP-a.Preko tog objekta mogue je mijenjati definiciju tabele kreiranje polja, indeksa ili korisnikog svojstva objekta otvaranje tabele koja se moe ili ne moe mijenjati auriranje veza s povezanim tabela drugih SUBP-a

b)) svojjsttva objjektta:: b svo s va ob ek a

ovlatenja za promjenu pojedinih polja relacijski odnosi odnosno veze referencijalni integritet podataka povezanost tabele preko ODBC-a ili ne ovlatenja za promjenu strukture upita ili tabele te promjene njihovih podataka 61

7.. Dattabase objjektt 7 Da abase ob ek


Ovaj objekt sadri: Skupove (collections) koji pokazuju informacije o objektima baze podataka te relacijama Metode koje omoguavaju kreiranje navedenih objekata. Svojstva koja omoguavaju oznaavanje objekata (davanje naziva objektima), odreivanje jezika po kojem e se sortirati podaci, odreivanje vremena nakon kojeg e se obustaviti izvravanje upita preko ODBC-a itd.

8.. Workspace objjektt 8 Workspace ob ek


Definira kompletnu radnu okolinu nekog korisnika koji radi u Access-u

a)) mettode objjektta:: a me ode ob ek a

Koristei ovim objektom mogue je kreirati korisniku okolinu zatienu ifrom korisnika: CreateDatabase (kreiraj bazu podataka) CreateGroup (kreiraj grupu) CreateUser (kreiraj pojedinanog korisnika) Otvoriti i zatvoriti jednu ili vie baza podataka: OpenDatabase metoda Close (zatvori aktivan objekt) Upravljati transakcijama transaction metodama koje se koriste se meu Connection objektima: BeginTrans(poni transakciju ) object.BeginTrans CommitTrans(zatvori transakciju) te pri tome snima efekte transakcije object.CommitTrans RollbackTrans(vrati u prijanje stanje) - vraa podatke u stanje prije pokretanja transakcije, posebno je pogodno ako je transakcija pokrenuta nekom pogrekom. object.RollbackTrans

b)) svojjsttva objjektta:: b svo s va ob ek a


Naziv objekta ifra Naziv korisnika Workspace objekt sadri slijedee skupove : Skup baza podataka - skup otvorenih baza podataka, baze podataka aplikacije grupa - skup korisnika neke baze podataka s istim ovlatenjima korisnici - korisnici neke baze podataka

9.. Skupovii objjekatta 9 Skupov ob eka a


a)) mettode skupova objjekatta:: a me ode skupova ob eka a
Append (dodaj) - dodaje novi objekt u skup objekata npr. ako se radi o skupu tabela u taj e se skup dodati tabela itd. Refresh (osvjei) prikazae sve promjene dodane u bazu.

b)) svojjsttva skupova objjekatta:: b svo s va skupova ob eka a

Naziv objekta ifra Naziv korisnika Broj objekata - vraa broj objekata u nekom skupu Vano je napomenuti da svi skupovi zapoinju od nule te ako za konani broj lanova skupa uzmemo n tada skup sadri zapravo n-1 objekata.

62

X..POVEZIVANJE I ULAGANJE OLE OBJEKATA X POVEZIVANJE I ULAGANJE OLE OBJEKATA


Object Linking and Embeding Access kao i mnoge druge Windows aplikacije podrava povezivanje i ulaganje objekata tzv. Object Linking and Embeding (OLE). Povezivanje i ulaganje objekata omoguava integraciju objekata iz drugih aplikacija ( Windows i neWindows aplikacija ) s Access-om.To znai da OLE omoguava da se u formu, tabelu ili izvjetaj uloe ili poveu razni objekti drugih aplikacija kao npr. slike, grafovi i sl.

A.. UNOS OLE OBJEKATA U TABLICU: A UNOS OLE OBJEKATA U TABLICU:


Kada iz izbornika Insert odaberemo Object otvara se okvir dijaloga Insert Object.Objekt moemo izraditi u odabranoj aplikaciji ili odabrati ve izraen i sauvan objekt (Create from file).

1.. Ullaganjje objjekatta 1 U agan e ob eka a

Kada se koristi opcija ulaganja objekata, objekt koji se ulae pohranjuje se u Access bazu podataka, ali u formatu aplikacije u kojoj je i kreiran ( tako e se npr. slika iz Paintbrush-a pohraniti u .BMP formatu ). Ako se uloeni objekt eli promijeniti u Access-u pokrenut e se aplikacija iz koje objekt potjee.

2.. Poveziivanjje objjekatta 2 Povez van e ob eka a

Objekt koji se povezuje ostaje u aplikaciji u kojoj je i kreiran tako da ga mogu koristiti ( povezivati ) i druge aplikacije. Kod povezivanja valja biti oprezan jer e svaka promjena na objektu ( u izvornoj aplikaciji ) rezultirati promjenom u aplikaciji s kojom je povezan. Razlika izmeu povezivanja i ulaganja objekata prikazana je na slici:

XI.. DINAMIKA RAZMJENA PODATAKA XI DINAMIKA RAZMJENA PODATAKA


DDE Dynamic Data Excange je pravilo odnosno protokol za razmjenu podataka izmeu aplikacija u Windows okruenju. DDE nije automatiziran tj. ne pokree se kao npr. forma ili izvjetaj ve koristi VBA programski jezik. To znai da je potrebno napisati neki kod u VBA da bi pokrenuli DDE.Potrebno je napomenuti da je dinamika razmjena podataka mogua samo izmeu aplikacija koje je podravaju. U DDE-u Access moe biti klijent ili posluitelj. Kao klijent DDE vezu moe uspostaviti u formi, upitu ili izvjetaju. Kao posluitelj podrava slijedea podruja: System ( izbornici itd. ) Ime baze podataka, Tabele ili Upita SQL naredbe

63

A.. DDE INSTRUKCIJE: A DDE INSTRUKCIJE:


1.. DDEIniittiiatte 1 DDEIn a e
VBA kao klijent.Instrukcijom DDEInitiate zapoinje dinamika razmjena podataka. U njoj se kao parametri navode : ime aplikacije ( ime izvrne aplikacije, ali bez nastavka .EXE npr. samo Excel ) podruje (npr. podruje unutar Excel-a.)

2.. DDEExecutte 2 DDEExecu e

VBA kao klijent.Instrukcijom DDEExecute izvodi se komanda aplikacije s kojom se obavlja dinamika razmjena podataka (npr. komanda Excela) Kao parametri navode se: broj kanala (taj broj Windows-i pridruuju aplikaciji s kojom se vri DDE ) komanda ( komanda iz nekog izbornika i dr. ).

3.. DDEPoke 3 DDEPoke

Preko instrukcije DDEPoke alju se podaci posluiocu. Kao parametri navode se: broj kanala kao i kod prethodne instrukcije podruje aplikacije ( npr. u Excel-u oznake za kolone npr. A1,B1 ) podatak koji e se upisati u tu aplikaciju ( kolonu u Excel-u ). Mogue je prenositi samo tekstualne podatke.

4.. DDESend 4 DDESend 5.. DDE 5 DDE

DDESend alje odreen dio podataka posluiocu. Moe se koristiti za odreivanja karakteristika ( properties ) kod nekih kontrola ( liste, kombiniranog unosa i dr. ).

Koristi se za dobivanje podataka od posluioca DDE alje zahtjev za podacima drugoj aplikaciji. Kao parametri navode se: aplikacija podruje aplikacije dio tog podruja

6.. DDERequestt 6 DDEReques


broj kanala dio podruja aplikacije

Koristi se za dobivanje podataka od posluioca DDERequest alje zahtjev za dijelom podataka koristei kao parametre:

7.. DDETermiinatte,, DDETermiinatteAllll 7 DDETerm na e DDETerm na eA

Instrukcijama DDETerminate te DDETerminateALL prekida se dinamika razmjena podataka odnosno zatvaraju se svi kanali preko kojih se vrio DDE.

64

XII.. RAZMJENA PODATAKA (IMPORT ,, LINK) XII RAZMJENA PODATAKA (IMPORT LINK)
Pod razmjenom se podrazumijeva prenoenje podataka u drugi program i obrnuto. Access moe razmjenjivati podatke sa slijedeim sustavima za upravljanje bazama podataka: FoxPro, dBase Paradox Btrieve SQL, Oracle Lotus HTML,Tekst itd. te s programskim paketom Microsoft Office koji ukljuuje: Word for Windows Excel Powerpoint Microsoft Mail Razmjena podataka s drugim sustavima za za upravljanje bazama podataka ima viestruke prednosti. Nekada se i nije razmiljalo o prijelazu na sustav (u ono vrijeme programski jezik ) koji bi bio bolji odnosno koji bi efikasnije ispunio nae zahtjeve (potrebe), ve se uporno ostajalo na starom sustavu koji se povremeno nadograivao. Primjer za to je programski jezik COBOL koji je jo i danas prisutan ( mada je moderniziran ) i kojeg nije nadrasla ni pojava modernih sustava koji mogu ispuniti veinu naih zahtjeva (smatra se da je pola programa uope ikada napisanih napisano u COBOL-u). Jedan od razloga bio je i taj da je svaki sustav razvio razliite formate datoteka za pohranjivanje podataka.Prijelaz na novi odnosno drugi sustav znailo bi odbacivanje svega do tad uinjenog jer se podaci iz starog sustava nisu mogli upotrijebiti. Tada su se poeli pojavljivati sustavi koji su mogli prebaciti podatke iz starog formata u novi.No, to ipak zahtijeva odreen posao, a rezultati su ponekad nezadovoljavajui (novi sustav koristi vea polja od starog te se tako nepotrebno troi prostor, a time i brzina ). Da bi se takvi problemi izbjegli nastali su sustavi kakav je i Access ,koji mogu prebaciti podatke u svoj format i to je jo vanije mogu raditi sa formatima datoteka naprijed navedenih sustava tj. obraivati podatke u kao da su to datoteke (tabele) u Accessu. To znai da npr. datoteku iz dBase-a moemo aurirati te iz nje izvui izvjetaj u Accessu ije su mogunosti na tom polju svakako vee.

A.. UVOZ (IMPORT) PODATAKA U ACCESS: A UVOZ (IMPORT) PODATAKA U ACCESS:


Pozovemo osnovni prozor baze podataka tipkom F11 Odaberemo u izborniku File Get External data Import Odaberemo format baze koju uvozimo. Foxpro i dBase - tabele odnosno podaci se iz tih sustava mogu prevesti u Access format ili pak se moe samo uspostaviti veza s njima i to s podacima iz sustava dBase III na vie te Foxpro 2.0 na vie.Pri tome ako se podaci povezuju nee biti mogue promijeniti strukturu tabele osim opisa polja tabele. Da bi se s podacima povezane tabele moglo raditi potrebno je izabrati i odgovarajue indekse (Access prepoznaje formate .NDX, .MDX, .IDX, .CDX, ali ne prepoznaje Clipper .NTX format ,koje nakon uvoza treba runo postaviti). Paradox - datoteke ovog sustava za upravljanje bazama podataka mogue je ili prevesti u Access format ili pak samo uspostaviti vezu s njima i to za inaice od 3.0 na vie.Kod povezivanja potrebno je obratiti panju da li odgovarajua datoteka ( tabela ) ima index ( .PX datoteku ) jer ako ovaj ne postoji nee se moi pristupiti podacima. Potrebno je napomenuti da ako se prenosi tabela koja je sortirana po kljuu koji je vei od 255 znakova ,ona e se moi samo itati u Access-u. Kod prebacivanja podataka u Access potrebno je odabrati Paradox-ov stil zakljuavanja tabela. Zbog problema zakljuavanja podaci se iz Paradox-a nee moi prebaciti u Access ako su smjeteni na jedinici koju je mogue samo itati (npr. CD ROM-u).

65

Kada se radi o mrenom okruenju svi korisnici moraju imati isti ParadoxNetPath parametar u dijelu .INI datoteke pod naslovom Paradox ISAM .Da bi se podaci iz Paradox-a mogli koristiti, posebice ako e se koristiti vie tabela s vie indeksa potrebno je napraviti neke preinake u CONFIG.SYS datoteci (parametar FILES ne smije biti manji od 40 ). Kod koritenja mree podaci koje dodaju drugi korisnici ( ako jedni koriste Paradox, a drugi Access ) u Paradox-u nee biti vidljivi za korisnike Access-a sve dok se aktivna tabela ne zatvori i ponovo otvori. Ako se podaci ele razmjenjivati u mrenom okruenju mora se u datoteci MSACC20.INI pod naslovom Paradox ISAM odrediti ime korisnika ( Paradox User Name). Btrieve - prebacivanje podataka iz ovog programa odnosno programa koji koriste ovaj format datoteka razlikuje se od naprijed navedenih naina. Btrieve sadri rjenik podataka pa je za njgovo prebacivanje potrebno imati WBTRCALL.DLL datoteku. Kao i kod drugih sustava podatke iz Btrieve-a je mogue prebaciti u Access format ili samo povezati s Access-om. SQL - tabele se mogu povezati ili prebaciti u Access ali je potrebno je imati ODBC pogonitelj(drajver) za izvjesni SQL sustav. Access ukljuuje ODBC pogonitelje za Microsoft SQL posluilac te Sybase SQL posluilac.Za ostale drajvere potrebno je kontaktirati s proizvoaem Access-a.Da bi se povezivanje ili prebacivanje moglo obaviti potrebno je instalirati ODBC drajver.Da li ODBC drajver postoji ili ne moe se vidjeti u kontrolnoj ploi (Control Panel) Windowsa jer su tamo pogonitelji prikazani ikonom . I tu se prevoenje ili povezivanje razlikuje od drugih sustava jer je potrebno uspostaviti vezu sa SQL-om koji se koristi u mrei. Dakle, potrebno je u uobiajenom postupku naznaiti ime korisnika te ifru korisnika to ujedno predstavlja i zatitu od neovlatenog pristupa. Tekst datoteke - te se datoteke mogu prebaciti u Access samo ako su zapisi fiksnog formata ( fiksne duine ) ili su podaci u zapisu odvojeni nekim znakom interpunkcije npr. dvotokom . Potrebno je napomenuti da se svaki red tekst datoteke tretira kao zapis pa nee imati smisla prebacivati podatke ako "kolone" tekst datoteke nisu istoga tipa ( npr. jedna kolona sadri brojeve, a u drugom redu na istome mjestu neki dui tekst ). Kod prebacivanja tekst datoteke fiksne duine zapisa potrebno je naznaiti operativni sistem gdje je ona kreirana ( Windows,DOS,OS/2 ), znak kojim je odvojen tekst, znak kojim su odvojena polja zapisa te formate polja (ime polja, tip, poetak, zavretak ).Format polja nije potrebno zadavati ako postoji tabela u koju e se ti podaci prebaciti (ta se tabela moe kreirati ba za tu namjenu). Tablini kalkulatori - u Access je mogue prevesti podatke iz Excela ili Lotus 1-2-3 tablinog kalkulatora. Ovo je vrlo korisna mogunost, ako se zna snaga ovih programa i visok postotak njihove poslovne primjene (razne analize, statistika ...)

1.. Moguii probllemii kod uvoenjja podattaka:: 1 Mogu prob em kod uvoen a poda aka

Kod prevoenja podataka u Access mogu se pojaviti razni problemi pa ako se to dogodi Access kreira tabelu u kojoj svaki red oznaava opis jedne greke. Kada uvozimo Excel podatke u Access tablicu, ponekad moemo izgubiti dio podataka.To se obino deava kad umjesto statinih podataka pokuamo uvesti elije sa formulama koje e biti uvezene kao prazne elije. Rjeenje je sauvati Excel worksheet koji ima podatke koje elimo uvesti u novi workbook.Otvorimo original i novi workbook ,u originalu oznaimo cijeli workbook (Edit,Select All) pa ga kopiramo u novi sa Ctrl+C pomou opcije (Edit, Paste Special ).Novi workbook e biti identian originalu ali vie nee sadravati formule ve samo statine podatke.Tada se umjesto orirginala novi file uveze u Acces Kod prevoenja podataka iz tablinog kalkulatora pojavljuje se greka ako postoji oznaka N/A to u tab. kalkulatoru znai da nema podataka. Access e to protumaiti kao pogrean tip podataka. Problem rijeiti na taj nain da se uklone te oznake pa ako su ba potrebne mogu se naknadno dodati u Access-u. Neprepoznavanje pravog tipa podataka.Moe se probati jo jednom ili promjenom tipa podataka. Tabela u koju se prenose podaci ima manje polja od izvorne tabele. Potrebno je samo prebrojati polja te prema tome i postupiti odnosno nadopisati polja koja nedostaju. Polja izvorne tabele dua su od odredine. Potrebno je uskladiti veliinu polja

B.. PRIDRUIVANJE (LINK) PODATAKA U ACCESSU: B PRIDRUIVANJE (LINK) PODATAKA U ACCESSU:


Pozovemo osnovni prozor baze podataka tipkom F11. Odaberemo u izborniku File Get External data Link Tables Odaberemo format baze koju uvozimo.

66

C.. RAZLIKE IZMEU UVOZA (IMPORT) I POVEZIVANJA C RAZLIKE IZMEU UVOZA (IMPORT) I POVEZIVANJA (LINK): (LINK):

Uvezene tablice postaju dio Access baze podataka ,imaju istu ikonu kao i tablice kreirane u Accessu ,dok pridruene tablice zadre ikonu programa kojem pripadaju. Kada obriemo uvezenu tablicu ona e sasvim nestati,dok se brisanjem uvezene tablice brie samo veza prema programu kojem tablica pripada. Podatke u pridruenim tablicama moemo mijenjati,ali postoje ogranienja u izmjeni dizajna.Uvezenim tablicama moemo mijenjati dizajn i podatke isto kao da smo ih kreirali u Accessu. Izvorna aplikacija nema pristup uvezenoj tablici,dok pridruenoj tablici moe pristupati i Access i izvorna aplikacija.

XIII.. XIII

KORITENJE U MRENOM OKRUENJU KORITENJE U MRENOM OKRUENJU

Baza podataka koju e koristiti vie korisnika mora se otvoriti drugaije nego za samo jednog korisnika. Kod koritenja u viekorisnikom okruenju baza se podataka mora otvoriti iz mrene jedinice, dozvoliti koritenje baze istovremeno za vie od jednog korisnika te dozvoliti ili ne promjenu podataka. Access se moe koristiti u slijedeim mrenim okruenjima: - Novell netware - Windows for workgroups - Windows NT

A.. PROBLEMI KOD INSTALIRANJA ACCESS-A NA NEKA A PROBLEMI KOD INSTALIRANJA ACCESS-A NA NEKA OKRUENJA: OKRUENJA:

Kod instaliranja Access-a na Novell mreu mogu se pojaviti problemi sa setup.ini ( potrebno je podesiti datoteke shell.cfg te net.cfg ). Ako se Access instalira na Windows for workgroups najbolje je to uiniti nakon instalacije WfW jer se inae mogu pojaviti problemi kod detekcije pogonitelja. Nakon toga potrebno je instalirati pogonitelj koji se brine o auriranju podataka, inae ako pogonitelj nije instaliran koritenjem opcije za mreno povezivanje ( ikona network connection ) moglo bi doi do gubitka podataka (pogonitelj za auriranje se instalira programom decompress te ga je potrebno instalirati u system direktorij, a to je program wfwnet.dr_ ) U Windows NT okruenju potrebno je obratiti panju na tzv. service pack ( mora biti inaice 2 ili kasnije ). Ako ne postoji odgovarajui program on se moe dohvatiti sa Interneta preko FTP-a. Takoer se treba instalirati ODBC administrator ( program se zove odbcadm.ex_ , a postupak instaliranja je isti kao i kod WfW ).

B.. KORITENJE BAZA PODATAKA NA MREI: B KORITENJE BAZA PODATAKA NA MREI:

Nije mogue mijenjati strukturu tabele dok je koristi drugi korisnik, ali je mogue pogledati strukturu. Zbog toga treba biti na oprezu prilikom promjene strukture tabele jer se za to vrijeme nee moi koristiti od strane drugih korisnika. Takve bi se radnje trebale poduzimati ako je to mogue u vrijeme kad se baza podataka najmanje koristi ili se uope ne koristi (nakon radnog vremena, neradnim danom i sl. ). Osim promjene strukture tabele treba biti na oprezu prilikom promjene drugih objekata. Tako npr. kod promjene makronaredbe koju koristi istovremeno neki drugi korisnik moe doi do neeljenih rezultata ili ak posljedica. Kod promjene tih objekata valja ih zatvoriti i ponovo otvoriti da bi se vidio efekat promjene inae e se oni ponaati kao da nisu promijenjeni.Ako se mijenja izvjetaj treba prije pogledati objekat iz kojeg je on kreiran pa tek onda mijenjati izvjetaj jer je taj objekat mogao biti promijenjen od strane drugih korisnika to bi moglo dovesti do neeljenih rezultata. No, ako e se koristiti neki objekt kojeg je promijenio drugi korisnik pojavit e se poruka da je on promijenjen to omoguava da se odmah uoi promjena bez stalnog pregledavanja da li su objekti mijenjani ili nisu.

67

C.. PROMJENA PARAMETARA C PROMJENA PARAMETARA

Da bi se odredio eljeni nain rada na mrei mogue je promijeniti neke parametre: nain otvaranja baze podataka nain auriranja podataka (broj pokuaja ( do deset ) te razmak izmeu tih pokuaja odrediti da se baza podataka odnosno objekti ne zakljuavaju te ih na taj nain moe istovremeno koristiti vie od jednog korisnika to moe proizvesti zbunjujue rezultate promjena zapisa (zakljuanih ) - podatke moe mijenjati istovremeno samo jedan korisnik, ako to ele uiniti i drugi korisnici na mrei morat e saekati dok taj korisnik ne zavri s promjenom odnosno dok se ponovo ne zakljua zapis (slog )

zakljuavanje svih zapisa nekog objekta ( forme ili tabele ) - u tom sluaju podaci iz tih objekata e biti na raspolaganju samo jednom korisniku u jedno vrijeme osvjeavanje zaslona odnosno vrijeme ponovnog prikazivanja podataka na zaslonu - ako su se desile bilo kakve izmjene nad podacima u viekorisnikom okruenju on e se prikazati u vremenu od jedne minute (to se vrijeme ponovnog prikazivanja moe izmijeniti (moe biti u rasponu od 1 sekunde do 32 766 sekundi )

XIV.. XIV

SIGURNOST PODATAKA(( TOOLS--SECURIITY--PERMIISSIIONS!!)) SIGURNOST PODATAKA TOOLS SECUR TY PERM SS ONS

Sigurnost korisnikih podataka je jedan od vrlo vanih kriterija pri odabiru SUBP, a za neke korisnike i najvanija. Bez obzira na mjere koje se poduzimaju radi zatite podataka apsolutno sigurna aplikacija odnosno aplikacija koja prua potpunu zatitu korisnikih podataka danas jo uvijek ne postoji. Za poduzea gdje pristup neovlatenim osobama nije dozvoljen moe se preporuiti Access koji ima svoje mehanizme zatite podataka ostvarene kroz provjere pristupa ifrom. Ve je otprije poznato da sama mrea (koja je vrlo esta u poduzeima - LAN ) ima ugraene mehanizme za zatitu podataka od neovlatenog pristupa, no da bi se sigurnost podataka poveala danas se ve standardno ti mehanizmi ugrauju i u SUBP. Ugradnja tih mehanizama znai da se podaci mogu zatititi na nivou samog SUBP-a bez koritenja mree ,da bi bili zatieni na raunalu koje nije povezano u mreu. Zatita podataka u Access-u se provodi preko radnih grupa, korisnika te ovlatenja. Radna grupa obuhvaa jednu ili vie baza podataka koje imaju isti stupanj zatite. Svaka radna grupa ima svoju ifru koju je potrebno znati da bi se moglo koristiti baze podataka koje ova sadri. Na temelju ifre dobiva se korisniki broj u okviru kojeg su ovlatenja za koritenje podataka. Svaki korisnik moe imati razliita ovlatenja i ta se ovlatenje mogu razlikovati od ovlatenja radnih grupa kojima pripada. Svaki korisnik mora pripadati najmanje jednoj radnoj grupi.

A.. ZATITITA PODATAKA OD NEOVLATENOG PRISTUPA A ZATITITA PODATAKA OD NEOVLATENOG PRISTUPA


Da bi se zatitili podaci od neovlatenog pristupa potrebno je: odabrati radnu grupu odabrati broj radne grupe odabrati broj za korisnika aplikacije zahtijevati odnosno odrediti izvoenje procedure za prijavljivanje postaviti vlasniki broj za bazu podataka kreirati grupe i korisnike dati ovlatenja za pojedine objekte odrediti ifre korisnika ifrirati bazu podataka uiniti bazu podataka dostupnu drugim korisnicima Radne grupe se kreiraju preko administratora za radne grupe (programa koji dolazi uz Access, ali se pokree preko posebne ikone bez pokretanja samog Access-a ).Svaka radna grupa ima svoju zasebnu datoteku (SYSTEM.MDA ) u kojoj su pohranjeni podaci o zatiti. Prilikom poetnog rada na zatiti podataka postoje tri radne grupe:

68

administratori korisnici gosti i dva definirana korisnika i to: admins iz grupe administratora te gost iz grupe gostiju Ostale se radne grupe i korisnici definiraju po potrebi. Admins korisnik je rezerviran za mrenog administratora i on ima sva ovlatenja odnosno moe mijenjati svaki objekt bez obzira koja ga je radna grupa ili korisnik definirala. Znai ako elimo da neki od korisnika ima sva ovlatenja ( promjena, upisivanje i brisanje podataka ) treba ga staviti u grupu administratora. Za svaki se objekt mora dati posebno ovlatenje ili ogranienje. Nakon instaliranja Access-a svi novi korisnici imaju sva ovlatenja pa je nekim korisnicima ili grupama korisnika potrebno ograniiti ta ovlatenja. To moe uiniti (dati ovlatenje) vlasnik objekta(neki korisnik) ili pak mreni administrator dok ovlatenje,moe primiti neki korisnik ili grupa korisnika. Ovlatenja se zadaju vrlo jednostavno ,no upravo zbog te jednostavnosti moemo brzopleto zadati mreu ovlatenja koja nee odgovarati naim potrebama.

1.. Mogua ovllattenjja za objjektte su:: 1 Mogua ov a en a za ob ek e su


otvaranje te izvoenje objekta ( forme, izvjetaja ) otvaranje za jednokorisniku upotrebu pregled kreiranja odnosno oblikovanja objekta promjena strukture objekta administartor - sva ovlatenja itanje podataka ( iz tabele ...) auriranje podataka unos podataka brisanje podataka Neka ovlatenja povlae za sobom i neka druga ovlatenja odnosno ako se da odreeno ovlatenje bit e dato i neko drugo bez obzira to se ovo drugo nije posebno naznailo i to: pregled kreiranja promjena dizajna itanje podataka auriranje podataka unos podataka brisanje podataka otvaranje, izvoenje pregled dizajna, brisanje,auriranje pregled strukture objekta pregled dizajna i podataka pregled dizajna i podataka pregled dizajna i podataka

ovlatetenje administratora sva ovlatenja

XV.. PODEAVANJE ACCESSA XV PODEAVANJE ACCESSA


69

Da bi SUBP postizao optimalne rezultate , posebice ako se koristi u mrenom okruenju valja ga podesiti prema vlastitim potrebama. Postoji devet razliitih polja na kojima se moe Access podesiti i to: Standardne opcije: Openito: Podeavanje opcija koje se odnose na openite karakteristike Access-a koje se ne mogu svesti ni pod jednu od navedenih grupa. Tu se podeava: - prikaz statusne linije ( ona sadri informacije o komandama ) - alati koji stoje na raspolaganju - odreivanje vremenskog intervala ponovnog izvoenja OLE i DDE-a - traenje potvrde prije brisanja objekata i izvoenja akcijskih upita - jezik po kojem e se sortirati podaci - omoguavanje drugim aplikacijama da vre DDE s Access-om itd. Tipkovnica: Odreuje se ponaanje tipkovnice i to: - koritenje strelica ( da li e to biti prelazak na novo polje ) - to e se izvoditi nakon tipke < Enter > - dodjeljivanje tipki makronaredbama Podeavanje ispisa na pisau: Odnosi se na odreivanje margina unutar kojih e se podaci ispisivati. Koji e se pisa koristiti odreuje se preko Windows-a i kako je poznato na to ne utjeu pojedini programi pa tako ni SUBP-a. Nain kreiranja forme i izvjetaja Podeavanjem opcija koje se odnose na kreiranje objekata odreuje se predloak po kojem e se objekt kreirati i kojeg moemo koristiti u vie sluajeva. Kreiranje upita Kreiranje makronaredbe Pregled podataka - kod pregleda podataka u obliku tabele odreuje se ponaanje odreenih tipki ( strelice, tipke < Enter >, tipke koje pokreu makronaredbe ). Podeavanje opcija kod pisanja koda ( VBA ) odnosi se na podeavanje provjere sintakse odnosno ispravnosti napisane naredbe te postavljanje tabulatora kod pisanja razliitih nivoa naredbi radi preglednosti koda. Opcije za viekorisniko okruenje i ODBC su: 1.Odreivanje zakljuavanja zapisa 2.Otvaranje tabela ( za jednokorisniki ili viekorisniki rad ) 3.Interval ponovnog pokuaja uspostavljanja ODBC-a 4.Interval osvjeavanja zaslona itd.

70

Vous aimerez peut-être aussi