uvod u upite - biljanaivanovic.files.wordpress.com  · web viewoperatori i izrazi u accessu. da...

18
Operatori i izrazi u Accessu 1 OPERATORI I IZRAZI U ACCESSU Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste Accessove grupe funkcija i operatora. Literali Access obezbeđuje tri tipa literala koji se kombinuju sa operatorima za izradu izraza. Sledeća lista opisuje tipove literala: Numerički literali se otkucani kao niz brojeva, uključujući aritmetički znak i decimalnu tačku; Tekstualni ili literal niza mogu imati sve karaktere koji se štampaju. Karakteri koji se štampaju su slova A-Z, cifre 0-9, znaci interpunkcije, i ostali specijalni simboli sa tastature. Izrazi Accessa zahtevaju da oko nizova literala stavite dvostruke znake navoda (" "); Literali datum/vreme su sa brojem, ili znakom #, kao u izrazu #1-Jan-80# ili #10:20:30#. Access dodaje ovakve znakove ako program otkrije da ste otkucali u rešetku Design datum ili vreme u nekom od standardnih formata Accessa za datum ili vreme. Operatori Access ima 6 kategorija operatora koji se koriste za izradu izraza: Aritmetički operatori izvršavaju sabiranje, oduzimanje, množenje i deljenje; Operatori dodeljivanja i poređenja postavljaju vrednosti i porede vrednosti; Logički operatori se koriste samo sa vrednostima koje su istinite ili lažne; Operatori spajanja kombinuju nizove karaktera; Ostali operatori, kao što su Like, Is, In i Between uprošćavaju pravljenje izraza za izabrane zapise sa upitima; Sledeće sekcije objašnjavaju kako se koristi svaki od operatora iz ovih kategorija. Aritmetički operatori Aritmetički operatori rade samo sa brojnim vrednostima i moraju imati dva brojna operanda, sa sledećim izuzecima : Kada znak minus (-) menja znak (negira vrednost) operanda. U tom slučaju, znak minus se zove unarni minus. Kada znak jednakosti (=) dodeli vrednost nekom objekatu Accessa ili identifikatoru promenljive Access VBA. Aritmetički operatori koji se mogu koristiti u izrazu Accessa. Operator Opis Primer + Sabiranje dva operanda. [IznosStavke]+ [Porez] - Oduzimanje dva operanda. Date - 30 - (unarno ) Promena znaka operanda. - 12345

Upload: others

Post on 27-Dec-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

Operatori i izrazi u Accessu 1

O P E R A T O R I I I Z R A Z I U A C C E S S U

Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste Accessove grupe funkcija i operatora.

L i t e r a l iAccess obezbeđuje tri tipa literala koji se kombinuju sa operatorima za izradu izraza. Sledeća lista opisuje tipove literala: Numerički literali se otkucani kao niz brojeva, uključujući aritmetički znak i decimalnu tačku; Tekstualni ili literal niza mogu imati sve karaktere koji se štampaju. Karakteri koji se štampaju su slova

A-Z, cifre 0-9, znaci interpunkcije, i ostali specijalni simboli sa tastature. Izrazi Accessa zahtevaju da oko nizova literala stavite dvostruke znake navoda (" ");

Literali datum/vreme su sa brojem, ili znakom #, kao u izrazu #1-Jan-80# ili #10:20:30# . Access dodaje ovakve znakove ako program otkrije da ste otkucali u rešetku Design datum ili vreme u nekom od standardnih formata Accessa za datum ili vreme.

O p e r a t o r iAccess ima 6 kategorija operatora koji se koriste za izradu izraza: Aritmetički operatori izvršavaju sabiranje, oduzimanje, množenje i deljenje; Operatori dodeljivanja i poređenja postavljaju vrednosti i porede vrednosti; Logički operatori se koriste samo sa vrednostima koje su istinite ili lažne; Operatori spajanja kombinuju nizove karaktera; Ostali operatori, kao što su Like, Is, In i Between uprošćavaju pravljenje izraza za izabrane zapise sa

upitima;Sledeće sekcije objašnjavaju kako se koristi svaki od operatora iz ovih kategorija.

A r i t m e t i č k i o p e r a t o r i Aritmetički operatori rade samo sa brojnim vrednostima i moraju imati dva brojna operanda, sa sledećim izuzecima : Kada znak minus (-) menja znak (negira vrednost) operanda. U tom slučaju, znak minus se zove unarni

minus. Kada znak jednakosti (=) dodeli vrednost nekom objekatu Accessa ili identifikatoru promenljive Access

VBA.

Aritmetički operatori koji se mogu koristiti u izrazu Accessa.Operator Opis Primer

+ Sabiranje dva operanda. [IznosStavke]+ [Porez]- Oduzimanje dva operanda. Date - 30- (unarno ) Promena znaka operanda. - 12345* Mnozenje dva operanda. [Kolicina] * [Cena]/ Delenje jednog operanda sa drugim. [Kolicina] / 12.55Mod Vraća ostatak delenja celim brojem [Kolicina] Mod 12^ Podiže operand na neki stepen (eksponent). [Vrednost] ^ [Stepen]

Jedna od najsnažnijih mogućnosti Accessa je dobijanje zbirnih informacija gotovo momentalno iz određenog skupa zapisa u tabelama. Sabiranje informacija iz baza podataka je osnova za prividno sve upravljačke informacione sisteme (MIS). Obično takvi sistemi odgovaraju na pitanja, kao što su "Kakva je prodaja do danas za ovaj mesec ?" ili "Kakva je prodaja prošlog meseca u poređenju sa istim mesecom prošle godine?". Da odgovorite na ta pitanja, morate napraviti upite koji prave računanja sa vrednostima polja sa svim ili izabranim skupom vrednosti zapisa u tabeli. Za računanje sa vrednostima tabele, morate napraviti upit koji koristi tabelu i SQL agregatne opertore za izračunavanja.

Page 2: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

2 Baze podataka - Access

K o r i š ć e n j e S Q L a g r e g a t n i h o p e r a t o r aZbirna računanja sa poljima tabele uključena u rezultujuće tabele upita koriste SQL agregatne operatora, navedene u tabeli. Zovu se agregatni opartori zato što se primenjuju na grupe (agregacije) ćelija podataka. SQL agregatni operatori ispunjavaju zahteve većine upita potrebnih za poslovne aplikacije.

SQL agregatni operatoriOperator Opis Tipovi polja

Group By Grupisanje po vrednosti u polju Svi tipoviWhere Koristi se kod polja sa kriterijumima

ograničenja zapisa za sumarri upitAvg Prosek vrednosti u polju. Svi tipovi sem Text, Memo i OLE

objekat.Count Broj vrednosti Not Null u polju. Svi tipovi polja.First Vrednost polja prvog zapisa. Svi tipovi polja.Last Vrednost polja poslednjeg zapisa. Svi tipovi polja.Max Najveća vrednost u polju. Svi tipovi sem Text, Memo i OLE

objekat.Min Najmanja vrednost u polju. Svi tipovi sem Text, Memo i OLE

objekat.Sum Zbir vrednosti u polju. Svi tipovi sem Text, Memo i OLE

objekat.

Sledeća sekcija objašnjava metod za biranje SQL agregatnih operatora za kolonu upita.

Računanja na osnovu svih zapisa tabeleRukovodioci, posebno za prodaju i marketing, se sreću sa informacijama o primljenim porudžbinama i pošiljkama, napravljenim u određenom periodu vremena. Finansijski rukovodioci su zainteresovani za izračunate vrednosti, kao što je ukupan zbir neplaćenih računa i prosečan broj dana između datuma računa i datuma plaćanja. Ponekad, treba da napravite računanje za sve zapise tabele, kao što je srednja vrednost svih računa koje je izdala organizacija. Obično se u upitu primenjuje kriterijum da se izaberu određeni zapisi koje treba sabrati.

Access razmatra sve SQL agregatne operatore kao da su članovi klase Total funkcija. Kada kliknete na dugme Totals (sa grčkim znakom sigma, koji predstavlja sabiranje), na liniji alata pravite upite koji vraćaju neku ili sve SQL agregatne operatore.

Tabela Porudzbine Trgovina.mdb baze podataka nema polje UkupanIznos koje predstavlja ukupan iznos svih stavki porudžbine kao proizvod količine i cene. Uradite sledeće korake da izradite novi upit koji ima dodatno polje sa izračunatim UkupanIznos:

1. Izradite novi upit i dodajte mu tabele Porudzbine i Detalji Porudzbina;2. Odvucite polje BrojPorudzbine tabele Porudzbine u prvu kolonu rešetke Query Design, a u drugu kolonu polje DatumPorudzbine;3. Unesite UkupanIznos:[Kolicina]*[Cena] u red Field, treće (prazne) kolone. Ovaj izraz računa neto iznose svih stavki po redovima za svaku porudžbinu;4. Kliknite na liniji alata, na dugme Totals. Novi red Total je dodat u rešetku Query Design. Access dodaje Group By, što je inicijalna aktvnost, svakoj ćeliji u redu Totals;5. Pomerite se u red Total treće kolone (UkupanIznos) i pritisnite taster F4, da prikažete padajuću listu SQL agregatnih operatora. Sa liste izaberite Sum. Rešetka Query Design se pojavljuje, kao na slici 8.1;

Page 3: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

Operatori i izrazi u Accessu 3

Slika 8.1 Rešetka Query Design za izradu izračunatog polja sa operatorom Sum

6. Kliknite na liniji alata, na dugme Run za ispitivanje početnih unosa; 7. Zatvorite i snimite vaš upit pod imenom Porudzbine Totali.

Sledite ove korake da primenite SQL agregatne operatore na polje UkupanIznos niza rezultata upita Porudzbine Totali:

1. Otvorite novi upit i dodajte upit Porudzbine Totali. Da bi upit bio zasnovan na prethodno snimljenom upitu, kliknite na jezičak Queries okvira za dijalog Show Table i dodajte upit kao što to radite sa tabelom;2. Odvucite polje BrojPorudzbine u prvu kolonu i povucite četiri puta kolonu UkupanIznos ka susednoj koloni, da napravite četiri kolone UkupanIznos;3. Izaberite View, Totals za dodavanje reda Totals u rešetku Query Design. Alternativno, kliknite dugmetom miša u području rešetke i izaberite Totals sa menija;4. Pomerite se u red Total kolone BrojPorudzbine i pritisnite taster F4, da prikažete listu SQL agregatnih operatora. Izaberite Count kao funkciju za BrojPorudzbine, kao na slici 8.2;5. Pomerite se u prvu kolonu UkupanIznos, otvorite listu, i izaberite Sum sa padajuće liste Total. Ponovite proces, birajući Avg za drugu kolonu UkupanIznos, Min za treću i Max za četvrtu;

Slika 8.2 Biranje SQL agregatnih operatora za izračunavanja

6. Postavite kursor u polje Count, kliknite na liniji alata, na dugme Properties ili kliknite desnim dugmetom miša u polje Count, a onda kliknite na Properties sa menija za prikazivanje prozora Field Properties. Unesite Broj kao vrednost svojstva Caption;7. Ponovite korak 6 za četiri kolone UkupanIznos, tako što otkucate Suma, Prosek, Minimum i Maximum kao vrednosti svojstva Caption za četiri kolone, redom;8. Kliknite na liniji alata, na dugme Run za prikazivanje rezultata upita. Treba uočiti da se ispred natpisa dugmeta imena svakog polja nalazi ime primenjene funkcije;9. Snimite upit zato što se ovaj upit koristi u sledećim sekcijama.

Page 4: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

4 Baze podataka - Access

O p e r a t o r i d o d e l j i v a n j a i p o r e đ e n j aNajčešći način korišćenja znaka jednakosti je kao operator dodeljivanja; = dodeli vrednost jednog operanda objektu Accessa ili promenljivoj, ili konstanti. Kada koristite izraz = "Q" da dodelite inicijalnu vrednost polju, znak jednakosti deluje kao vrednost dodeljivanja. U protivnom, = je operator poređenja koji određuje da li je jedan od dva operanda jednak drugom.Operatori poređenja porede vrednosti dva operanda i vraćaju logičke vrednosti (True ili False), zavisno od relacije između dva operanda i operatora. Izuzetak je kad jedan od operanda ima vrednost Null; kako Null predstavlja nepoznatu vrednost, ne možete porediti poznatu sa nepoznatom vrednosti, niti da dođete do validnog True ili False zaključka.

Operatori poredenja koji su na raspolaganju u Accessu.Operator Opis Primer Rezultat

< Manje od 123 < 1000 True<= Manje od, ili jednako 15 <= 15 True= Jednako sa 2 = 4 False>= Veće nego, ili jednako sa 1234 >= 456 True> Veće nego 123 > 123 False<> Nije jednako 123 <> 456 True

Najvažnije korišćenje operatora poređenja je da se naprave pravila potvrđivanja, da se utvrde kriterijumi za biranje zapisa u upitima, da se odrede aktivnosti makroa i da se kontroliše tok programa u Access VBA.

L o g i č k i o p e r a t o r iLogički oparatori (ili Bulovi operatori) se najčešće koriste da kombinuju rezultate dva ili više izraza poređenja u jedan rezultat. Logički operatori mogu kombinovati samo izraze koji vraćaju logičke vrednosti True, False ili Null. Sa izuzetkom Not (Ne), koji je logički - ekvivalenat unarnog minusa, logički operatori uvek zahtevaju dva operatora.

Logički operatori AccessOperator Opis Primer Rezultat

And Logičko i True And True TrueTrue And False False

Or Logičko ili True Or Fa1se TrueFalse Or False False

Not Logičko ne Not True Fa1seNot False True

O s t a l i o p e r a t o r iOstali operatori Accessa su povezani sa operatorima poređenja. Ovi operatori vraćaju True ili False, zavisno od toga da li vrednost u polju zadovoljava izabrane osobine operatora. Vrednost True prouzrokuje da zapis bude u upitu; vrednost Fa1se odbacuje zapis. Kada koristite ove operatore u pravilima potvrđivanja, ulazi se prihvataju ili odbacuju, zavisno od logičke vrednosti koju izraz vraća.

Ostala četiri operatora koja se koriste u Accessu.Operator Opis Primer

Is Koristi se sa Null da odredi da li je vrednostNull ili Not Null.

Is NullIs Not Null

Like Određuje da li vrednost niza počinje sa jednim ili više karaktera. Da bi Like radio pravilno, morate dodati džoker znak, * ili nekoliko karaktera ?.

Like "Jon" Like "FILE????"

In Određuje da li je vrednost niza član liste vrednosti. In ("CA","OR",WA")Between Određuje da li je vrednost unutar određenog opsega Between 1 And 5

Page 5: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

Operatori i izrazi u Accessu 5

vrednosti.

Operator Like koristi džoker znake * i ?. Džoker (*) (često nazvan i zvezdica) služi umesto proizvoljnog broja karaktera. (?) označava mesto jednog karaktera. Na primer, Like "Jon*" vraća True za vrednosti kao što su Jones ili Jonathan. Like "*on*" vraća True za svaku vrednost koja sadrži "on". Like "FILE????" vraća True za FILENAME, ali ne i za FILEOOO ili FILENUMBER.Džoker znaci mogu da prethode karakterima koje želite da koristite, kao u Like "*son" ili Like"???NAME".Sem za Is, operatori u ostalim kategorijama su ekvivalentni rezervisanim rečima SQL-a LIKE, IN i BETWEEN. Access ima ove operatore da bi ostvario kompatibilnost sa SQL-om. Možete napraviti svaki od ovih operatora kombinovanjem ostalih operatora Accessa, ili funkcija.

I z r a d a i z r a z a A c c e s s aIzrazi za kriterijume upita

Kada pravite upit qryUSListaPosta za biranje zapisa iz država California, Oregon i Washington, unosite ="CA" , ="OR" i ="WA" u posebne redove.Bolji izraz je In ("CA" , "OR" , "WA" ), koji se unosi u isti red kao kriterijum ="USA" za polje Federacija. Ovaj izraz ispravlja grešku da se polje Federacija ne ispituje za vrednost jednaku USA za unose OR ili WA.Koristite širok opseg ostalih funkcija za biranje određenih zapisa koji se vraćaju u tabelu upita.

Izračunavanja zasnovana na izabranim zapisima tabelePrethodni primeri upita vrše izračunavanja na svim porudžbinama i koje su smeštene u tabelu Porudzbine. Obično vas interesuje određeni skup zapisa, na primer, opseg datuma, iz kojih izračunavate agregatne vrednosti. Da ograničite izračunavanja na porudžbine primljene u martu 1995., sledite ove korake:

1. Kliknite na liniji alata na dugme Query View za povratak u režim za projektovanje, tako što dodajete kriterijum za biranje određene grupe zapisa zasnovanog na datumu porudžbine;2. Odvucite polje DatumPorudzbine u kolonu BrojPorudzbine, da je dodate kao prvu kolonu upita. Polje DatumPorudzbine treba da ograniči datum na opseg datuma;3. Otvorite padajuću listu Total u koloni DatumPorudzbine, i izaberite Where, jer koristite kriterijum u polju DatumPorudzbine;4. U red Criteria kolone DatumPorudzbine, unesite Like "*/03/95" za ograničavanje zbira na porudžbine primljene u martu 1995 (slika 8.3). Kada koristite kriterijum Like, Access dodaje znakove navoda ako ste zaboravili da ih otkucate;

Slika 8.3 Dodavanje kriterijuma Where za ograničavanje zbirova na opseg zapisa

5. Kliknite na liniji alata, na dugme Run za prikazivanje rezultata: broj, ukupna i srednja vrednost porudžbina primljenih meseca marta 1995.

Možete praviti mnogo upotrebljivije grupisanje zapisa zamenom imena polja sa izrazom. Grupišete agregate po godini i mesecu, ili po godini i kvartalu, preko grupisanja po vrednosti izraza koje pravi funkcija Format(). Sledeći koraci prozvode zbirni zapis o prodaji za svaki mesec 1995, poslednje godine za koju je na raspolaganju u tabeli Porudzbine 12 meseci podataka:

Page 6: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

6 Baze podataka - Access

1. Kliknite na liniji alata na dugme Query View i onda kliknite na zaglavlje kolone DatumPorudzbine upita da izaberete prvu kolonu. Pritisnite taster Insert za dodavanje nove, prazne kolone upitu;2. Unesite Mesec: Format([DatumPorudzbine],"yy-mm") u red Field prve (prazne) kolone. Koristite format "yy-mm", tako da su zapisi uređeni prema datumima;3. Izmenite kriterijum Where kolone DatumPorudzbine na Like "*/*/95";4. Kliknite na liniji alata, na dugme Run za prikazivanje rezultata upita. Upit pravi zbirne podatke prodaje za svaki mesec 1995.

Unošenje kriterijuma upitaZa ekperimentisanje sa izrazima kriterijuma upita, sledite ove korake:

1. U prozoru Database kliknite na jezičak Queries, kliknite na dugme New da otvorite novi upit, zatim kliknite na dugme OK kada se pojavi okvir za dijalog New Query;2. Izaberite tabelu Kupci sa liste Tables okvira za dijalog Show Table i kliknite na dugme Add. Ponovite ovaj proces za tabele Porudzbine i DetaljiPorudzbina. Polja SifraKupca tabela Kupci i Porudzbine i polja BrojPorudzbine tabela Porudzbine i DetaljiPorudzbina su spojena; spojevi su obeleženi linijom između polja dve tabele;3. Upitu dodate polja ImeKompanije, PostanskiBroj i Drzava tabele Kupci;4. Dodajte upitu polja BrojPorudzbine, DatumPorudzbine, DatumPosiljke i TroskoviPrevoza tabele Porudzbine. Koristite, ako treba, horizontalne trake za pomeranje ispod rešetke Query Design da se vide dodatna polja kolone. U red Sort polja BrojPorudzbine izaberite Ascending;

5. Kliknite na dugme Totals sa linije alata ili izaberite View, Totals da dodate red Total u rešetku Query Design. Inicijalna vrednost, Group Byje dodata ćeliji Total za svako polje upita;6. Pomerite rešetku tako da se pojavi kolona TroskoviPrevoza. Kliknite na traku za biranje iznad reda Field da izaberete kolonu TroskoviPrevoza i pritisnite taster Insert da dodate novu kolonu;7. Unesite NetoIznos: CCur([Cena]*[Kolicina]*(1-[Popust])) u novu ćeliju Field kolone (slika 9.4). Ovaj izraz izračunava neto iznos svake stavke reda u tabeli Detalji Porudzbina i formatira kolonu kao tip podataka Currency;

Slika 9.4 Projektni izgled upita za ispitivanje korišcenja izraza za biranje zapisa sa vrednostima koje ispunjavaju kriterijume.

8. Pomerite kursor u red Total nove kolone i pritisnite taster F4 da otvorite padajuću listu. Sa liste izaberite Sum (slika 9.4). Opcija Sum sabira neto iznose za sve stavke svih porudžbina u tabeli DetaljiPorudzbina. Red Total za sve ostale kolone upita prikazuje Group By;9. Kliknite na dugme Run, ili na liniji alata Datasheet View za izvršavanje novog upita. Kolona NetoIznos sadrži ukupan iznos porudžbine, i ako postoji, neto iznos popusta.

Korišćenje Expression Buildera za dodavanje kriterijuma upitaPosle izrade i ispitivanja upita, primenite kriterijume da ograničite broj zapisa koje vraća upit. Koristite Expression Builder Accessa da uprostite proces dodavanja kriterijuma za biranje zapisa upitu. Sledite ove korake:

Page 7: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

Operatori i izrazi u Accessu 7

1. Kliknite na dugme Design View sa linije alata da pređete na režim za projektovanje upita;2. Smestite kursor u red Criteria polja za koje želite da utvrdite kriterijum za biranje zapisa;3. Kliknite na dugme Build sa linije alata da prikažete prozor Expression Builder. Alternativni metod je da kliknite desnim dugmetom miša u red Criteria, i onda izaberete Build sa menija;4. U okvir za tekst izraza na vrhu prozora Expression Builder, unesite neki izraz. Slika 9.5 prikazuje primer izraza Like "*shop*" koji se primenjuje na red Criteria kolone ImeKompanije. Koristite dugme Like ispod okvira za tekst izraza kao prečicu za unos Like;5. Kliknite na dugme OK za povratak u rešetku Query Design. U polje gde je smešten kursor, Expression Builder će uneti izraz koji ste napisali (slika 9.5);

Slika 9.5 Unos krterijuma u Expression Builder za izradu krterijuma koji odgovara "shop"

6. Kliknite na dugme Run sa linije alata za ispitivanje izraza; 7. Kada ste završili sa ispitivanjima, snimite upit sa opisnim imenom, kao qryNetoPorudzbina.

Da biste napravili upit koji sadrži izračunata polja, sledite ove korake:1. U prikazu Query Design, pomerite se u prvu praznu kolonu upita qryNetoPorudzbina;

2. Kliknite na dugme Build sa linije alata za korišćenje Expression Builder za unos izraza ili pritisnite Shift+F2, da biste koristili okvir Zoom za unos izraza (slika 9.6):

PrevozPct: Format([TroskoviPrevoza]/[NetoIznos],"Percent")Ako ne ukucate ime polja i znak ":", Access inicijalno obezbeduje Expr1 kao izračunato ime polja;

Slika 9.6 Unošenje izraza u Expression Builder da napravite izračunato polje u upitu

3. Postavite kursor u ćeliju Total i izaberite Expression sa liste, kao na slici 9.7. Ako ne izaberete Expression, upit otvara okvir za dijalog Parameters ili vraća poruku o greški kada pokušate da ga izvršite;4. Izvršite upit.

Page 8: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

8 Baze podataka - Access

Slika 9.7 Projekat upita za dva izracunata polja tabele

Koristite funkciju Format sa izrazom kao prvi argument da prikažete izračunata polja u mnogo čitljivijom obliku. Kada dodate simbol % u format izraza ili definišite "Percent" (procenat) kao format, vrednost argument izraza pomnožena sa 100, i simbol procenta iza razmaka se doda prikazanoj vrednosti.

Problem Kada pokušam da izvršim upit koji sadrži izraz pojavjuje se okvir sa porukom "Can't evaluate expression" ili "Wrong data type".

Rešenje Poruka "Can't evaluate expression" obično pokazuje grešku u kucanju imena funkcije ili objekta. Zavisno od korišćenja funkcije, okvir za dijalog Enter Parameter Value može da se pojavi ako objekat ne postoji. Poruka "Wrong data type" se najverovatnije dešava zbog pokušaja da se koriste matematički ili trigonometrijski operatori sa vrednostima polja tipova podataka Text ili Date/Time. Ako izrazi ukazuju na kontrolni objekat koji je u objektu Form ili Report, obrazac ili izveštaj moraju biti otvoreni kada izvršavate funkciju.

Page 9: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

Operatori i izrazi u Accessu 9

R E Z I M E I V E Ž B E

R e z i m e - a r i t m e t i č k i o p e r a t o r i Aritmetički operatori rade samo sa brojnim vrednostima. Aritmetički izraz mora da ima dva ili više operanda, obično dva numerička polja. Nazivi operanda se uokviruju srednjim zagradama ( ).Ukoliko se radi o izrazu kao novom polju nekog upita (tzv. privremeno polje), naziv novog polja se obavezno završava simbolom dve tačke (:).

Vežbaa) Kreirati novi upit tabele DetaljiPorudzbina. Umetnuti polja BrojPorudzbine, SifraProizvoda, Cena, Kolicina i Popust.b) Formirati privremeno polje IznosStavke kao aritmetički izraz proizvoda količine i cene.c) Formirati privremeno polje IznosPopusta kao aritmetički izraz proizvoda IznosStavke i količnika popusta sa brojem 100.d) Formirati privremeno polje NetoIznos kao aritmetički izraz razlike IznosStavke i IznosPopusta.e) Sačuvajte upit pod nazivom qryStavkePorudzbina.

RešenjeUmetnite polja u rešetku upita tako da sadrži sledeće elemente:

F: BrojPorudzbine SifraProizvoda Cena Kolicina PopustT: DetaljiPorudzbina DetaljiPorudzbina DetaljiPorudzbina DetaljiPorudzbina DetaljiPorudzbina

So:Sh: Cr:or:

F: IznosStavke: [Kolicina]*[Cena] IznosPopusta: [IznosStavke]*[Popust]/100T:

So:Sh: Cr:or:

F: NetoIznos: [IznosStavke]-[IznosPopusta]T:

So:Sh: Cr:or:

R e z i m e - k o r i š ć e n j e S Q L a g r e g a t n i h o p e r a t o r a Zbirna računanja sa poljima tabele uključena u rezultujuće tabele upita koriste SQL agregatne operatore. Access razmatra sve SQL agregatne operatore kao da su članovi klase Total funkcija. Kada

kliknete na dugme Totals , na liniji alata pravite upite koji vraćaju neku ili sve SQL agregatne operatore.

Page 10: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

10 Baze podataka - Access

Vežba 1a) Kreirati novi upit tako što najpre dodate tabelu Porudzbine sa Add, zatim kliknete na jezičak Queries i dodate upit qryStavkePorudzbina iz prethodne vežbe, takođe sa Add. Ukoliko nije definisana relacija, prevucite polje BrojPorudzbine tabele Porudzbine do polja BrojPorudzbine upita qryStavkePorudzbina.

Porudzbine qryStavkePorudzbinaBrojPorudzbine BrojPorudzbineDatumPorudzbine SifraProizvoda******** Cena

KolicinaPopustIznosStavke

b) Formirati privremeno polje UkStavke kao ukupni iznos stavki za svaku porudžbinu posebno.c) Formirati privremeno polje UkPopust kao ukupni iznos popusta za svaku porudžbinu posebno.d) Formirati privremeno polje UkNeto kao ukupni neto iznos za svaku porudžbinu posebno.

RešenjePošto se traže vrednosti za svaku narudžbenicu posebno, grupišemo vrednosti po brojevima narudžbenica operatorom Group By za polje BrojPorudzbine.Kod svih tačaka se traži ukupna vrednost pa zato koristimo operator Sum nad odgovarajućim poljima iz upita qryStavkePorudzbina.

Klikom na postavite sumarne operatore u redu Total. Umetnite polja u rešetku upita i za svako odaberite sa Total liste odgovarajući SQL operator, tako da sadrži sledeće elemente:

F: BrojPorudzbine UkStavke: IznosStavke UkPopust: IznosPopusta UkNeto: NetoIznosT: Porudzbine qryStavkePorudzbina qryStavkePorudzbina qryStavkePorudzbina

Total Group By Sum Sum SumSo: AscendingSh: Cr:

Vežba 2Koja narudžbenica ima najveću ukupnu neto vrednost?

RešenjeIsključimo sortiranje polja BrojPorudzbine (not sorted) prethodne rešetke. Sortirajmo vrednosti ukupnog neta u opadajući niz (Descending) tako da najveća vrednost bude u prvom zapisu rezultata upita.

F: BrojPorudzbine UkStavke: IznosStavke UkPopust: IznosPopusta UkNeto: NetoIznosT: Porudzbine qryStavkePorudzbina qryStavkePorudzbina qryStavkePorudzbina

Total Group By Sum Sum SumSo: (not sorted) DescendingSh: Cr

Kada pokrenemo upit dobijamo da narudžbenica broj 10865 ima najveću vrednost neto iznosa.

Vežba 3Koje su ukupne vrednosti stavki, popusta i neto iznosa svih narudžbenica?

Page 11: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

Operatori i izrazi u Accessu 11

RešenjePolja Group By grupišu sve ostale SQL sumarne vrednosti po vrednostima polja. Ukoliko želimo da prikažemo sumarne vrednosti svih zapisa moramo da isključimo Group By polja iz sumarnog upita.To u konkretnom slučaju znači da iz prethodne rešetke treba da uklonimo Group By polje BrojPorudzbine. Polje uklanjamo (brišemo) tako što selektujemo kolonu polja i pritisnemo taster Del (Delete) sa tastature. Tako će rešetka imati isti izgled kao prethodna, osim što nema polja BrojPorudzbine.

F: UkStavke: IznosStavke UkPopust: IznosPopusta UkNeto: NetoIznosT: qryStavkePorudzbina qryStavkePorudzbina qryStavkePorudzbina

Total Sum Sum SumSo:Sh: Cr:

Vežba 4Koje su ukupne vrednosti stavki, popusta i neto iznosa narudžbenice broj 10350?

RešenjePolje Where je polje kriterijuma sumarnog upita. To u konkretnom slučaju znači da u prethodnu rešetke treba da vratimo Group By polje BrojPorudzbine, prevlačenjem, a zatim da to polje sa Total liste prevedemo u Where polje. U red Criteria ukucamo 10350.

F: BrojPorudzbine UkStavke: IznosStavke UkPopust: IznosPopusta UkNeto: NetoIznosT: Porudzbine qryStavkePorudzbina qryStavkePorudzbina qryStavkePorudzbina

Total Where Sum Sum SumSo:Sh: Cr: 10350

R e z i m e - o p e r a t o r i p o r e đ e n j aOperatori poređenja porede vrednosti dva operanda i vraćaju logičke vrednosti (True ili False), zavisno od relacije između dva operanda i operatora. Izuzetak je kad jedan od operanda ima vrednost Null; kako Null predstavlja nepoznatu vrednost, ne možete porediti poznatu sa nepoznatom vrednosti, niti da dođete do validnog True ili False zaključka.

Vežba Koje narudžbenice imaju ukupnu neto vrednost koja nije u opsegu od 50$ do 10,000$?

RešenjeUkupan neto je ili manji od 50$ ili veći od 100$.

F: BrojPorudzbine UkStavke: IznosStavke UkPopust: IznosPopusta UkNeto: NetoIznosT: Porudzbine qryStavkePorudzbina qryStavkePorudzbina qryStavkePorudzbina

Total Group By Sum Sum SumSo: DescendingSh: Cr: <50$or: >100$

R e z i m e - l o g i č k i o p e r a t o r iLogički oparatori (ili Bulovi operatori) se najčešće koriste da kombinuju rezultate dva ili više izraza poređenja u jedan rezultat. Logički operatori mogu kombinovati samo izraze koji vraćaju logičke vrednosti True, False ili Null.

Page 12: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

12 Baze podataka - Access

Vežba 1Rešetka upita već sadrži logičke operatore And i Or kod kriterijuma. Primeri korišćenja ovih operatora dati su kod razmatranja složenih kriterijuma opštih upita. Analizirajte rešenja sa stanovišta logičkih operatora.

Vežba 2Koje narudžbenice imaju ukupnu neto vrednost u opsegu od 50$ do 100$?

Rešenje 1Ukupan neto nije manji od 50$ i nije veći od 100$.

F: UkNeto: NetoIznosT: qryStavkePorudzbina

Total SumSo: DescendingSh: Cr: (Not <50) And (Not >100)

Rešenje 2Ukupan neto je veći od 50$ i manji od 100$.

F: UkNeto: NetoIznosT: qryStavkePorudzbina

Total SumSo: DescendingSh: Cr: >50 And <100

R e z i m e - o s t a l i o p e r a t o r iOstali operatori Accessa su povezani sa operatorima poređenja. Ovi operatori vraćaju True ili False, zavisno od toga da li vrednost u polju zadovoljava izabrane osobine operatora.Operator Like koristi džoker znake * i ?. Džoker (*) (često nazvan i zvezdica) služi umesto proizvoljnog broja karaktera. (?) označava mesto jednog karaktera.

Vežba 1Prikažite sve narudžbenice za mart 1995.

Rešenje Najpre u postojeći upit umetnite polje DatumPorudzbine tabele Porudzbine.Kriterijum postavite na jedan od tri načina:

F: DatumPorudzbineT: Porudzbine

Total Group BySo: AscendingSh: Cr: Like "*/03/95"

F: DatumPorudzbineT: Porudzbine

Total Group BySo: AscendingSh: Cr: Like "??/03/95"

F: DatumPorudzbine

Page 13: UVOD U UPITE - biljanaivanovic.files.wordpress.com  · Web viewOperatori i izrazi u Accessu. Da biste efikasno koristili Access, morate znati da napravite proste izraze koje koriste

Operatori i izrazi u Accessu 13

T: PorudzbineTotal Group By

So: AscendingSh: Cr: Between #01/03/95# And #31/03/95#

Vežba 2Prikažite narudžbenicu 10865 i 10315.

Rešenje Najpre obrišite sve prethodne kriterijume.Kriterijum za polje BrojPorudzbine postavite na jedan od dva načina:

F: BrojPorudzbineT: Porudzbine

Total Group BySo: AscendingSh: Cr: 10865or: 10315

F: BrojPorudzbineT: Porudzbine

Total Group BySo: AscendingSh: Cr: In (10865,10315)or: