Primeri izraza

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

Ovaj članak pruža primere izraza u programu Access. Izraz kombinuje matematičke ili logičke operatore, konstante, funkcije, polja tabele, kontrole i svojstva u jednu vrednost. Izraze u programu Access možete da koristite za izračunavanje vrednosti, proveru valjanosti podataka i postavljanje podrazumevanih vrednosti.

U ovom članku

Obrasci i izveštaji

Svi izrazi za obrasce i izveštaje

Operacije sa tekstom; Vrednosti u drugim kontrolama; Operacije sa datumom Zaglavlja i podnožja; Broj, zbir i prosečne vrednosti; Uslovi od samo dve vrednosti. Aritmetičke operacije; SQL agregatne funkcije

Upiti i filteri

Svi izrazi za upit i filtriranje

Operacije sa tekstom; SQL agregatne funkcije; Podudaranje tekstualnih vrednosti; Podudaranje obrazaca zapisa sa Like; Upiti za ažuriranje Aritmetičke operacije; Pronalaženje podataka koji nedostaju; Podudaranje kriterijuma datuma; Podudaranje redova sa SQL agregatnim vrednostima; SQL instrukcije Operacije sa datumom; Izračunata polja pomoću podupita; Polja sa podacima koji nedostaju; Podudaranje polja sa podupitima

Tabele

Svi izrazi tabele

Podrazumevane vrednosti polja Pravila za validaciju polja

Makroi

Svi izrazi makroa

Obrasci i izveštaji

Tabele u ovom odeljku prikazuju izraze koji izračunavaju vrednost u kontroli u obrascu ili izveštaju. Da biste kreirali izračunatu kontrolu, unesite izraz u ControlSource svojstvo kontrole umesto u polje tabele ili upit.

Napomena

Izraze u obrascu ili izveštaju možete da koristite i kada markirate podatke pomoću uslovnog oblikovanja.

Operacije sa tekstom

Izrazi u sledećoj tabeli koriste operatore & (ampersand) i + (plus) za kombinovanje tekstualnih niski, korišćenje ugrađenih funkcija za rad sa tekstom ili na neki drugi način kreiranje izračunate kontrole.

Izraz Rezultat
="N/A" Prikazuje tekst „Nije dostupno“.
=[FirstName] & " " & [LastName] Prikazuje vrednosti koje se nalaze u poljima tabele pod imenom „Ime“ i „Prezime“. U ovom primeru, & operator se koristi za kombinovanje polja "Ime", znaka za razmak (pod znacima navoda) i polja "Prezime".
=Left([ProductName], 1) Koristi funkciju Left za prikaz prvog znaka vrednosti u polju ili kontroli pod nazivom ProductName.
=Right([AssetCode], 2) Koristi funkciju Right za prikaz poslednja dva znaka vrednosti u polju ili kontroli pod nazivom AssetCode.
=Trim([Address]) Koristi funkciju Trim za prikaz vrednosti Address kontrole posle uklanjanja razmaka na početku i kraju.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Koristi funkciju IIf za prikaz vrednosti City za and PostalCode kontroliše ako je kontrola bez vrednosti Region . U suprotnom, prikazaće se vrednosti za , CityRegioni PostalCode kontrole razdvojene razmacima.
=[City] & (" " + [Region]) & " " & [PostalCode] Koristi + operator i prenos prazne vrednosti za prikaz vrednosti za CityPostalCode and kontroliše ako je vrednost u polju Region ili kontroli bez vrednosti. U suprotnom, prikazuje vrednosti City, Regioni PostalCode polja ili kontrole razdvojene razmacima. Prenos prazne vrednosti znači da ako je bilo koji deo izraza bez vrednosti, ceo izraz ima vrednost bez vrednosti. Operator + podržava prenos prazne vrednosti, ali ga ne podržava.&

Nazad na vrh

Zaglavlja i podnožja

Koristite svojstva and Pages za prikazivanje ili štampanje Page brojeva stranica u obrascima ili izveštajima. Ova svojstva su dostupna samo tokom štampanja ili pregleda pre štampanja, tako da se ne pojavljuju na listu sa svojstvima obrasca ili izveštaja. Obično postavite okvir za tekst u odeljak zaglavlja ili podnožja obrasca ili izveštaja, a zatim upotrebite izraz poput onih prikazanih u sledećoj tabeli.

Dodatne informacije o korišćenju zaglavlja i podnožja u obrascima i izveštajima potražite u članku Umetanje brojeva stranice u obrazac ili izveštaj.

Izraz Rezultat
=[Page] 1
="Page " & [Page] Stranica 1
="Page " & [Page] & " of " & [Pages] Stranica 1 od 3
=[Page] & " of " & [Pages] & " Pages" 1 od 3 Stranice
=[Page] & "/" & [Pages] & " Pages" 1/3 Stranice
=[Country/region] & " - " & [Page] UK – 1
=Format([Page], "000") 001
="Printed on: " & Date() Odštampano: 31.12.17.

Nazad na vrh

Aritmetičke operacije

Izraze možete da koristite za dodavanje, oduzimanje, množenje i deljenje vrednosti u dva ili više polja ili kontrole. Izraze možete da koristite i za izvršavanje aritmetičkih operacija nad datumima. Na primer, recimo da imate polje tabele „Datum/Vreme“ pod imenom „ZahtevaniDatum“. U polju ili u kontroli povezanoj sa poljem, izraz =[RequiredDate] - 2 vraća vrednost datuma/vremena jednaku dva dana pre trenutnih vrednosti u polju ZahtevaniDatum.

Izraz Rezultat
=[Subtotal]+[Freight] Zbir vrednosti polja ili kontrola „Međuvrednost“ i „TroškoviPrevoza“.
=[RequiredDate]-[ShippedDate] Interval između vrednosti datuma polja ili kontrola „ZahtevaniDatum“ i „DatumIsporuke“.
=[Price]*1.06 Proizvod vrednosti polja ili kontrole „Cena“ i broja 1,06 (dodaje 6 procenata vrednosti „Cena“).
=[Quantity]*[Price] Proizvod vrednosti polja ili kontrola „Količina“ i „Cena“.
=[EmployeeTotal]/[CountryRegionTotal] Količnik vrednosti polja ili kontrola „UkupanBrojZaposlenih“ i „UkupanBrojZaZemljuRegion“.

Napomena

Kada koristite aritmetički operator (+, -, *, ili /) u izrazu, a jedna od kontrola ima vrednost "null", rezultat celog izraza je "null". To se naziva prenošenje prazne vrednosti. Ako kontrola možda ima vrednost "null", možete da izbegnete prenos prazne vrednosti pomoću funkcije Nz za konvertovanje vrednosti "null" u vrednost nula. Na primer, koristite .=Nz([Subtotal])+Nz([Freight])

Nazad na vrh

Vrednosti u drugim kontrolama

Ponekad vam je potrebna vrednost koja postoji na drugom mestu, kao što je polje ili kontrola u drugom obrascu ili izveštaju. Izraz možete da koristite da biste dobili vrednost iz drugog polja ili kontrole.

Sledeća tabela navodi primere izraza koje možete da koristite u izračunatim kontrolama u obrascima.

Izraz Rezultat
=Forms![Orders]![OrderID] Vrednost kontrole „IDPorudžbine“ u obrascu „Porudžbine“.
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] Vrednost kontrole „MeđuvrednostPorudžbine“ u podobrascu pod imenom „PodobrazacPorudžbina“ u obrascu „Porudžbine“.
=Forms![Orders]![Orders Subform]![ProductID].Column(2) Vrednost treće kolone u polju „IDProizvoda“, okvir sa listom sa više kolona u podobrascu pod imenom „PodobrazacPorudžbina“ u obrascu „Porudžbine“. (Imajte na umu da se 0 odnosi na prvu kolonu, 1 na drugu kolonu i tako dalje.)
=Forms![Orders]![Orders Subform]![Price] * 1.06 Vrednost proizvoda kontrole „Cena“ u podobrascu pod imenom „PodobrazacPorudžbina“ u obrascu „Porudžbine“ i 1,06 (dodaje 6 procenata vrednosti kontrole „Cena“).
=Parent![OrderID] Vrednost kontrole „IDPorudžbine“ u glavnom ili nadređenom obrascu trenutnog podobrasca.

Izrazi u sledećoj tabeli prikazuju neke načine koji se koriste za izračunate kontrole u izveštajima. Izrazi upućuju na Svojstvo izveštaja.

Izraz Rezultat
=Report![Invoice]![OrderID] Vrednost kontrole pod imenom „IDPorudžbine“ u izveštaju pod imenom „Faktura“.
=Report![Summary]![Summary Subreport]![SalesTotal] Vrednost kontrole „UkupnaProdaja“ u podobrascu pod imenom „PodizveštajRezimea“ u izveštaju „Rezime“.
=Parent![OrderID] Vrednost kontrole „IDPorudžbine“ u glavnom ili nadređenom izveštaju trenutnog podizveštaja.

Nazad na vrh

Prebrojavanje, sabiranje i izračunavanje proseka vrednosti

Tip funkcije pod imenom agregatna funkcija možete da koristite za izračunavanje vrednosti za jedno ili više polja ili kontrola. Na primer, možete da izračunate ukupnu vrednost grupe za podnožje grupe u izveštaju ili međuvrednost porudžbine za stavke predmeta u obrascu. Možete da prebrojite i stavke u jednom ili više polja odnosno da izračunate prosečnu vrednost.

Izrazi u sledećoj tabeli prikazuju neke od načina na koji se koriste funkcije kao što su „Avg“, „Count“ i „Sum“.

Izraz Opis
=Avg([Freight]) Koristi funkciju „Avg“ za prikazivanje proseka vrednosti polja tabele ili kontrole pod imenom „TroškoviPrevoza“.
=Count([OrderID]) Koristi funkciju „Count“ za prikazivanje broja zapisa u kontroli „IDPorudžbine“.
=Sum([Sales]) Koristi funkciju „Sum“ za prikazivanje zbira vrednosti kontrole „Prodaja“.
=Sum([Quantity]*[Price]) Koristi funkciju „Sum“ za prikazivanje zbira proizvoda vrednosti kontrola „Količina“ i „Cena“.
=[Sales]/Sum([Sales])*100 Prikazuje procenat prodaje deljenjem vrednosti Sales kontrole zbirom svih vrednosti u kontroli Sales . Ako postavite svojstvo Format kontrole na Percentvrednost , nemojte uključivati *100 u izraz.

Dodatne informacije o korišćenju agregatnih funkcija i sabiranju vrednosti u polju i kolonama potražite u člancima Sabiranje podataka pomoću upita, Brojanje podataka pomoću upita, Prikaz ukupnih vrednosti kolona na listu sa podacima pomoću reda „Ukupni zbirovi“ i Prikaz ukupnih vrednosti kolona na listu sa podacima.

Nazad na vrh

SQL agregatne funkcije

Kada treba selektivno da saberete ili prebrojite vrednosti, koristite tip funkcije pod imenom SQL agregatna funkcija domena. „Domen“ se sastoji iz jednog ili nekoliko polja u jednoj ili više tabla odnosno jedne ili više kontrola u jednom ili više obrazaca ili izveštaja. Na primer, vrednosti iz polja tabele možete da podudarite sa vrednostima iz kontrole obrasca.

Izraz Opis
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) Koristi funkciju DLookup za davanje vrednosti polja „ImeKontakta“ u tabeli „Dobavljači“ gde se vrednost polja „IDDobavljača“ u tabeli podudara sa vrednošću kontrole „IDDobavljača“ u obrascu „Dobavljači“.
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) Koristi funkciju DLookup za davanje vrednosti polja „ImeKontakta“ u tabeli „Dobavljači“ gde se vrednost polja „IDDobavljača“ u tabeli podudara sa vrednošću kontrole „IDDobavljača“ u obrascu „NoviDobavljači“.
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") Koristi funkciju DSum za davanje zbira ukupnih vrednosti u polju „KoličinaPorudžbine“ u tabeli kada je „IDKlijenta“ RATTC.
=DCount("[Retired]","[Assets]","[Retired]=Yes") Koristi funkciju „DCount“ za davanje broja vrednosti „Da“ u polju „Otpisano“ (polje „Da/ne“) u tabeli „Imovina“.

Nazad na vrh

Operacije sa datumom

Praćenje datuma i vremena je osnovna aktivnost baze podataka. Na primer, možete da izračunate koliko dana je prošlo od datuma fakture kako biste ažurirali potraživanja. Datume i vremena možete da oblikujete na brojne načine, kao što je prikazano u sledećoj tabeli.

Izraz Opis
=Date() Koristi funkciju Date za prikaz trenutnog datuma u obliku mm-dd-yy, gde mm je mesec (od 1 do 12), dd dan (od 1 do 31) i yy poslednje dve cifre godine (od 1980. do 2099.).
=Format(Now(), "ww") Koristi funkciju "Format" za prikazivanje broja sedmice u godini za trenutni datum, pri čemu ww predstavljaju sedmice od 1. do 53.
=DatePart("yyyy", [OrderDate]) Koristi funkciju „DatePart“ za prikazivanje četvorocifrene godine vrednosti kontrole „DatumPorudžbine“.
=DateAdd("y", -10, [PromisedDate]) Koristi funkciju „DateAdd“ za prikazivanje datuma koji je 10 dana pre vrednosti kontrole „ObećaniDatum“.
=DateDiff("d", [OrderDate], [ShippedDate]) Koristi funkciju „DateDiff“ za prikazivanje broja dana razlike između vrednosti kontrola „DatumPorudžbine“ i „DatumIsporuke“.
=[InvoiceDate] + 30 Koristi aritmetičke operacije nad datumima za izračunavanje datuma 30 dana posle datuma u polju ili kontroli „DatumFakture“.

Nazad na vrh

Uslovi od samo dve vrednosti.

Primeri izraza u sledećoj tabeli koriste funkciju IIf za davanje jedne od dve moguće vrednosti. Funkciji IIf prosleđujete tri argumenta: Prvi argument je izraz koji mora da vrati vrednost "Ili TrueFalse ". Drugi argument je vrednost koja se vraća ako je izraz tačan, a treći je vrednost koja se vraća ako je izraz netačan.

Izraz Opis
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") Koristi funkciju IIf (Immediate If) za prikaz poruke "Redosled potvrđen" ako je Yesvrednost potvrđene kontrole; u suprotnom, prikazuje poruku "Order Not Confirmed."
=IIf(IsNull([Country/region]), " ", [Country]) Koristi funkcije IIf i IsNull za prikazivanje prazne niske ako je kontrola „Zemlja/region“ bez vrednosti. U suprotnom prikazuje vrednost kontrole „Zemlja/region“.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Koristi funkcije IIf i IsNull za prikazivanje vrednosti kontrola „Grad“ i „PoštanskiBroj“ ako je kontrola „Region“ bez vrednosti. U suprotnom, prikazuje vrednosti polja ili kontrola „Grad“, „Region“ i „PoštanskiBroj“.
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) Koristi funkcije IIf i IsNull za prikazivanje poruke „Proveri da li nedostaje datum“ ako je rezultat oduzimanja vrednosti „DatumIsporuke“ od „ZahtevaniDatum“ bez vrednosti. U suprotnom, prikazuje interval između vrednosti datuma kontrola „ZahtevaniDatum“ i „DatumIsporuke“.

Nazad na vrh

Upiti i filteri

Ovaj odeljak sadrži primere izraza koje možete da koristite za pravljenje izračunatog polja u upitu ili dodavanje kriterijuma u upit. Izračunato polje je kolona u upitu koja proističe iz izraza. Na primer, možete da izračunate vrednost, kombinujete tekstualne vrednosti kao što su imena i prezimena ili da oblikujete deo datuma.

Kriterijume u upitu koristite da biste ograničili zapise sa kojima radite. Na primer, operator možete da koristite Between za navođenje datuma početka i završetka i ograničite rezultate upita na porudžbine koje su isporučene između tih datuma.

Sledeći odeljci daju primere izraza koji se koriste u upitima.

Tekstualne operacije u upitima

Izrazi u sledećoj tabeli koriste operatore and &+ za kombinovanje tekstualnih niski, koriste ugrađene funkcije za rad sa tekstualnom niskom ili na neki drugi način rade sa tekstom radi kreiranja izračunatog polja.

Izraz Opis
FullName: [FirstName] & " " & [LastName] Pravi polje pod imenom „PunoIme“ koje prikazuje vrednosti iz polja „Ime“ i „Prezime“ razdvojene razmakom.
Address2: [City] & " " & [Region] & " " & [PostalCode] Pravi polje pod imenom „Adresa2“ koje prikazuje vrednosti iz polja „Grad“, „Region“ i „PoštanskiBroj“ razdvojene zarezima.
ProductInitial: Left([ProductName], 1) Pravi polje pod imenom „InicijalProizvoda“, a zatim koristi funkciju Left za prikazivanje prvog znaka vrednosti iz polja „ImeProizvoda“ u polju „InicijalProizvoda“.
TypeCode: Right([AssetCode], 2) Pravi polje pod imenom „TipŠifre“, a zatim koristi funkciju Right za prikazivanje poslednja dva znaka vrednosti u polju „ŠifraImovine“.
AreaCode: Mid([Phone],2,3) Pravi polje pod imenom „PozivniBroj“, a zatim koristi funkciju Mid za prikazivanje poslednja tri znaka počev od drugog znaka vrednosti u polju „Telefon“.
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 Daje ime izračunatom polju „ProširenaCena“ i koristi funkciju „CCur“ za izračunavanje ukupnih vrednosti stavke reda sa primenjenim popustom.

Nazad na vrh

Aritmetičke operacije u upitima

Izraze možete da koristite za dodavanje, oduzimanje, množenje i deljenje vrednosti u dva ili više polja ili kontrole. Aritmetičke operacije možete da vršite i nad datumima. Na primer, recimo da imate polje „Datum/Vreme“ koje se zove „ZahtevaniDatum“. Izraz =[RequiredDate] - 2 vraća vrednost datuma/vremena koja je jednaka dva dana pre vrednosti u polju ZahtevaniDatum.

Izraz Opis
PrimeFreight: [Freight] * 1.1 Pravi polje pod imenom „OsnovniTroškoviPrevoza“, a zatim u polju prikazuje troškove prevoza uvećane za 10 procenata.
OrderAmount: [Quantity] * [UnitPrice] Pravi polje pod imenom „KoličinaPorudžbine“, a zatim prikazuje proizvod vrednosti u poljima „Količina“ i „CenaPoJedinici“.
LeadTime: [RequiredDate] - [ShippedDate] Pravi polje pod imenom „ProtekloVreme“, a zatim prikazuje razliku između vrednosti u poljima „ZahtevaniDatum“ i „DatumIsporuke“.
TotalStock: [UnitsInStock]+[UnitsOnOrder] Pravi polje pod imenom „UkupneZalihe“, a zatim prikazuje zbir vrednosti iz polja „JediniceUSkladištu“ i „PoručeneJedinice“.
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Kreira polje pod imenom FreightPercentage, a zatim prikazuje procenat troškova prevoza u svakoj međuvrednosti. Ovaj izraz koristi funkciju Sum za sabiranje vrednosti u Freight polju, a zatim deli te ukupne vrednosti zbirom vrednosti u Subtotal polju. Da biste koristili ovaj izraz, konvertujte upit za izdvajanje u upit za ukupne vrednosti. Morate da koristite red " Zbir " u koordinatnoj mreži dizajna i da postavite ćeliju " Ukupno" za ovo polje na Expression. Dodatne informacije o pravljenju upita za ukupne vrednosti potražite u članku "Sabiranje podataka pomoću upita". Ako postavite svojstvo Format polja na Percentvrednost , ne uključujte *100.

Dodatne informacije o korišćenju agregatnih funkcija i sabiranju vrednosti u polju i kolonama potražite u člancima Sabiranje podataka pomoću upita, Brojanje podataka pomoću upita, Prikaz ukupnih vrednosti kolona na listu sa podacima pomoću reda „Ukupni zbirovi“ i Prikaz ukupnih vrednosti kolona na listu sa podacima.

Nazad na vrh

Operacije sa datumom u upitima

Skoro sve baze podataka skladište i prate datume i vremena. U programu Access sa datumima i vremenima radite tako što podešavate polja datuma i vremena u tabelama na tip podataka „Datum/Vreme“. Access može da izvrši aritmetička izračunavanja nad datumima. Na primer, možete da izračunate koliko dana je prošlo od datuma fakture kako biste ažurirali potraživanja.

Izraz Opis
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) Pravi polje pod imenom „VremeKašnjenja“, a zatim koristi funkciju DateDiff za prikazivanje broja dana između datuma porudžbine i isporuke.
YearHired: DatePart("yyyy",[HireDate]) Pravi polje imenom „GodinaZapošljavanja“, a zatim koristi funkciju „DatePart“ za prikazivanje godine kada je svaki zaposleni dobio posao.
MinusThirty: Date( )- 30 Pravi polje imenom „MinusTrideset“, a zatim koristi funkciju „Date“ za prikazivanje datuma 30 dana pre trenutnog datuma.

Nazad na vrh

SQL agregatne funkcije u upitima

Izrazi u sledećoj tabeli koriste SQL funkcije koje agregiraju ili rezimiraju podatke. Često vidite funkcije kao što su Sum, Counti koje Avg se nazivaju agregatnim funkcijama.

Pored agregatnih funkcija, Access obezbeđuje i agregatne funkcije domena koje omogućavaju da selektivno sabirate ili brojite vrednosti. Na primer, možete da prebrojite samo vrednosti u okviru određenog opsega ili da potražite vrednosti iz druge tabele. Agregatne funkcije domena uključuju DSum, DCount i DAvg.

Često morate da kreirate upit zbirova da biste izračunali ukupne vrednosti. Na primer, da biste rezimirali po grupi, koristite upit zbirova. Da biste omogućili upit za ukupne vrednosti iz koordinatne mreže za dizajn upita, izaberite stavku "Ukupne vrednosti " u meniju " Prikaz ".

Izraz Opis
RowCount: Count(*) Pravi polje pod imenom „BrojRedova“, a zatim koristi funkciju Count za prebrojavanje broja zapisa u upitu, uključujući zapise sa poljima bez vrednosti (praznim poljima).
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Kreira polje pod imenom FreightPercentage, a zatim izračunava procenat troškova prevoza u svakoj međuvrednosti tako što deli zbir vrednosti u Freight polju zbirom vrednosti Subtotal u polju. Ovaj primer koristi funkciju Sum . Ovaj izraz morate da koristite sa upitom zbirova. Ako postavite svojstvo Format polja na Percentvrednost , ne uključujte *100. Dodatne informacije o pravljenju upita za ukupne vrednosti potražite u članku "Sabiranje podataka pomoću upita".
AverageFreight: DAvg("[Freight]", "[Orders]") Pravi polje pod imenom „ProsekTroškovaPrevoza“, a zatim koristi funkciju DAvg za izračunavanje prosečnih troškova prevoza za sve porudžbine kombinovane u upitu zbirova.

Nazad na vrh

Polja sa podacima koji nedostaju

Izrazi koji su prikazani ovde funkcionišu sa poljima u kojima možda nedostaju informacije, kao što su ona bez vrednosti (sa nepoznatim ili nedefinisanim vrednostima). Često nailazite na prazne vrednosti, kao što je nepoznata cena za novi proizvod ili vrednost koju je saradnik zaboravio da doda u porudžbinu. Mogućnost pronalaženja i obrade praznih vrednosti može da bude najvažniji deo operacija baze podataka, a izrazi u sledećoj tabeli pokazuju neke uobičajene načine za rukovanje praznim vrednostima.

Izraz Opis
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) Pravi polje pod imenom „TrenutnaZemljaRegion“, a zatim koristi funkcije IIf i IsNull za prikazivanje prazne niske u tom polju kada je polje „ZemljaRegion“ bez vrednosti. U suprotnom, prikazuje sadržaj polja „ZemljaRegion“.
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) Pravi polje pod imenom „ProtekloVreme“, a zatim koristi funkcije IIf i IsNull za prikazivanje poruke „Proveri da li nedostaje datum“ ako je bilo koje od polja „ZahtevaniDatum“ ili „DatumIsporuke“ bez vrednosti. U suprotnom, prikazuje razliku između datuma.
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) Pravi polje „ProdajaUŠestMeseci“, a zatim prikazuje zbir vrednosti iz polja „ProdajaUPrvomKvartalu“ i „ProdajaUDrugomKvartalu“, tako što prvo koristi funkciju Nz za konvertovanje svih praznih vrednosti u vrednost nula.

Nazad na vrh

Izračunata polja pomoću podupita

Ugnežđeni upit, koji se naziva i podupit, možete da koristite da biste napravili izračunato polje. Izraz u sledećoj tabeli predstavlja jedan primer izračunatog polja koje proističe iz podupita.

Izraz Opis
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) Pravi polje pod imenom „Kategorija“, a zatim prikazuje „ImeKategorije“, ako je „IDKategorije“ iz tabele „Kategorije“ isti kao „IDKategorije“ iz tabele „Proizvodi“.

Nazad na vrh

Podudaranje tekstualnih vrednosti

Uzorci izraza u ovoj tabeli pokazuju kriterijume koji traže cela ili delimična podudaranja sa tekstualnim vrednostima.

Polje Izraz Opis
GradOtpreme "London" Prikazuje porudžbine isporučene u London.
GradOtpreme "London" Or "Hedge End" Koristi Or operator za prikaz porudžbina isporučenih u London ili Hedž End.
ZemljaRegionOtpreme In("Canada", "UK") Koristi operator In za prikaz porudžbina isporučenih u Kanadu ili UK.
ZemljaRegionOtpreme Not "USA" Koristi Not operator za prikaz porudžbina isporučenih u zemlje/regione koji nisu SAD.
Ime proizvoda Not Like "C*" Koristi Not operator i * džoker znak za prikaz proizvoda čija imena ne počinju slovom C.
Ime preduzeća >="N" Prikazuje porudžbine isporučene preduzećima čija imena počinju slovima N do Z.
ŠifraProizvoda Right([ProductCode], 2)="99" Koristi funkciju Right za prikaz porudžbina sa vrednostima koda proizvoda koje se završavaju sa 99.
ImeOtpreme Like "S*" Prikazuje porudžbine isporučene klijentima čija imena počinju slovom S.

Nazad na vrh

Podudaranje kriterijuma datuma

Izrazi u sledećoj tabeli pokazuju korišćenje datuma i povezanih funkcija u kriterijumima izraza. Dodatne informacije o unosu i korišćenju vrednosti datuma potražite u članku Unos vrednosti datuma ili vremena.

Polje Izraz Opis
Datum isporuke #2/2/2017# Prikazuje porudžbine isporučene 2. februara 2017.
Datum isporuke Date() Prikazuje porudžbine isporučene danas.
ZahtevaniDatum Between Date( ) And DateAdd("m", 3, Date( )) Koristi Between...And operator i funkcije DateAdd i Date za prikaz porudžbina obaveznih između tekućeg datuma i tri meseca od tekućeg datuma.
Datum porudžbine < Date( ) - 30 Koristi funkciju „Date“ za prikazivanje porudžbina starijih od 30 dana.
Datum porudžbine Year([OrderDate])=2017 Koristi funkciju „Year“ za prikazivanje porudžbina sa datumima porudžbine iz 2017. godine.
Datum porudžbine DatePart("q", [OrderDate])=4 Koristi funkciju „DatePart“ za prikazivanje porudžbina za četvrti kalendarski kvartal.
Datum porudžbine DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 Koristi funkcije „DateSerial“, „Year“ i „Month“ za prikazivanje porudžbina za poslednji dan u svakom mesecu.
Datum porudžbine Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) Koristi funkcije „Year“ i „Month“ i operator „And“ za prikazivanje porudžbina za tekuću godinu i mesec.
Datum isporuke Between #1/5/2017# And #1/10/2017# Koristi Between...Andoperator za prikaz porudžbina isporučenih pre 5.01.2017. i najkasnije 10.017.
ZahtevaniDatum Between Date( ) And DateAdd("M", 3, Date( )) Koristi Between...And operator za prikaz porudžbina obaveznih između tekućeg datuma i tri meseca od tekućeg datuma.
DatumRođenja Month([BirthDate])=Month(Date()) Koristi funkcije „Month“ i „Date“ za prikazivanje zaposlenih kojima je rođendan ovog meseca.

Nazad na vrh

Pronalaženje podataka koji nedostaju

Izrazi u sledećoj tabeli funkcionišu sa poljima kojima možda nedostaju informacije – onima koja možda sadrže praznu vrednost ili nisku nulte dužine. Prazna vrednost predstavlja odsustvo informacija. Ona nije nula ili bilo koja druga vrednost. Access podržava tu ideju informacija koje nedostaju jer je taj koncept od suštinske važnosti za integritet baze podataka. U stvarnom svetu informacije često nedostaju, možda i samo privremeno (na primer, cena novog proizvoda o kojoj još nije odlučeno). Stoga baza podataka koja služi kao model entiteta iz stvarnog sveta, kao što je preduzeće, mora imati mogućnost da zapiše informacije kao nedostajuće. Funkciju IsNull možete da koristite za određivanje toga da li su polje ili kontrola bez vrednosti, a funkciju Nz možete da koristite za konvertovanje prazne vrednosti u nulu.

Polje Izraz Opis
RegionOtpreme Is Null Prikazuje porudžbine za klijente čije je polje „RegionOtpreme“ bez vrednosti (vrednost nedostaje).
RegionOtpreme Is Not Null Prikazuje porudžbine za klijente čije polje „RegionOtpreme“ sadrži vrednost.
Faks "" Prikazuje porudžbine za klijente koji nemaju faks mašinu, označene vrednošću niske nulte dužine u polju „Faks“ umesto prazne vrednosti (koja nedostaje).

Nazad na vrh

Podudaranje obrazaca zapisa pomoću operatora „Like“

Operator Like pruža veliku fleksibilnost kada pokušavate da podudarite redove koji prate obrazac zato što možete da koristite Like sa džoker znakovima i definišete obrasce za podudaranje programa Access. Na primer, * džoker znak (zvezdica) podudara se sa nizom znakova bilo kog tipa i olakšava pronalaženje svih imena koja počinju slovom. Na primer, izraz koristite Like "S*" da biste pronašli sva imena koja počinju slovom S. Više informacija potražite u članku Operator Like.

Polje Izraz Opis
ImeOtpreme Like "S*" Pronalazi sve zapise u polju „ImeOtpreme“ koja počinju na slovo S.
ImeOtpreme Like "*Imports" Pronalazi sve zapise u polju „ImeOtpreme“ koji se završavaju na reč „Uvozi“.
ImeOtpreme Like "[A-D]*" Pronalazi sve zapise u polju „ImeOtpreme“ koji počinju na slovo A, B, C ili D.
ImeOtpreme Like "*ar*" Pronalazi sve zapise u polju „ImeOtpreme“ koji sadrže niz slova „ar“.
ImeOtpreme Like "Maison Dewe?" Pronalazi sve zapise u polju „ImeOtpreme“ koji sadrže reč „Maison“ u prvom delu vrednosti i nisku od pet slova u kojoj su prva četiri slova „Dewe“, a poslednje je nepoznato.
ImeOtpreme Not Like "A*" Pronalazi sve zapise u polju „ImeOtpreme“ koji ne počinju na slovo A.

Nazad na vrh

Podudaranje redova pomoću SQL agregatnih funkcija

SQL agregatnu funkciju domena koristite kada treba selektivno da saberete, prebrojite ili izračunate prosek vrednosti. Na primer, možda želite da prebrojite samo one vrednosti koje spadaju u određeni opseg ili koje imaju rezultat „Da“. U drugim prilikama možda treba da potražite vrednost iz druge tabele kako biste mogli da je prikažete. Uzorci izraza u sledećoj tabeli koriste agregatne funkcije domena za izvršavanje izračunavanja nad skupom vrednosti i koriste rezultat kao kriterijume za upit.

Polje Izraz Opis
Troškovi prevoza > (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) Koristi funkcije DStDev i DAvg za prikazivanje svih porudžbina za koje su troškovi prevoza porasli iznad zbira srednje vrednosti i standardne devijacije za trošak prevoza.
Količina > DAvg("[Quantity]", "[Order Details]") Koristi funkciju „DAvg“ za prikazivanje proizvoda naručenih u količinama iznad prosečne količine porudžbine.

Nazad na vrh

Podudaranje polja sa podupitima

Podupit, koji se naziva i ugnežđeni upit, koristite da biste izračunali vrednost koja će se koristiti kao kriterijum. Ovi uzorci izraza u sledećoj tabeli pronalaze podudaranja redova na osnovu rezultata dobijenog pomoću podupita.

Polje Izraz Prikazuje
Cena po jedinici (SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") Proizvodi čija je cena ista kao cena sirupa od semena anisa.
CenaPoJedinici >(SELECT AVG([UnitPrice]) FROM [Products]) Proizvodi čija je cena po jedinici veća od prosečne.
Plata > ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) Plata svakog predstavnika prodaje čija je plata viša od plate zaposlenih koji u nazivu radnog mesta imaju „Menadžer“ ili „Potpredsednik“.
UkupnaPorudžbna: [Cena po jedinici] * [Količina] > (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) Porudžbine sa ukupnim vrednostima koje su više od prosečne vrednosti porudžbine.

Nazad na vrh

Upiti za ažuriranje

Upit za ažuriranje koristite za izmenu podataka u postojećim poljima u bazi podataka. Na primer, možete da zamenite vrednosti ili da ih potpuno izbrišete. Ova tabela prikazuje neke načine za korišćenje izraza u upitima za ažuriranje. Koristite ove izraze u Update To redu u koordinatnoj mreži za dizajn upita za polje koje želite da ažurirate.

Dodatne informacije o pravljenju upita za ažuriranje potražite u članku Pravljenje i pokretanje upita za ažuriranje.

Polje Izraz Rezultat
Naslov "Salesperson" Menja tekstualnu vrednost u „Prodavac“.
PočetakProjekta #8/10/17# Menja vrednost datuma u 10-Aug-17.
Otpisano Yes U polju tipa „Da/Ne“ menja vrednost „Ne“ u vrednost „Da“.
BrojDela "PN" & [PartNumber] Dodaje „BD“ na početak svakog navedenog broja dela.
UkupnaVrednostStavkePredmeta [UnitPrice] * [Quantity] Izračunava stavke „CenaPoJedinici“ i „Količina“ za proizvod.
Troškovi prevoza [Freight] * 1.5 Povećava troškove prevoza za 50 procenata.
Prodaja DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) Ažurira ukupne vrednosti prodaje na osnovu stavki „Količina“ i „CenaPoJedinici“ tamo gde se vrednosti stavke „IDProizvoda“ u trenutnoj tabeli podudaraju sa vrednostima stavke „IDProizvoda“ u tabeli „Detalji porudžbine“.
PoštanskiBrojZaOtpremu Right([ShipPostalCode], 5) Odseca krajnje leve znakove i ostavlja pet krajnjih desnih znakova.
Cena po jedinici Nz([UnitPrice]) Menja praznu vrednost (nepoznatu ili nedefinisanu vrednost) u vrednost nula (0) u polju „CenaPoJedinici“.

Nazad na vrh

SQL izjave

Structured Query Language (SQL) je jezik upita koji Access koristi. Svaki upit koji kreirate u prikazu dizajna upita može da se izrazi i pomoću SQL-a. Da biste videli SQL izraz za bilo koji upit, izaberite SQL prikaz u meniju " Prikaz ". Sledeća tabela prikazuje uzorke SQL izraza koji koriste izraz.

SQL izjava koji koristi izraz Rezultat
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; Prikazuje vrednosti iz polja „Ime“ i „Prezime“ za zaposlene koji se prezivaju Jovanović.
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; Prikazuje vrednosti u poljima „IDProizvoda“ i „ImeProizvoda“ u tabeli „Proizvodi“ za zapise u kojima se vrednost stavke „IDKategorije“ podudara sa vrednošću stavke „IDKategorije“ navedenom u otvorenom obrascu „Novi proizvodi“.
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; Izračunava prosečnu ukupnu cenu za porudžbine za koje je vrednost u polju „UkupnaCena“ veća od 1000 i prikazuje je je u polju pod imenom „Prosečna ukupna cena“.
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; U polju pod imenom „BrojIDovaProizvoda“ prikazuje ukupan broj proizvoda za kategorije sa više od 10 proizvoda.

Nazad na vrh

Izrazi tabele

Dva najčešća načina za korišćenje izraza u tabelama je dodeljivanje podrazumevane vrednosti i kreiranje pravila za validaciju.

Podrazumevane vrednosti polja

Prilikom dizajniranja baze podataka možda bi trebalo da dodelite podrazumevanu vrednost polju ili kontroli. Access zatim pruža tu vrednost kada se napravi novi zapis koji sadrži polje ili kada se kreira objekat koji sadrži kontrolu. Izrazi u sledećoj tabeli prikazuju uzorke podrazumevanih vrednosti za polje ili kontrolu. Ako je kontrola povezana sa poljem u tabeli i polje ima podrazumevanu vrednost, prvenstvo ima podrazumevana vrednost kontrole.

Polje Izraz Podrazumevana vrednost polja
Količina 1 1
Region "MT" MT
Region "New York, N.Y." Njujork, Njujork (Imajte na umu da vrednost morate da stavite pod navodnike ako sadrži znakove interpunkcije.)
Faks "" Niska nulte dužine koja upućuje na to da ovo polje podrazumevano treba da bude prazno, a ne bez vrednosti.
Datum porudžbine Date( ) Današnji datum
KrajnjiRok Date() + 60 Datum 60 dana posle današnjeg

Nazad na vrh

Pravila za validaciju polja

Pravilo za validaciju za polje ili kontrolu možete da napravite pomoću izraza. Access zatim može da nametne pravilo kada se podaci unose u polje ili kontrolu. Da biste kreirali pravilo za validaciju, izmenite ValidationRule svojstvo polja ili kontrole. Trebalo bi da razmotrite i podešavanje ValidationText svojstva koje sadrži tekst koji Access prikazuje kada se krši pravilo za validaciju. Ako ne postavite ValidationText svojstvo, Access prikazuje podrazumevanu poruku o grešci.

Primeri u sledećoj tabeli prikazuju izraze pravila za validaciju za ValidationRule svojstvo i povezani tekst za ValidationText svojstvo.

Svojstvo „PraviloZaValidaciju“ Svojstvo „TekstValidacije“
<> 0 Unesite vrednost koja nije nula.
0 Or > 100 Vrednost mora da bude 0 ili veća od 100.
Like "K???" Vrednost mora da ima četiri znaka i da počinje na slovo K.
< #1/1/2017# Unesite datum pre 1.1.2017. godine.
>= #1/1/2017# And < #1/1/2008# Datum mora biti iz 2017. godine.

Dodatne informacije o proveri valjanosti podataka potražite u članku Pravljenje pravila za validaciju za proveru valjanosti podataka u polju.

Nazad na vrh

Izrazi makroa

U nekim slučajevima, možda ćete želeti da izvršite neku radnju ili grupu radnji u makrou samo ako je ispunjen neki uslov. Na primer, pretpostavimo da želite da se radnja izvrši samo kada je vrednost u okviru „brojača“ 10. Izraz koristite za definisanje uslova u bloku "If":

[Counter]=10

Kao i kod ValidationRule svojstva, izraz u bloku "If" je uslovni izraz. Mora da se razreši na bilo ili TrueFalse. Radnja se izvršava samo kada je uslov ispunjen.

Koristite ovaj izraz da biste izvršili radnju If
[City]="Paris" „Pariz“ je vrednost stavke „Grad“ u polju u obrascu iz kog je pokrenut makro.
DCount("[OrderID]", "Orders") > 35 Postoji više od 35 unosa u polju „IDPorudžbine“ u tabeli „Porudžbine“.
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 Postoji više od tri unosa u tabeli „Detalji porudžbine“ za koje se polje „IDPorudžbine“ u tabeli podudara sa poljem „IDPorudžbine“ u obrascu.
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# Vrednost polja „DatumIsporuke“ u obrascu iz kog je pokrenut makro nije pre 2. februara 2017. i posle 2. marta 2017.
Forms![Products]![UnitsInStock] < 5 Vrednost polja „JediniceUSkladištu“ u obrascu „Proizvodi“ manja je od 5.
IsNull([FirstName]) Stavka „Ime“ u obrascu iz kog je pokrenut makro jeste bez vrednosti (nema vrednost). Ovaj izraz je isti kao [Ime] Is Null.
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 Vrednost u polju „ZemljaRegion“ u obrascu iz kog je pokrenut makro jeste „UK“, a vrednost polja „UkupnePorudžbine“ u obrascu „UkupnaProdaja“ veća je od 100.
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 Vrednost u polju „ZemljaRegion“ u obrascu iz kog je pokrenut makro jeste „Francuska“, „Italija“ ili „Španija“, a poštanski broj nije dug 5 znakova.
MsgBox("Confirm changes?",1)=1 Kliknuli ste na dugme U redu u dijalogu koji prikazuje funkcija MsgBox. Ako u dijalogu kliknete na dugme Otkaži, Access će zanemariti radnju.

Nazad na vrh

Takođe pogledajte