Ovaj članak pruža mnoge primere izraza u programu Access. Izraz je kombinacija matematičkih ili logičkih operatora, konstanti, funkcija, polja tabele, kontrola i svojstava koja kao rezultat daje jednu vrednost. Izraze u programu Access da biste izračunali vrednosti, proverili valjanost podataka i postavili podrazumevanu vrednost.
U ovom članku
Svi izrazi za upit i filtriranje
Podudaranje tekstualnih vrednosti |
Pronalaženje podataka koji nedostaju Podudaranje kriterijuma datuma |
Izračunata polja pomoću podupita |
Obrasci i izveštaji
Tabele u ovom odeljku pružaju primere izraza koji izračunavaju vrednost u kontroli koja se nalazi u obrascu ili izveštaju. Da biste napravili izračunatu kontrolu, unesite izraz u svojstvo kontrole ControlSource umesto u polje tabele ili upit.
Napomena Možete da koristite izraze u obrascu ili izveštaju kada izvršite Isticanje podataka uslovnim oblikovanjem.
Operacije sa tekstom
Izrazi u sledećoj tabeli koriste operatore & (ampersand) i + (plus) za kombinovanje tekstualnih niski, ugrađene funkcije da bi manipulisali tekstualnim niskama ili na drugi način upravljaju tekstom kako bi napravili izračunatu kontrolu.
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 & koristi se za kombinovanje polja „Ime“, znaka za razmak (pod navodnicima) i polja „Prezime“. |
=Left([ProductName], 1) |
Koristi funkciju „Levo“ za prikazivanje prvog znaka vrednosti polja ili kontrole pod imenom „ImeProizvoda“. |
=Right([AssetCode], 2) |
Koristi funkciju „Desno“ za prikazivanje poslednja 2 znaka vrednosti u polju ili kontroli pod imenom „ŠifraImovine“. |
=Trim([Address]) |
Koristi funkciju „Trim“ za prikazivanje vrednosti kontrole „Adresa“, pri čemu uklanja sve razmake na početku ili kraju. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
Koristi funkciju IIf za prikazivanje vrednosti kontrola „Grad“ i „PoštanskiBroj“ ako je kontrola „Region“ bez vrednosti. U suprotnom, prikazuje vrednosti kontrola „Grad“, „Region“ i „PoštanskiBroj“ razdvojene razmacima. |
=[City] & (" " + [Region]) & " " & [PostalCode] |
Koristi operator + i prenos prazne vrednosti 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“ razdvojene razmacima. Prenos prazne vrednosti znači da je ceo izraz bez vrednosti ako je neka komponenta izraza bez vrednosti. Operator + podržava prenos prazne vrednosti, a operator & je ne podržava. |
Zaglavlja i podnožja
Svojstva Stranica i Stranice koristite za prikazivanje ili štampanje brojeva stranica u obrascima ili izveštajima. Svojstva Stranica i Stranice dostupna su samo tokom štampanja ili pregleda pre štampanja, tako da se ne pojavljuju na listu sa svojstvima za obrazac ili izveštaj. Ta svojstva obično koristite tako što postavite okvir za tekst u odeljak zaglavlja ili podnožja obrasca ili izveštaja, a zatim koristite izraz, kao što su oni prikazani 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. |
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 daje vrednost „datum/vreme“ koja je 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 u izrazu koristite aritmetički operator (+, -, * i /), a vrednost jedne od kontrola u izrazu je prazna, rezultat celog izraza biće bez vrednosti – to se zove prenos prazne vrednosti. Ako je neki zapis u jednoj od kontrola koje koristite u izrazu bez vrednosti, prenos prazne vrednosti možete da izbegnete tako što ćete praznu vrednost konvertovati u nulu pomoću funkcije Nz – na primer, =Nz([Subtotal])+Nz([Freight]).
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. |
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, određen deljenjem vrednosti kontrole „Prodaja“ zbirom svih vrednosti kontrole „Prodaja“. Ako podesite svojstvo „Format“ kontrole na vrednost „Procenat“, u izraz nemojte da uključite *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.
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“. |
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 prikazivanje trenutnog datuma u formatu mm-dd-yy, gde je mm mesec (od 1 do 12), dd je dan (od 1 do 31) i yy su poslednje dve cifre godine (od 1980 do 2099). |
=Format(Now(), "ww") |
Koristi funkciju „Format“ za prikazivanje broja sedmice u godini za trenutni datum, gde ww predstavlja 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“. |
Uslovi od samo dve vrednosti.
Primeri izraza u sledećoj tabeli koriste funkciju IIf za davanje jedne od dve moguće vrednosti. Funkciji IIf dajete tri argumenta: Prvi argument je izraz koji mora da daje vrednost True ili False. 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 prikazivanje poruke „Porudžbina je potvrđena“ ako je vrednost kontrole „Potvrđeno“ Yes. 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“. |
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, pomoću operatora Between možete da dodate datum početka i završetka i ograničite rezultate upita na porudžbine koje su isporučene između tih datuma.
Slede primeri izraza koji se koriste u upitima.
Operacije sa tekstom
Izrazi u sledećoj tabeli koriste operatore & i + za kombinovanje tekstualnih niski, koriste ugrađene funkcije da bi radili nad tekstualnim niskama ili na drugi način upravljaju tekstom kako bi napravili izračunato polje.
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. |
Aritmetičke operacije
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 daje vrednost „Datum/Vreme“ koja je 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 |
Pravi polje pod imenom „ProcenatTroškovaPrevoza“, a zatim prikazuje procenat troškova prevoza u svakoj međuvrednosti. Ovaj izraz koristi funkciju Sum za sabiranje vrednosti u polju „TroškoviPrevoza“, a zatim deli te ukupne vrednosti zbirom vrednosti u polju „Međuvrednost“. Da biste koristili ovaj izraz, morate da konvertujete upit za izdvajanje u upit zbirova jer treba da koristite red sa Zbirom u koordinatnoj mreži dizajna i morate da podesite ćeliju Zbir za to polje na vrednost Izraz. Dodatne informacije o pravljenju upita zbirova potražite u članku Sabiranje podataka pomoću upita. Ako podesite svojstvo Format polja na Procenat, nemojte da uključite *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.
Operacije sa datumom
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. |
SQL agregatne funkcije
Izrazi u sledećoj tabeli koriste SQL (Structured Query Language) funkcije koje vrše agregaciju podataka ili ih sabiraju. Često vidite da se te funkcije (na primer, Sum, Count i Avg) nazivaju agregatne funkcije.
Pored agregatnih funkcija, Access pruža i agregatne funkcije „domena“ koje koristite za selektivno sabiranje ili prebrojavanje vrednosti. Na primer, možete da prebrojite samo vrednosti u okviru određenog opsega ili da potražite vrednosti iz druge tabele. Skup agregatnih funkcija domena obuhvata funkcije DSum, DCount i DAvg.
Da biste izračunali ukupne vrednosti, često ćete morati da napravite upit zbirova. Na primer, upit zbirova morate da koristite da biste rezimirali po grupi. Da biste omogućili upit zbirova iz koordinatne mreže dizajna 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 |
Pravi polje pod imenom „ProcenatTroškovaPrevoza“, a zatim izračunava procenat troškova prevoza u svakoj međuvrednosti tako što deli zbir vrednosti u polju „TroškoviPrevoza“ zbirom vrednosti u polju „Međuvrednost“. (Ovaj primer koristi funkciju Sum.) Ovaj izraz morate da koristite sa upitom zbirova. Ako podesite svojstvo Format polja na Procenat, nemojte da uključite *100. Dodatne informacije o pravljenju upita zbirova 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. |
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. |
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“. |
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 operator Or za prikazivanje porudžbina isporučenih u London ili Hedž End. |
ZemljaRegionOtpreme |
In("Canada", "UK") |
Koristi operator In za prikazivanje porudžbina isporučenih u Kanadu ili UK. |
ZemljaRegionOtpreme |
Not "USA" |
Koristi operator Not za prikazivanje porudžbina isporučenih u zemlje/regione koje nisu SAD. |
Ime proizvoda |
Not Like "C*" |
Koristi operator Not i džoker znak * za prikazivanje proizvoda čija imena ne počinju na C. |
Ime preduzeća |
>="N" |
Prikazuje porudžbine isporučene preduzećima čija imena počinju na slova od N do Z. |
ŠifraProizvoda |
Right([ProductCode], 2)="99" |
Koristi funkciju „Right“ za prikazivanje porudžbina sa vrednostima „ŠifraProizvoda“ koje se završavaju na 99. |
ImeOtpreme |
Like "S*" |
Prikazuje porudžbine isporučene klijentima čija imena počinju na slovo S. |
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 operator Between...And i funkcije „DateAdd“ i „Date“ za prikazivanje porudžbina zahtevanih između tekućeg datuma i datuma koji je tri meseca u budućnosti. |
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 operator Between...And za prikazivanje porudžbina isporučenih počev od 5. januara 2017. i do 10. januara 2017. |
ZahtevaniDatum |
Between Date( ) And DateAdd("M", 3, Date( )) |
Koristi operator Between...And za prikazivanje porudžbina zahtevanih između tekućeg datuma i datuma koji je tri meseca u budućnosti. |
DatumRođenja |
Month([BirthDate])=Month(Date()) |
Koristi funkcije „Month“ i „Date“ za prikazivanje zaposlenih kojima je rođendan ovog meseca. |
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). |
Podudaranje obrazaca zapisa pomoću operatora „Like“
Operator Like pruža veliku fleksibilnost kada pokušavate da pronađete podudaranje u redovima koji prate obrazac, zato što možete da koristite Like sa džoker znakovima i definišete obrasce za koje Access treba da pronađe podudaranja. Na primer, džoker znak * (zvezdica) podudara se sa nizom znakova bilo kog tipa i olakšava pronalaženje svih imena koja počinju na neko slovo. Na primer, možete da koristite izraz Like "S*" za pronalaženje svih imena koja počinju na slovo S. Više informacija potražite u članku Like Operator.
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. |
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. |
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. |
Upiti za ažuriranje
Upit za ažuriranje koristite da biste izmenili podatke u postojećim poljima u bazi podataka. Na primer, možete da zamenite vrednosti ili da ih potpuno izbrišete. Ova tabela pokazuje neke načine za korišćenje izraza u upitu za ažuriranje. Ove izraze koristite u redu Ažuriraj u 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“. |
SQL izjave
Structured Query Language ili SQL jeste jezik upita koji Access koristi. Svaki upit koji napravite u prikazu dizajna može da se izrazi i pomoću SQL-a. Da biste videli SQL izraz za bilo koji upit, izaberite stavku SQL prikaz u meniju Prikaz. Sledeća tabela prikazuje uzorak SQL izjave koje 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. |
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 podrazumevanu vrednost kada se napravi novi zapis koji sadrži polje ili kada se napravi objekat koji sadrži kontrolu. Izrazi u sledećoj tabeli predstavljaju uzorke podrazumevanih vrednosti za polje ili kontrolu. Ako je kontrola povezana sa poljem u tabeli, a polje ima podrazumevanu vrednost, prednost 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 |
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 napravili pravilo za validaciju, menjate svojstvo PraviloZaValidaciju polja ili kontrole. Trebalo bi da razmislite i o tome da podesite svojstvo TekstValidacije koje sadrži tekst koji Access prikazuje kada se prekrši pravilo za validaciju. Ako ne podesite svojstvo TekstValidacije, Access prikazuje podrazumevanu poruku o grešci.
Primeri u sledećoj tabeli pokazuju izraze pravila za validaciju za svojstvo PraviloZaValidaciju i povezani tekst za svojstvo TekstValidacije.
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.
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 sa svojstvom ValidationRule , izraz u bloku If je uslovni izraz. On mora da ima vrednost True ili False 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. |