Č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
Upiti i filtri
Svi izrazi upita i filtriranja
Tablice
| Zadane vrijednosti polja | Pravila provjere valjanosti polja |
|---|
Makronaredbe
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.& |
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 |
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, .
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. |
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.
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. |
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. |
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. |
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. |
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.
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. |
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. |
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. |
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. |
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. |
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. |
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). |
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. |
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. |
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. |
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). |
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. |
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 |
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.
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. |