Primjeri izraza

Primjenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Članak sadrži primjere izraza u programu Access. Izraz u jednu vrijednost kombinira matematičke i logičke operatore, konstante, funkcije, polja tablice, kontrole i svojstva. Izraze u programu Access možete koristiti za izračun vrijednosti, provjeru valjanosti podataka i postavljanje zadanih vrijednosti.

Sadržaj članka

Obrasci i izvješća

Svi izrazi obrazaca i izvješća

Tekstne operacije; vrijednosti u drugim kontrolama; Operacije datuma zaglavlja i podnožjabrojanje, zbroj i prosječne vrijednosti; Uvjeti samo dviju vrijednosti Aritmetičke operacije; SQL funkcije zbrajanja

Upiti i filtri

Svi izrazi upita i filtriranja

Tekstne operacije; SQL funkcije zbrajanja; usklađivanje s tekstnim vrijednostimaUparivanje uzoraka zapisa s oznakom Sviđa mi se; Upiti s ažuriranjem Aritmetičke operacije; pronalaženje podataka koji nedostaju; Ispunjavanje datumskih kriterija; uparivanje redaka SQL agregacijamaSQL naredbe operacije datuma; izračunata polja s podupitimapolja s nedostajućim podacimaUsklađivanje polja s podupitima

Tablice

Svi izrazi tablice

Zadane vrijednosti polja Pravila provjere valjanosti polja

Makronaredbe

Svi makroizrazi

Obrasci i izvješća

Tablice u tom odjeljku prikazuju izraze koji izračunavaju vrijednost kontrole u obrascu ili izvješću. Da biste stvorili izračunatu kontrolu, unesite izraz u ControlSource svojstvo kontrole umjesto u polje tablice ili upit.

Napomena

Izraze možete koristiti u obrascu ili izvješću i kad uvjetnim oblikovanjem ističete podatke.

Operacije s tekstom

Izrazi u sljedećoj tablici koriste & operatore (ampersand) i + (plus) za kombiniranje tekstnih nizova, upotrebu ugrađenih funkcija za rad s tekstom ili neki drugi način stvaranje izračunate kontrole.

Izraz Rezultat
="N/A" Prikazuje Nije dostupno.
=[FirstName] & " " & [LastName] Prikazuje vrijednosti koje se nalaze u poljima tablice Ime i Prezime. U ovom se primjeru & operator koristi za kombiniranje polja Ime, znaka razmaka (u navodnicima) i polja Prezime.
=Left([ProductName], 1) Koristi funkciju Left za prikaz prvog znaka vrijednosti u polju ili kontroli pod nazivom ProductName.
=Right([AssetCode], 2) Koristi funkciju Right za prikaz posljednja dva znaka vrijednosti u polju ili kontroli pod nazivom AssetCode.
=Trim([Address]) Pomoću Trim funkcije prikazuje vrijednost Address kontrole nakon uklanjanja početnih i završnih razmaka.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Koristi funkciju IIf za prikaz vrijednosti operatora i CityPostalCode kontrolira ako Region je vrijednost kontrole null. U suprotnom prikazuje vrijednosti City, Regioni PostalCode kontrola odvojene razmacima.
=[City] & (" " + [Region]) & " " & [PostalCode] Koristi + operator i prijenos vrijednosti null za prikaz vrijednosti operatora City i PostalCode određuje je li vrijednost u polju Region ili kontroli null. U suprotnom prikazuje vrijednosti Citypolja , Regioni PostalCode polja ili kontrole odvojene razmacima. Prijenos vrijednosti null znači da ako bilo koji dio izraza ima vrijednost null, cijeli je izraz null. Operator + podržava prijenos vrijednosti null, ali ga operator ne podržava.&

Povratak na vrh

Zaglavlja i podnožja

Svojstva Page and Pages koristite za prikaz ili ispis brojeva stranica u obrascima ili izvješćima. Ta su svojstva dostupna samo tijekom ispisa ili pretpregleda ispisa pa se ne pojavljuju na listu svojstava obrasca ili izvješća. Obično tekstni okvir smjestite u odjeljak zaglavlja ili podnožja obrasca ili izvješća, a zatim upotrijebite izraz sličan onom prikazanom u sljedećoj tablici.

Dodatne informacije o korištenju zaglavlja i podnožja u obrascima i izvješćima potražite u članku Umetanje brojeva stranica u obrazac ili izvješće.

Izraz Rezultat
=[Page] 1
="Page " & [Page] Okno zadatka Provjera pristupačnosti s rezultatima provjere pristupačnosti
="Page " & [Page] & " of " & [Pages] Stranica 1 od 3
=[Page] & " of " & [Pages] & " Pages" 1 od 3 str.
=[Page] & "/" & [Pages] & " Pages" 1/3 str.
=[Country/region] & " - " & [Page] Hrvatska – 1
=Format([Page], "000") 001
="Printed on: " & Date() Ispisano: 12/31/17

Povratak na vrh

Aritmetičke operacije

Pomoću izraza možete zbrajati, oduzimati, množiti i dijeliti vrijednosti u dva ili više polja ili kontrola. Pomoću izraza možete i izvoditi aritmetičke operacije s datumima. Recimo da imate datumsko-vremensko polje tablice pod nazivom TraženiDatum. U polju ili kontroli koja je povezana s poljem izraz =[RequiredDate] - 2 vraća vrijednost datuma/vremena koja je dva dana prije trenutnih vrijednosti u polju TraženiDatum.

Izraz Rezultat
=[Subtotal]+[Freight] Zbroj vrijednosti polja ili kontrola Podzbroj i Vozarina.
=[RequiredDate]-[ShippedDate] Interval između vrijednosti datuma polja ili kontrola TraženiDatum i DatumOtpreme.
=[Price]*1.06 Umnožak vrijednosti polja ili kontrole Cijena i broja 1,06 (povećava vrijednost polja Cijena za 6 %).
=[Quantity]*[Price] Umnožak vrijednosti polja ili kontrola Količina i Cijena.
=[EmployeeTotal]/[CountryRegionTotal] Kvocijent vrijednosti polja ili kontrola EmployeeTotal i CountryRegionTotal.

Napomena

Kada u izrazu koristite aritmetički operator (+, -, *, ili /), a jedna od kontrola ima vrijednost null, rezultat cijelog izraza ima vrijednost null. To se naziva prijenosom vrijednosti null. Ako kontrola možda ima vrijednost null, prijenos vrijednosti null možete izbjeći tako da vrijednost null pretvorite u nulu pomoću funkcije Nz . Koristite =Nz([Subtotal])+Nz([Freight]), primjerice, .

Povratak na vrh

Vrijednosti u drugim kontrolama

Katkad vam je potrebna vrijednost koja se nalazi negdje drugdje, npr. u polju ili kontroli u nekom drugom obrascu ili izvješću. Pomoću izraza možete vratiti vrijednost iz nekog drugog polja ili kontrole.

U tablici u nastavku navedeni su primjeri izraza koje možete koristiti u kontrolama izračuna u obrascima.

Izraz Rezultat
=Forms![Orders]![OrderID] Vrijednost kontrole IDnarudžbe u obrascu Narudžbe.
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] Vrijednost kontrole PodzbrojNarudžbi u podobrascu Podobrazac narudžbi u obrascu Narudžbe.
=Forms![Orders]![Orders Subform]![ProductID].Column(2) Vrijednost trećeg stupca u okviru s popisom s više stupaca IDproizvoda u podobrascu Podobrazac narudžbi u obrascu Narudžbe. (Imajte na umu da se 0 odnosi na prvi stupac, 1 na drugi itd.)
=Forms![Orders]![Orders Subform]![Price] * 1.06 Umnožak vrijednosti kontrole Cijena u podobrascu Podobrazac narudžbi u obrascu Narudžbe i broja 1,06 (vrijednost kontrole Cijena povećava za 6 %).
=Parent![OrderID] Vrijednost kontrole IDnarudžbe u glavnom ili nadređenom obrascu trenutnog podobrasca.

Izrazi u tablici u nastavku pokazuju neke od načina korištenja kontrola izračuna u izvješćima. Izrazi se pozivaju na svojstvo Report.

Izraz Rezultat
=Report![Invoice]![OrderID] Vrijednost kontrole "IDnarudžbe" u izvješću "Faktura".
=Report![Summary]![Summary Subreport]![SalesTotal] Vrijednost kontrole UkupnaProdaja u podizvješću Podizvješće sažetka u izvješću Sažetak.
=Parent![OrderID] Vrijednost kontrole IDnarudžbe u glavnom ili nadređenom obrascu trenutnog podizvješća.

Povratak na vrh

Vrijednosti funkcija Count, Sum i Average

Vrsta funkcije pod nazivom agregacijska funkcija omogućuje izračunavanje vrijednosti za jedno ili više polja ili kontrola. Možete, primjerice, izračunati ukupni zbroj grupe za podnožje grupe u izvješću ili podzbroj narudžbe za stavke u obrascu. Možete i utvrditi broj stavki u jednom ili više polja ili pak izračunati prosječnu vrijednost.

Izrazi u tablici u nastavku pokazuju neke od načina korištenja funkcija kao što su Avg, Count i Sum.

Izraz Opis
=Avg([Freight]) Pomoću funkcije Avg prikazuje prosjek vrijednosti polja tablice ili kontrole "Vozarina".
=Count([OrderID]) Pomoću funkcije Count prikazuje broj zapisa u kontroli IDnarudžbe.
=Sum([Sales]) Pomoću funkcije Sum prikazuje zbroj vrijednosti kontrole Prodaja.
=Sum([Quantity]*[Price]) Pomoću funkcije Sum prikazuje zbroj umnoška vrijednosti kontrola Količina i Cijena.
=[Sales]/Sum([Sales])*100 Prikazuje postotak prodaje dijeljenjem vrijednosti Sales kontrole sa zbrojem svih vrijednosti u kontroli Sales . Ako ste svojstvo Format kontrole postavili na Percent, nemojte ga uvrstiti *100 u izraz.

Dodatne informacije o korištenju agregacijskih funkcija i ukupnih vrijednosti u polju i stupcima potražite u člancima Zbrajanje podataka pomoću upita, Brojanje podataka pomoću upita, Prikaz ukupnih zbrojeva stupaca u podatkovnoj tablici pomoću retka ukupnog zbroja i Prikaz ukupnih zbrojeva stupaca u podatkovnoj tablici.

Povratak na vrh

SQL agregacijske funkcije

SQL ili domenske agregacijske funkcije koristite kada morate selektivno zbrojiti ili prebrojiti vrijednosti. "Domena" se sastoji od jednog ili više polja u jednoj ili više tablica ili pak od jedne ili više kontrola u jednom ili više obrazaca ili izvješća. Vrijednosti u polju tablice, primjerice, možete usporediti s vrijednostima u kontroli u obrascu.

Izraz Opis
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) Pomoću funkcije DLookup vraća vrijednost polja ImeKontakta u tablici Dobavljači kada se vrijednost polja IDdobavljača u tablici podudara s vrijednošću kontrole IDdobavljača u obrascu Dobavljači.
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) Pomoću funkcije DLookup vraća vrijednost polja ImeKontakta u tablici Dobavljači kada se vrijednost polja IDdobavljača podudara s vrijednošću kontrole IDdobavljača u obrascu Novi dobavljači.
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") Pomoću funkcije DSum vraća ukupni zbroj vrijednosti u polju IznosNarudžbe u tablici Narudžbe kada je IDkupca RATTC.
=DCount("[Retired]","[Assets]","[Retired]=Yes") Pomoću funkcije DCount vraća broj vrijednosti Da u polju Otpisano (polje Da/ne) u tablici Imovina.

Povratak na vrh

Operacije s datumom

Praćenje datuma i vremena osnovna je aktivnost baze podataka. Možete, primjerice, izračunati koliko je dana prošlo od datuma ispostave fakture radi ažuriranja popisa potraživanja. Datume i vremena možete oblikovati na brojne načine navedene u tablici u nastavku.

Izraz Opis
=Date() Koristi funkciju Date za prikaz trenutnog datuma u obliku mm-dd-yy, gdje mm je mjesec (od 1 do 12), dd dan je (od 1 do 31) i yy posljednje dvije znamenke godine (od 1980. do 2099.).
=Format(Now(), "ww") Koristi funkciju Format za prikaz broja tjedna u godini za trenutni datum, pri čemu ww se odnosi na tjedne od 1. do 53.
=DatePart("yyyy", [OrderDate]) Pomoću funkcije DatePart prikazuje četveroznamenkastu godinu vrijednosti kontrole DatumNarudžbe.
=DateAdd("y", -10, [PromisedDate]) Pomoću funkcije DateAdd prikazuje datum koji za 10 dana prethodi vrijednosti kontrole ObećaniDatum.
=DateDiff("d", [OrderDate], [ShippedDate]) Pomoću funkcije DateDiff prikazuje razliku u danima između vrijednosti kontrola DatumNarudžbe i DatumOtpreme.
=[InvoiceDate] + 30 Pomoću aritmetičkih operacija s datumima izračunava datum koji nastupa 30 dana nakon datuma u polju ili kontroli DatumFakture.

Povratak na vrh

Uvjeti sa samo dvije vrijednosti

Ogledni izrazi u tablici u nastavku pomoću funkcije IIf vraćaju jednu od dviju mogućih vrijednosti. Funkciji IIf prosljeđujete tri argumenta: Prvi je argument izraz koji mora vratiti vrijednost a True ili False . Drugi je argument vrijednost koja će se vratiti ako izraz bude imao vrijednost True, a treći je argument vrijednost koja će se vratiti ako izraz bude imao vrijednost False.

Izraz Opis
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") Koristi funkciju IIf (Immediate If) za prikaz poruke "Potvrda narudžbe" ako je Yesvrijednost kontrole Potvrđeno; u suprotnom prikazuje poruku "Order Not Confirmed."
=IIf(IsNull([Country/region]), " ", [Country]) Pomoću funkcija IIf i IsNull prikazuje prazan niz ako kontrola Država/regija ima vrijednost null. U suprotnom prikazuje vrijednost kontrole Država/regija.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Pomoću funkcija IIf i IsNull prikazuje vrijednosti kontrola Grad i PoštanskiBroj ako kontrola Regija ima vrijednost null. U suprotnom prikazuje vrijednosti polja ili kontrola Grad, Regija i PoštanskiBroj.
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) Pomoću funkcija IIf i IsNull prikazuje poruku "Provjerite ne nedostaje li datum" ako je rezultat oduzimanja vrijednosti DatumOtpreme od vrijednosti TraženiDatum null. U suprotnom prikazuje interval između vrijednosti datuma kontrola TraženiDatum i DatumOtpreme.

Povratak na vrh

Upiti i filtri

Ovaj odjeljak sadrži primjere izraza pomoću kojih možete stvoriti izračunato polje u upitu i dodati kriterij u upit. Izračunato je polje stupac u upitu koji proizlazi iz izraza. Možete, primjerice, izračunati vrijednost, objediniti tekstne vrijednosti kao što su imena i prezimena ili oblikovati dio datuma.

Pomoću kriterija u upitu možete ograničiti zapise s kojima radite. Operator možete, primjerice, koristiti Between za unos početnog i završnog datuma te ograničavanje rezultata upita na narudžbe isporučene između tih datuma.

U sljedećim se odjeljcima navode primjeri izraza koji se koriste u upitima.

Tekstne operacije u upitima

Izrazi u sljedećoj tablici koriste & operatore and + za kombiniranje tekstnih nizova, koriste ugrađene funkcije za rad s tekstnim nizom ili neki drugi način rade na tekstu radi stvaranja izračunatog polja.

Izraz Opis
FullName: [FirstName] & " " & [LastName] Stvara polje ImeIprezime koje prikazuje vrijednosti u poljima Ime i Prezime razdvojene razmakom.
Address2: [City] & " " & [Region] & " " & [PostalCode] Stvara polje Adresa2 koje prikazuje vrijednosti u poljima Grad, Regija i PoštanskiBroj razdvojene razmakom.
ProductInitial: Left([ProductName], 1) Stvara polje PrvoSlovoProizvoda, a zatim pomoću funkcije Left u polju PrvoSlovoProizvoda prikazuje prvi znak vrijednosti u polju NazivProizvoda.
TypeCode: Right([AssetCode], 2) Stvara polje VrstaKoda, a zatim pomoću funkcije Right prikazuje posljednja dva znaka vrijednosti u polju ŠifraImovine.
AreaCode: Mid([Phone],2,3) Stvara polje PozivniBroj, a zatim pomoću funkcije Mid prikazuje tri znaka počevši od drugog znaka vrijednosti u polju Telefon.
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 Izračunatom polju daje naziv ProširenaCijena i koristi funkciju CCur za izračun ukupnih zbrojeva za stavke u retku s primijenjenim popustom.

Povratak na vrh

Aritmetičke operacije u upitima

Pomoću izraza možete zbrajati, oduzimati, množiti i dijeliti vrijednosti u dva ili više polja ili kontrola. Možete i izvoditi aritmetičke operacije s datumima. Recimo da imate datumsko-vremensko polje pod nazivom TraženiDatum. Izraz =[RequiredDate] - 2 vraća vrijednost datuma/vremena dva dana prije vrijednosti u polju TraženiDatum.

Izraz Opis
PrimeFreight: [Freight] * 1.1 Stvara polje UkupnaVozarina, a zatim u njemu prikazuje trošak vozarine uvećan za 10 %.
OrderAmount: [Quantity] * [UnitPrice] Stvara polje IznosNarudžbe, a zatim prikazuje umnožak vrijednosti u poljima Količina i JediničnaCijena.
LeadTime: [RequiredDate] - [ShippedDate] Stvara polje Trajanje, a zatim prikazuje razliku između vrijednosti u poljima TraženiDatum i DatumOtpreme.
TotalStock: [UnitsInStock]+[UnitsOnOrder] Stvara polje UkupnoNaSkladištu i prikazuje zbroj vrijednosti u poljima JedinicaNaSkladištu NaručenoJedinica.
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Stvara polje naziva FreightPercentage, a zatim prikazuje postotak troškova vozarine u svakom podzbroju. Taj izraz koristi funkciju Sum za ukupan zbroj vrijednosti u Freight polju, a zatim te ukupne zbrojeve dijeli sa zbrojem vrijednosti u Subtotal polju. Da biste koristili taj izraz, pretvorite upit odabiranja u upit o ukupnim zbrojevima. Morate koristiti redak zbroja u rešetki dizajna i postaviti ćeliju Zbroj za to polje na Expression. Dodatne informacije o stvaranju upita o ukupnim zbrojevima potražite u odjeljku Zbrajanje podataka pomoću upita. Ako svojstvo Format polja postavite na Percent, nemojte uvrstiti *100.

Dodatne informacije o korištenju agregacijskih funkcija i ukupnih vrijednosti u polju i stupcima potražite u člancima Zbrajanje podataka pomoću upita, Brojanje podataka pomoću upita, Prikaz ukupnih zbrojeva stupaca u podatkovnoj tablici pomoću retka ukupnog zbroja i Prikaz ukupnih zbrojeva stupaca u podatkovnoj tablici.

Povratak na vrh

Operacije datuma u upitima

Gotovo sve baze podataka pohranjuju i prate datume i vrijeme. S datumima i vremenom u programu Access radite tako da datumsko-vremenska polja u tablicama postavite na vrstu podataka Datum/vrijeme. Access može izvoditi aritmetičke operacije s datumima. Možete, primjerice, izračunati koliko je dana prošlo od datuma ispostave fakture radi ažuriranja popisa potraživanja.

Izraz Opis
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) Stvara polje Kašnjenje, a zatim pomoću funkcije DateDiff prikazuje broj dana između datuma narudžbe i datuma otpreme.
YearHired: DatePart("yyyy",[HireDate]) Stvara polje GodinaZapošljavanja, a zatim pomoću funkcije DatePart prikazuje godinu zapošljavanja svakog zaposlenika.
MinusThirty: Date( )- 30 Stvara polje MinusTrideset, a zatim pomoću funkcije Date prikazuje datum koji nastupa 30 dana prije trenutnog datuma.

Povratak na vrh

SQL funkcije zbrajanja u upitima

Izrazi u sljedećoj tablici koriste SQL funkcije za zbrajanje ili sažimanje podataka. Često se pojavljuju funkcije kao što je Sum, Count, a nazivaju se agregatnim Avg funkcijama.

Osim agregacijskih funkcija, Access nudi i domenske agregacijske funkcije koje omogućuju selektivno zbrajanje ili brojanje vrijednosti. Možete, primjerice, prebrojiti samo vrijednosti unutar određenog raspona ili potražiti vrijednost iz druge tablice. Funkcije zbrajanja domene obuhvaćaju DSum, DCount i DAvg.

Da biste izračunali ukupne zbrojeve, često morate stvoriti upit o ukupnim zbrojevima. Da biste, primjerice, saželi podatke prema grupama, koristite upit o ukupnim zbrojevima. Da biste omogućili upit o ukupnim zbrojevima iz rešetke dizajna upita, odaberite Ukupni zbrojevi na izborniku Prikaz .

Izraz Opis
RowCount: Count(*) Stvara polje BrojRedaka, a zatim pomoću funkcije Count utvrđuje broj zapisa u upitu, uključujući polja s vrijednošću null (prazna).
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Stvara polje pod nazivom FreightPercentage, a zatim izračunava postotak troškova vozarine u svakom podzbroju dijeljenjem zbroja vrijednosti u Freight polju sa zbrojem vrijednosti u Subtotal polju. U ovom se primjeru koristi ta funkcija Sum . Ovaj se izraz mora koristiti s upitom o ukupnim zbrojevima. Ako svojstvo Format polja postavite na Percent, nemojte uvrstiti *100. Dodatne informacije o stvaranju upita o ukupnim zbrojevima potražite u odjeljku Zbrajanje podataka pomoću upita.
AverageFreight: DAvg("[Freight]", "[Orders]") Stvara polje ProsječnaVozarina, a zatim pomoću funkcije DAvg izračunava prosječnu vozarinu za sve narudžbe objedinjene u upitu o ukupnim zbrojevima.

Povratak na vrh

Polja u kojima nedostaju podaci

Ovdje prikazani izrazi funkcioniraju s poljima s potencijalno nedostajućim podacima, npr. s poljima koja sadrže vrijednosti null (nepoznate ili nedefinirane vrijednosti). Često možete naići na vrijednosti null, npr. na nepoznatu cijenu za novi proizvod ili na vrijednost koju je suradnik zaboravio dodati u narudžbu. Mogućnost pronalaženja i obrade vrijednosti null ključan je dio operacija baze podataka, a izrazi u tablici u nastavku pokazuju neke uobičajene načine postupanja s vrijednostima null.

Izraz Opis
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) Stvara polje TrenutnaDržavaIliRegija, a zatim pomoću funkcija IIf i IsNull u njemu prikazuje prazan niz kada polje DržavaIliRegija sadrži vrijednost null. U suprotnom prikazuje sadržaj polja DržavaIliRegija.
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) Stvara polje Trajanje, a zatim pomoću funkcija IIf i IsNull prikazuje poruku "Provjerite ne nedostaje li datum" ako polje TraženiDatum ili polje DatumOtpreme ima vrijednost null. U suprotnom prikazuje razliku između datuma.
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) Stvara polje ProdajaUšestMjeseci, a zatim prikazuje ukupan zbroj vrijednosti u poljima ProdajaUprvomTromjesečju i ProdajaUdrugomTromjesečju tako što najprije pomoću funkcije Nz sve vrijednosti null pretvori u nulu.

Povratak na vrh

Izračunata polja s podupitima

Izračunato polje možete stvoriti pomoću ugniježđenog upita, koji se još naziva i podupit. Izraz u tablici u nastavku primjer je izračunatog polja nastalog iz podupita.

Izraz Opis
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) Stvara polje Kategorija, a zatim prikazuje NazivKategorije ako je IDkategorije iz tablice Kategorije isti kao IDkategorije iz tablice Proizvodi.

Povratak na vrh

Podudaranje s vrijednosti teksta

Ogledni izrazi u ovoj tablici pokazuju kriterije koji traže podudaranje s cijelim ili djelomičnim tekstnim vrijednostima.

Polje Izraz Opis
Odredište "London" Prikazuje narudžbe poslane u London.
OdredišniGrad "London" Or "Hedge End" Koristi Or operator za prikaz narudžbi isporučenih u London ili Hedge End.
OdredišnaDržavaIliRegija In("Canada", "UK") Koristi operator In za prikaz narudžbi isporučenih u Kanadu ili Veliku Britaniju.
OdredišnaDržavaIliRegija Not "USA" Koristi operator Not za prikaz narudžbi isporučenih u države/regije osim SAD-a.
NazivProizvoda Not Like "C*" Koristi operator Not i zamjenski * znak za prikaz proizvoda čiji nazivi ne počinju sa C.
NazivTvrtke >="N" Prikazuje narudžbe poslane tvrtkama čiji nazivi počinju slovima N do Z.
ŠifraProizvoda Right([ProductCode], 2)="99" Koristi funkciju Right za prikaz narudžbi s vrijednostima koda proizvoda koje završavaju na 99.
NazivOdredišta Like "S*" Prikazuje narudžbe isporučene kupcima čija imena počinju slovom S.

Povratak na vrh

Podudaranje s kriterijem datuma

Izrazi u tablici u nastavku pokazuju kako se datumi i povezane funkcije koriste u izrazima s kriterijima. Dodatne informacije o unosu i korištenju vrijednosti datuma potražite u članku Oblikovanje polja datuma ili vremena.

Polje Izraz Opis
DatumSlanja #2/2/2017# Prikazuje narudžbe poslane 2. veljače 2017.
DatumSlanja Date() Prikazuje narudžbe poslane danas.
DatumPotrebe Between Date( ) And DateAdd("m", 3, Date( )) Koristi Between...And operator i funkcije DateAdd i Date za prikaz narudžbi potrebnih između današnjeg datuma i tri mjeseca od današnjeg datuma.
DatumNarudžbe < Date( ) - 30 Pomoću funkcije Date prikazuje narudžbe starije od 30 dana.
DatumNarudžbe Year([OrderDate])=2017 Pomoću funkcije Year prikazuje narudžbe s datumom u 2017. godini.
DatumNarudžbe DatePart("q", [OrderDate])=4 Pomoću funkcije DatePart prikazuje narudžbe za četvrto tromjesečje u godini.
DatumNarudžbe DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 Pomoću funkcija DateSerial, Year i Month prikazuje narudžbe za zadnji dan svakog mjeseca.
DatumNarudžbe Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) Pomoću funkcija Year i Month te operatora And prikazuje narudžbe za trenutnu godinu i mjesec.
DatumSlanja Between #1/5/2017# And #1/10/2017# Pomoću operatora Between...Andprikazuje narudžbe poslane prije 5. siječnja 2017. i najkasnije 10. siječnja 2017.
DatumPotrebe Between Date( ) And DateAdd("M", 3, Date( )) Koristi Between...And operator za prikaz narudžbi potrebnih u razdoblju od današnjeg datuma do tri mjeseca od današnjeg datuma.
DatumRođenja Month([BirthDate])=Month(Date()) Pomoću funkcija Month i Date prikazuje zaposlenike koji imaju rođendan ovog mjeseca.

Povratak na vrh

Pronalaženje podataka koji nedostaju

Izrazi u tablici u nastavku rade s poljima koji sadrže potencijalno nedostajuće podatke – s onima koji možda sadrže vrijednost null ili niz nulte duljine. Vrijednost null predstavlja nepostojanje podataka. Ne predstavlja nulu ni bilo koju drugu vrijednost. Access podržava ideju o nedostajućim podacima jer je taj koncept ključan za integritet baze podataka. Podaci u praksi često nedostaju, ponekad samo privremeno (npr. cijena novog proizvoda koja još nije određena). Zato baza podataka koja modelira entitet iz prakse, kao što je tvrtka, mora imati mogućnost evidentiranja podataka kao nedostajućih. Pomoću funkcije IsNull možete utvrditi sadrži li polje ili kontrola vrijednost null, a pomoću funkcije Nz vrijednost null možete pretvoriti u nulu.

Polje Izraz Opis
OdredišnaRegija Is Null Prikazuje narudžbe za klijente čije polje OdredišnaRegija sadrži vrijednost null (ne sadrži nijednu vrijednost).
OdredišnaRegija Is Not Null Prikazuje narudžbe za klijente čije polje OdredišnaRegija sadrži neku vrijednost.
Faks "" Prikazuje narudžbe za klijente koji nemaju faks-uređaj, na što upućuje vrijednost niza nulte duljine u polju Faks umjesto vrijednosti null (nedostajuće vrijednosti).

Povratak na vrh

Podudaranje uzoraka zapisa s operatorom Like

Operator Like nudi veliku fleksibilnost prilikom uparivanja redaka koji slijede određeni obrazac jer ih možete koristiti Like sa zamjenskim znakovima i definirati uzorke koje će Access uskladiti. Zamjenski * znak (zvjezdica), primjerice, odgovara nizu znakova bilo koje vrste i olakšava pronalaženje imena koja počinju slovom. Na primjer, izraz Like "S*" koristite za pronalaženje svih imena koja počinju slovom S. Dodatne informacije potražite u članku Operator Like.

Polje Izraz Opis
NazivPrimatelja Like "S*" Pronalazi sve zapise u polju NazivOdredišta koji počinju slovom S.
NazivOdredišta Like "*Imports" Pronalazi sve zapise u polju NazivOdredišta koji završavaju riječju "Uvoz".
NazivPrimatelja Like "[A-D]*" Pronalazi sve zapise u polju NazivOdredišta koji počinju slovom A, B, C ili D.
NazivPrimatelja Like "*ar*" Pronalazi sve zapise u polju NazivPrimatelja koji sadrže niz slova "ar".
NazivOdredišta Like "Maison Dewe?" Pronalazi sve zapise u polju NazivOdredišta koji sadrže riječ "Maison" u prvom dijelu vrijednosti i niz od pet slova u kojem su prva četiri slova "Dewe", a posljednje slovo nije poznato.
NazivOdredišta Not Like "A*" Pronalazi sve zapise u polju NazivPrimatelja koji ne počinju slovom A.

Povratak na vrh

Podudaranje redaka sa SQL agregacijama

SQL ili domensku agregacijsku funkciju koristite kada morate selektivno zbrojiti ili prebrojiti vrijednosti ili pak izračunati njihov prosjek. Možda ćete, primjerice, htjeti prebrojiti samo vrijednosti unutar određenog raspona ili vrijednosti koje se vrednuju kao Da. U drugim ćete situacijama možda htjeti potražiti određenu vrijednost iz druge tablice da biste je mogli prikazati. U oglednim primjerima u tablici u nastavku koriste se domenske agregacijske funkcije za izvođenje izračuna na skupu vrijednosti i rezultat se koristi kao kriterij za upit.

Polje Izraz Opis
Vozarina > (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) Pomoću funkcija DStDev i DAvg prikazuje sve narudžbe za koje je trošak vozarine veći od prosječne vrijednosti uvećane za standardnu devijaciju troška vozarine.
Količina > DAvg("[Quantity]", "[Order Details]") Pomoću funkcije DAvg prikazuje proizvode naručene u količinama većim od prosječne naručene količine.

Povratak na vrh

Poudaranje polja s podupitima

Pomoću podupita, koji se naziva i ugniježđeni upit, možete izračunati vrijednost koja će se koristiti kao kriterij. Ogledni izrazi u tablici u nastavku traže podudarne retke na temelju rezultata koje je vratio podupit.

Polje Izraz Prikazuje
JediničnaCijena (SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") Proizvodi s istom cijenom kao sirup od anisa.
JediničnaCijena >(SELECT AVG([UnitPrice]) FROM [Products]) Proizvodi s jediničnom cijenom većom od prosječne.
Plaća > ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) Plaća svakog prodajnog predstavnika koja je veća od plaće svih zaposlenika čije je radno mjesto "Upravitelj" ili "Potpredsjednik".
UkupnaNarudžba: [JediničnaCijena] * [Količina] > (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) Narudžbe s ukupnim zbrojevima većim od prosječne vrijednosti narudžbe.

Povratak na vrh

Upiti s ažuriranjem

Upotrijebite upit s ažuriranjem da biste izmijenili podatke u jednom ili više postojećih polja u bazi podataka. Možete, primjerice, zamijeniti vrijednosti ili ih u potpunosti izbrisati. U ovoj se tablici prikazuju neki načini korištenja izraza u upitima s ažuriranjem. Te izraze koristite u Update To retku u rešetki dizajna upita za polje koje želite ažurirati.

Dodatne informacije o stvaranju upita s ažuriranjem potražite u članku Stvaranje i pokretanje upita s ažuriranjem.

Polje Izraz Rezultat
Naslov "Salesperson" Mijenja tekstnu vrijednost u Prodavač.
PočetakProjekta #8/10/17# Mijenja vrijednost datuma u 10-kol-17.
Povučeno Yes Vrijednost Ne u polju Da/Ne mijenja u Da.
BrojDijela "PN" & [PartNumber] Dodaje BD na početak svakog navedenog serijskog broja dijela.
UkupnaCijenaStavkiUretku [UnitPrice] * [Quantity] Izračunava umnožak vrijednosti JediničnaCijena i Količina.
Vozarina [Freight] * 1.5 Povećava trošak vozarine za 50 %.
Prodaja DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) Kada se vrijednosti IDproizvoda u trenutnoj tablici podudaraju s vrijednostima IDproizvoda u tablici Detalji o narudžbi, ažurira ukupnu prodaju na temelju umnoška vrijednosti Količina i JediničnaCijena.
PoštanskiBrojOdredišta Right([ShipPostalCode], 5) Odbacuje krajnje lijeve znakove tako da ostane pet krajnjih desnih znakova.
JediničnaCijena Nz([UnitPrice]) Vrijednost null (nedefiniranu ili nepoznatu vrijednost) u polju JediničnaCijena pretvara u nulu (0).

Povratak na vrh

SQL naredbe

Structured Query Language (SQL) je jezik upita koji koristi Access. Svaki upit stvoren u prikazu dizajna upita može se izraziti i pomoću SQL-a. Da biste vidjeli SQL naredbu za bilo koji upit, odaberite SQL prikaz na izborniku Prikaz . U sljedećoj su tablici prikazani ogledni SQL naredbe koje koriste izraz.

SQL naredba koja koristi izraz Rezultat
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; Prikazuje vrijednosti u poljima FirstName i LastName za zaposlenike čije je prezime Vukelić.
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; Prikazuje vrijednosti u poljima IDproizvoda i NazivProizvoda u tablici Proizvodi za zapise u kojima se vrijednost IDkategorije podudara s vrijednošću IDkategorije navedenom u otvorenom obrascu Novi proizvodi.
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; Izračunava prosječnu proširenu cijenu za narudžbe za koje je vrijednost u polju ProširenaCijena veća od 1000 i prikazuje je u polju Prosječna proširena cijena.
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; U polju BrojIDovaProizvoda prikazuje ukupan broj proizvoda za kategorije s više od 10 proizvoda.

Povratak na vrh

Izrazi tablice

Dva su najčešća načina korištenja izraza u tablicama dodjela zadane vrijednosti i stvaranje pravila provjere valjanosti.

Zadane vrijednosti polja

Prilikom osmišljavanja baze podataka preporučuje se da polju ili kontroli dodijelite zadanu vrijednost. Access tu vrijednost unosi kada se stvori novi zapis koji sadrži polje ili kada se stvori objekt koji sadrži kontrolu. Izrazi u sljedećoj tablici prikazuju ogledne zadane vrijednosti za polje ili kontrolu. Ako je kontrola povezana s poljem u tablici, a polje sadrži zadanu vrijednost, prednost ima zadana vrijednost kontrole.

Polje Izraz Zadana vrijednost za polje
Količina 1 1
Regija "MT" SDŽ
Regija "New York, N.Y." Zagrebačka županija, ZGŽ (Imajte na umu da vrijednost morate navesti unutar navodnika ako sadrži interpunkciju.)
Faks "" Niz nulte duljine, koji upućuje na to da bi polje po zadanom trebalo biti prazno, a ne sadržavati vrijednost null
Datum narudžbe Date( ) Današnji datum
KrajnjiRok Date() + 60 Datum 60 dana nakon današnjeg

Povratak na vrh

Pravila provjere valjanosti polja

Pomoću izraza možete stvoriti pravilo provjere valjanosti za polje ili kontrolu. Access nakon toga primjenjuje to pravilo prilikom unosa podataka u to polje ili kontrolu. Da biste stvorili pravilo provjere valjanosti, izmijenite svojstvo ValidationRule polja ili kontrole. U obzir biste trebali uzeti i postavljanje ValidationText svojstva koje obuhvaća tekst koji Access prikazuje kada se krši pravilo provjere valjanosti. Ako ne postavite ValidationText svojstvo, Access će prikazati zadanu poruku o pogrešci.

Primjeri u sljedećoj tablici pokazuju izraze pravila provjere ValidationRule valjanosti za svojstvo i pridruženi tekst za ValidationText svojstvo.

Svojstvo ValidationRule Svojstvo ValidationText
<> 0 Unesite vrijednost koja nije nula.
0 Or > 100 Vrijednost mora biti 0 ili veća od 100.
Like "K???" Vrijednost mora sadržavati četiri znaka i počinjati slovom K.
< #1/1/2017# Unesite datum prije 1. siječnja 2017.
>= #1/1/2017# And < #1/1/2008# Datum mora biti u 2017.

Dodatne informacije o provjeri valjanosti podataka potražite u članku Stvaranje pravila za provjeru valjanosti za provjeru valjanosti podataka u polju.

Povratak na vrh

Makroizrazi

U nekim ćete slučajevima u makronaredbi željeti izvesti akciju ili niz akcija ako je ispunjen određeni uvjet. Na primjer, pretpostavimo da želite da se akcija izvede samo ako je vrijednost u tekstnom okviru Brojač jednaka 10. Koristite izraz da biste definirali uvjet u bloku IF:

[Counter]=10

Kao i svojstvo ValidationRule , izraz u bloku If uvjetni je izraz. Mora se razriješiti u jedan ili TrueFalse. Akcija se izvršava samo kada se ispuni uvjet.

Izraz koji se koristi za izvršavanje akcije Ako
[City]="Paris" Pariz je vrijednost u polju Grad u obrascu iz kojeg je pokrenuta makronaredba.
DCount("[OrderID]", "Orders") > 35 Postoji više od 35 stavki u polju IDnarudžbe u tablici Narudžbe.
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 Postoji više od tri stavke u tablici Detalji o narudžbi u kojoj se polje IDnarudžbe podudara s poljem IDnarudžbe u obrascu Narudžbe.
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# Vrijednost polja DatumOtpreme u obrascu iz kojeg je pokrenuta makronaredba predstavlja datum između 2. veljače 2017. i 2. ožujka 2017.
Forms![Products]![UnitsInStock] < 5 Vrijednost polja JedinicaNaSkladištu u obrascu Proizvodi manja je od 5.
IsNull([FirstName]) Polje Ime u obrascu iz kojeg je pokrenuta naredba ima vrijednost null (nema vrijednost). Taj je izraz istovjetan izrazu [Ime] Is Null.
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 Vrijednost u polju DržavaIliRegija u obrascu iz kojeg je makronaredba pokrenuta jest Velika Britanija i vrijednost polja UkupanBrojNarudžbi u obrascu UkupnaProdaja veća je od 100.
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 Vrijednost u polju DržavaIliRegija u obrascu iz kojeg je makronaredba pokrenuta jest Francuska, Italija ili Španjolska i poštanski broj nije dugačak pet znakova.
MsgBox("Confirm changes?",1)=1 Kliknuli ste OK u dijaloškom okviru koji prikazuje funkcija MsgBox. Ako u dijaloškom okviru kliknete Odustani, Access zanemaruje akciju.

Povratak na vrh

Vidi također