Vodič kroz sintaksu izraza

Vodič kroz sintaksu izraza

Kada koristite Microsoft Access, često morate raditi s vrijednostima koje se ne nalaze izravno u vašim podacima. Možda ćete, primjerice, poželjeti izračunati porez za narudžbu ili pak ukupnu vrijednost same narudžbe. Te vrijednosti možete izračunati pomoću izraza. Da biste koristili izraze, morate ih napisati koristeći pravilnu sintaksu. Sintaksa je skup pravila prema kojima se riječi i simboli u izrazu pravilno kombiniraju. U početku je izraze u programu Access malo teže pročitati. Uz dobro razumijevanje sintakse izraza i malo prakse, to će postati mnogo lakše.

Sadržaj članka

Pregled izraza

Komponente izraza

Objekti, zbirke i svojstva

Identifikatori

Funkcije, operatori, konstante i vrijednosti

Ograničenje od 65 razina ugnježđivanja u aplikacijama ili web-bazama podataka

Pregled izraza

Izraz je kombinacija nekih od sljedećih elemenata ili pak svih njih: ugrađenih ili korisnički definiranih funkcija, identifikatora, operatora, vrijednosti i konstanti. Svaki izraz izračunava jednu vrijednost.

Komponente izraza

Sljedeći izraz, primjerice, sadrži sljedeće česte komponente:

=Sum([Purchase Price])*0.08 
  • Sum() predstavlja ugrađenu funkciju

  • [Purchase Price] predstavlja identifikator

  • * predstavlja matematički operator

  • 0.08 predstavlja konstantu

Ovaj se izraz može koristiti u tekstnom okviru u podnožju obrasca ili podnožju izvješća radi izračuna poreza za skupinu stavki.

Izrazi mogu biti puno složeniji ili jednostavniji od tog primjera. Primjerice, ovaj booleovski izraz sastoji se samo od operatora i konstante:

>0

Taj izraz vraća sljedeći rezultat:

  • True kad se uspoređuje s brojem većim od 0.

  • False kad se uspoređuje s brojem manjim od 0.

Taj izraz možete koristiti u svojstvu ValidationRule kontrole ili polja tablice da biste bili sigurni da se unose samo pozitivne vrijednosti. Izrazi se koriste na mnogim mjestima radi izračuna, upravljanja znakovima ili testiranja podataka. Tablice, upiti, obrasci, izvješća i makronaredbe sadrže svojstva koja prihvaćaju izraze. Izraze možete, primjerice, koristiti u svojstvima ControlSource i DefaultValue za kontrolu. Osim toga, možete ih koristiti i u svojstvu ValidationRule za polje tablice.

Vrh stranice

Komponente izraza

Da biste sastavili izraz, identifikatore kombinirate pomoću funkcija, operatora, konstanti i vrijednosti. Da bi izraz bio valjan, mora sadržavati barem jednu funkciju ili barem jedan identifikator, a može sadržavati i konstante ili operatore. Izraz možete koristiti i kao dio drugog izraza, obično kao argument funkcije. Taj se postupak zove ugniježđivanje izraza.

  • Identifikatori    Općeniti je oblik sljedeći:

    [Collection name]![Object name].[Property name]

    Da bi identifikator bio jedinstven u kontekstu izraza, potrebno je odrediti samo dovoljan broj njegovih dijelova. Identifikatori često imaju oblik [Object name].

  • Funkcije    Općeniti je oblik sljedeći:

    Function(argument, argument)

    Jedan od argumenata obično je identifikator ili izraz. Za neke funkcije nisu potrebni argumenti. Prije no što upotrijebite određenu funkciju, pregledajte njezinu sintaksu. Dodatne informacije potražite u članku Funkcije (po kategorijama).

  • Operatori    Općeniti je oblik sljedeći:

    Identifier operator identifier

    Operator ne mora uvijek imati takav oblik, kao što je navedeno u odjeljku Operatori.

  • Konstante    Općeniti je oblik sljedeći:

    Identifier comparison_operator  constant
  • Vrijednosti    Vrijednosti se mogu pojaviti na mnogim mjestima u izrazu.

Vrh stranice

Objekti, zbirke i svojstava

Sve tablice, upiti, obrasci, izvješća i polja u bazi podataka programa Access pojedinačno se nazivaju objekti. Svaki objekt ima svoj naziv. Nekim je objektima naziv već dodijeljen, primjerice tablici Kontakti u bazi podataka stvorenoj pomoću predloška Kontakti u programu Microsoft Office Access. Kada stvorite novi objekt, dodijelite mu naziv.

Skup svih članova određene vrste objekta naziva se zbirka. Zbirka je, primjerice, skup svih tablica u bazi podataka. Neki objekti koji su članovi zbirke u vašoj bazi podataka mogu i sami biti zbirke koje sadrže druge objekte. Na primjer, objekt tablice zbirka je koja sadrži objekte polja.

Objekti imaju svojstva koja opisuju karakteristike objekta i omogućuju njihovu promjenu. Objekt upita, primjerice, ima svojstvo Zadani prikaz koje opisuje izgled upita prilikom pokretanja i omogućuje vam promjenu tog izgleda.

Na sljedećem su dijagramu prikazani odnosi između zbirki, objekata i svojstava:

Odnosi između zbirki, objekata i svojstava

3 Svojstvo

2 Objekt

1 Zbirka

Vrh stranice

Identifikatori

Kada u izrazu koristite objekt, zbirku ili svojstvo, referencu na taj element stvarate pomoću identifikatora. Identifikator sadrži naziv samog elementa, kao i naziv elementa kojem pripada. Identifikator za polje, primjerice, sadrži naziv tog polja i naziv tablice kojoj ono pripada. Primjer takvog identifikatora glasi:

[Customers]![BirthDate]

U nekim je slučajevima identifikator sam naziv elementa. To vrijedi kada je naziv elementa jedinstven u kontekstu izraza koji stvarate. Ostatak identifikatora određuje se iz konteksta. Ako, primjerice, dizajnirate upit koji koristi samo jednu tablicu, nazivi polja funkcionirat će kao identifikatori jer nazivi polja u tablici moraju u toj tablici biti jedinstveni. Budući da koristite samo jednu tablicu, njezin se naziv može odrediti iz svakog identifikatora koji u upitu koristite radi referiranja na polje.

U drugim slučajevima morate točno navesti dijelove identifikatora da bi referenca funkcionirala. To vrijedi kada identifikator nije jedinstven u kontekstu izraza. Ako postoji dvosmislenost, morate eksplicitno navesti dovoljno dijelova identifikatora da bi on bio jedinstven u kontekstu. Pretpostavimo, primjerice, da dizajnirate upit koji koristi tablicu naziva Products i tablicu naziva Orders, a obje tablice imaju polje naziva ProductID. U tom slučaju identifikator koji koristite u upitu da biste se referirali na polje ProductID mora osim naziva polja sadržavati i naziv tablice, primjerice:

[Products]![ProductID]

Operatori identifikatora    U identifikatoru možete koristiti sljedeća tri operatora:

  • Operator uskličnika (!)

  • Operator točke (.)

  • Operator uglatih zagrada ([ ])

Te operatore koristite tako da svaki dio identifikatora stavite u uglate zagrade, a zatim ih povežete pomoću operatora uskličnika ili točke. Identifikator polja s nazivom LastName u tablici Employees, primjerice, može se izraziti kao [Employees]![Last Name]. Operator uskličnika programu Access govori da slijedi objekt koji pripada zbirci koja je navedena prije operatora uskličnika. U ovom je slučaju [LastName] objekt polja koji pripada zbirci [Employees] koja je pak objekt tablice.

Unos uglatih zagrada oko identifikatora ili djelomičnog identifikatora nije uvijek nužan. Ako u identifikatoru nema razmaka ni drugih posebnih znakova, Access prilikom čitanja izraza automatski dodaje uglate zagrade. Međutim, preporučujemo da sami unosite zagrade – time ćete izbjeći pogreške, a zagrade će vam koristiti i kao vizualni podsjetnik da je određeni dio izraza identifikator.

Vrh stranice

Funkcije, operatori, konstante i vrijednosti

Da biste stvorili izraz, nisu dovoljni samo identifikatori – morate izvršiti i neku radnju. Da biste izvodili radnje u izrazu, koristite funkcije, operatore i konstante.

Funkcije

Funkcija je procedura koju možete upotrijebiti u izrazu. Neke funkcije, primjerice Date, ne zahtijevaju ulazne podatke da bi funkcionirale. Većina funkcija ipak zahtijeva ulazne podatke, odnosno argumente.

U primjeru s početka ovog članka funkcija DatePart koristi dva argumenta: argument intervala, koji sadrži vrijednost "yyyy", i argument datuma, koji sadrži vrijednost [Customers]![BirthDate]. Funkciji DatePart potrebna su najmanje dva argumenta (intervala i datuma), no može prihvatiti i do četiri argumenta.

Na sljedećem su popisu navedene uobičajene funkcije koje se koriste u izrazima. Kliknite vezu za pojedinu funkciju da biste saznali sintaksu koju morate za nju koristiti.

  • Funkcija Date koristi se za umetanje trenutnog datuma sustava u izraz. Obično se koristi u kombinaciji s funkcijom Format ili pak s identifikatorima polja za ona polja koja sadrže podatke o datumu/vremenu.

    =Date()
  • Funkcija DatePart koristi se za utvrđivanje ili izdvajanje određenog dijela datuma; obično je to datum dobiven iz identifikatora polja, ali vrijednost datuma ponekad može vratiti i druga funkcija, primjerice funkcija Date.

    DatePart ( "yyyy", Date())
  • Funkcija DateDiff koristi se za utvrđivanje razlike između dva datuma; obično između datuma dobivenog iz identifikatora polja i datuma dobivenog pomoću funkcije Date.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • Funkcija Format koristi se za primjenu oblikovanja na identifikator i rezultate neke druge funkcije.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • Funkcija IIf koristi se da bi se odredilo je li izraz istinit (true) ili neistinit (false) te da bi se u slučaju da je izraz istinit vratila jedna vrijednost, a u slučaju da je neistinit druga vrijednost.

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • Funkcija InStr koristi se za traženje položaja znaka ili niza unutar drugog niza. Niz koji je potrebno pronaći obično se dobiva iz identifikatora polja.

    InStr(1,[IPAddress],".")
  • Funkcije Left, Mid i Right koriste se za izdvajanje znakova iz polja, počevši od znaka na krajnjem lijevom položaju (Left), znaka na određenom položaju u sredini (Mid) ili znaka na krajnjem desnom položaju (Right). Te se funkcije obično koriste zajedno s funkcijom InStr. Niz iz kojeg funkcije izdvajaju znakove obično se dobiva iz identifikatora polja.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

Popis funkcija potražite u članku Funkcije (poredane po kategoriji).

Operatori

Operator je riječ ili simbol koji označava specifičan aritmetički ili logički odnos između ostalih elemenata u izrazu. Operatori mogu biti:

  • aritmetički, primjerice znak plus (+)

  • operatori usporedbe, primjerice znak jednakosti (=)

  • logički, primjerice Not

  • operatori povezivanja, primjerice &

  • posebni operatori, primjerice Like

Operatori se obično koriste za prikaz odnosa između dvaju identifikatora. U sljedećim su tablicama opisani operatori koje možete koristiti u izrazima programa Access.

Aritmetički operatori   

Aritmetičke operatore koristite za izračun vrijednosti pomoću dvaju ili više brojeva ili da biste promijenili predznak broja iz pozitivnog u negativni.

Operator

Svrha

Primjer

+

Zbrajanje dvaju brojeva.

[Podzbroj]+[ProdPorez]

-

Traženje razlike između dvaju brojeva ili označavanje negativne vrijednosti broja.

[Cijena]-[Popust]

*

Množenje dvaju brojeva.

[Količina]*[Cijena]

/

Dijeljenje prvog broja drugim.

[UkupniZbroj]/[BrojArtikala]

\

Zaokruživanje obaju brojeva na cijele brojeve, dijeljenje prvog broja drugim, a zatim skraćivanje rezultata na cijeli broj.

[Prijavljeni]\[Sobe]

Mod

Dijeljenje prvog broja drugim, a zatim prikaz samo ostatka dijeljenja.

[Prijavljeni] Mod [Sobe]

^

Potenciranje broja na eksponent.

Broj ^ Eksponent

Operatori usporedbe    

Operatore usporedbe koristite da biste usporedili vrijednosti i vratili rezultat koji je True, False ili Null (nepoznata vrijednost).

Operator

Svrha

<

Utvrđuje je li prva vrijednost manja od druge vrijednosti.

<=

Utvrđuje je li prva vrijednost manja od druge vrijednosti ili joj je pak jednaka.

>

Utvrđuje je li prva vrijednost veća od druge vrijednosti.

>=

Utvrđuje je li prva vrijednost veća od druge vrijednosti ili joj je pak jednaka.

=

Utvrđuje je li prva vrijednost jednaka drugoj vrijednosti.

<>

Utvrđuje je li prva vrijednost različita od druge vrijednosti.

U svakom slučaju, ako je prva ili druga vrijednost Null, rezultat je također Null. Budući da Null predstavlja nepoznatu vrijednost, nepoznat je i rezultat bilo koje usporedbe s vrijednosti Null.

Logički operatori    

Logičke operatore koristite za kombiniranje dvaju vrijednosti i vraćanje rezultata True, False ili Null. Logički operatori ponekad se nazivaju i Booleovi operatori.

Operator

Namjena

Opis

And

Izraz1 And Izraz2

True kada su Izraz1 i Izraz2 istiniti.

Or

Izraz1 Or Izraz2

True ako je Izraz1 ili Izraz2 istinit.

Eqv

Izraz1 Eqv Izraz2

True kada su Izraz1 i Izraz2 istiniti ili kada su Izraz1 i Izraz2 neistiniti.

Not

Not Izraz

True ako Izraz nije istinit.

Xor

Izraz1 Xor Izraz2

True ako je Izraz1 ili Izraz2 istinit, ali ne ako su oba istinita.

Operatori povezivanja    

Operatori povezivanja koriste se za objedinjavanje dvije tekstne vrijednosti u jedan niz.

Operator

Namjena

Opis

&

niz1 & niz2

Spaja dva niza u jedan.

+

niz1 + niz2

Spaja dva niza u jedan uz prijenos null vrijednosti.

Posebni operatori    

Posebne operatore koristite u skladu s opisima u sljedećoj tablici.

Operator

Opis

Dodatne informacije

Is Null or Is Not Null

Određuje je li vrijednost Null ili nije Null.

Like "pattern"

Povezuje vrijednosti niza pomoću zamjenskih operatora ? i *.

Operator Like

Between val1 And val2

Utvrđuje je li brojčana vrijednost ili vrijednost datuma unutar raspona.

Operator Between...And

In(string1,string2...)

Utvrđuje nalazi se vrijednost niza unutar skupa vrijednosti niza.

Operator In

Konstante

Konstanta je poznata vrijednost koji se ne mijenja i koju možete koristiti u izrazu. U programu Access najčešće se koriste četiri konstante:

  • True označava nešto što je logički istinito.

  • False označava nešto što je logički neistinito.

  • Null označava nedostatak poznate vrijednosti.

  • "" (empty string) označava vrijednost za koju je poznato da je prazna.

Konstante se mogu koristiti kao argumenti funkcije, a mogu se koristiti i u izrazima kao dio kriterija. Konstantu praznog niza ("") možete, primjerice, upotrijebiti kao dio kriterija za stupac u upitu da biste procijenili vrijednosti polja za taj stupac. Da biste to učinili, unesite sljedeće kao kriterij: <>"". U ovom je primjeru <> operator, a "" konstanta. Kada ih koristite zajedno, oni označavaju da je identifikator na koji ih primjenjujete potrebno usporediti s praznim nizom. Dobiveni je izraz istinit (true) kada je vrijednost identifikatora bilo što osim praznog niza.

Budite oprezni prilikom korištenja konstante Null. Korištenje konstante Null zajedno s operatorom usporedbe u većini će slučajeva rezultirati pogreškom. Ako u izrazu vrijednost želite usporediti s konstantom Null, upotrijebite operator Is Null ili Is Not Null.

Vrijednosti

Možete koristiti doslovne vrijednosti u izrazima, primjerice broj 1254 ili niz "Unesite broj između 1 i 10". Možete koristiti i numeričke vrijednosti, koje mogu biti niz znamenki, uključujući predznak i decimalni zarez ako je potrebno. Ako nema predznaka, Access pretpostavlja da je vrijednost pozitivna. Da biste vrijednost učinili negativnom, uvrstite negativni predznak (-). Možete koristiti i znanstvenu notaciju. Da biste to učinili, uvrstite "E" ili "e" i znak eksponenta (primjerice 1,0E-6).

Kada koristite tekstne nizove, stavite ih u navodnike da bi ih Access ispravno protumačio. U nekim slučajevima Access sam stavlja navodnike. Kada, primjerice, upišete tekst u izrazu za pravilo provjere valjanosti ili kriterij upita, Access te tekstne nizove automatski stavlja u navodnike.

Ako, primjerice, upišete tekst Paris, Access u izrazu prikazuje "Pariz". Ako želite izrazom stvoriti niz u navodnicima, niz stavite u jednostruke (') navodnike ili u tri para dvostrukih (") navodnika. Sljedeći su primjeri izraza ekvivalentni:

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

Da biste koristili vrijednosti datuma/vremena, vrijednost stavite između znakova ljestvi (#). Primjeri #7-3-17#, #7-ožu-17# i #ožu-7-2017# svi predstavljaju valjane vrijednosti datuma/vremena. Kada Access naiđe na valjanu vrijednost datuma/vremena omeđenu znakovima #, on automatski tretira tu vrijednost kao da pripada vrsti podataka datum/vrijeme.

Vrh stranice

Ograničenje od 65 razina ugnježđivanja u aplikacijama ili web-bazama podataka

Izrazi ugniježđeni ispod 65. razine neće funkcionirati u pregledniku, pa takve izraze ne biste trebali koristiti u web-bazi podataka programa Access. Nećete primiti nikakve poruke o pogreškama, već izraz jednostavno neće funkcionirati.

Korištenje operatora &, AND i OR može stvoriti dodatne razine ugnježđivanja na poslužitelju koje se ne odražavaju u klijentu programa Access. Izraz "a" & "b" & "c", primjerice, nije ugniježđen u sastavljaču izraza, ali u sustavu SharePoint pretvara se u concatenate.Db("a", concatenate.Db("b", "c") ). Tim se prijevodom stvara jedna razina ugnježđivanja. Ako u jednom izrazu koristite mnogo uzastopnih operatora &, AND ili OR, mogli biste premašiti ograničenje od 65 razina na poslužitelju, pa izraz tada više neće funkcionirati u pregledniku.

Vrh stranice

Dodatni sadržaji

Korištenje sastavljača izraza

Uvod u izraze

Sastavljanje izraza

Primjeri izraza

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×