Dodatne informacije o stvaranju upita potražite u uvodima u upite.
Evo primjera nekih čestih datumskih kriterija, od jednostavnih datumskih filtara do složenijih izračuna koji koriste raspone datuma. U nekim složenijim primjerima za izdvajanje raznih dijelova datuma koriste se funkcije datuma programa Access da biste dobili točno one rezultate koje tražite.
Sadržaj članka
- Primjeri kriterija u kojima se koristi trenutni datum
- Primjeri u kojima se koriste datum ili raspon datuma koji nisu trenutni datum
- Primjeri u kojima se filtriraju datumi s vrijednosti null (datumi koji nedostaju) ili datumi kojima vrijednost nije null
Primjeri kriterija u kojima se koristi trenutni datum
| Za obuhvaćanje stavki koje... | Kriterij | Rezultat upita |
|---|---|---|
| Sadrže današnji datum | Date() | Vraća stavke s današnjim datumom. Ako je danas 2. 2. 2012., vidjet ćete stavke u kojima je polje datuma postavljeno na 2. veljače 2012. |
| Sadrže jučerašnji datum | Date()-1 | Vraća stavke s jučerašnjim datumom. Ako je danas 2. 2. 2012., vidjet ćete stavke za 1. veljače 2012. |
| Sadrže sutrašnji datum | Date() + 1 | Vraća stavke sa sutrašnjim datumom. Ako je danas 2. veljače 2012., vidjet ćete stavke za 3. veljače 2012. |
| Sadrže datume iz trenutnog tjedna | DatePart("ww"; [DatumProdaje]) = DatePart("ww"; Date()) and Year( [DatumProdaje]) = Year(Date()) | Vraća stavke čiji je datum u trenutnom tjednu. Tjedan u programu Access počinje nedjeljom, a završava subotom. |
| Sadrže datume iz prethodnog tjedna | Year([DatumProdaje])* 53 + DatePart("ww"; [DatumProdaje]) = Year(Date())* 53 + DatePart("ww"; Date()) - 1 | Vraća stavke čiji je datum u prošlom tjednu. Tjedan u programu Access počinje nedjeljom, a završava subotom. |
| Sadrže datume iz sljedećeg tjedna | Year([DatumProdaje])* 53+DatePart("ww"; [DatumProdaje]) = Year(Date())* 53+DatePart("ww"; Date()) + 1 | Vraća stavke čiji je datum u sljedećem tjednu. Tjedan u programu Access počinje nedjeljom, a završava subotom. |
| Sadrže datum koji pada u zadnjih sedam dana | Between Date() and Date()-6 | Vraća stavke čiji je datum u zadnjih sedam dana. Ako je danas 2. 2. 2012., vidjet ćete stavke za razdoblje od 24. siječnja 2012. do 2. veljače 2012. |
| Sadrže datum iz trenutnog mjeseca | Year([DatumProdaje]) = Year(Now()) And Month([DatumProdaje]) = Month(Now()) | Vraća stavke čiji je datum u trenutnom mjesecu. Ako je danas 2. 2. 2012., vidjet ćete stavke za veljaču 2012. |
| Sadrže datum iz prethodnog mjeseca | Year([DatumProdaje])* 12 + DatePart("m"; [DatumProdaje]) = Year(Date())* 12 + DatePart("m"; Date()) - 1 | Vraća stavke čiji je datum u prethodnom mjesecu. Ako je danas 2. 2. 2012., vidjet ćete stavke za siječanj 2012. |
| Sadrže datum iz sljedećeg mjeseca | Year([DatumProdaje])* 12 + DatePart("m"; [DatumProdaje]) = Year(Date())* 12 + DatePart("m"; Date()) + 1 | Vraća stavke čiji je datum u sljedećem mjesecu. Ako je danas 2. 2. 2012., vidjet ćete stavke za ožujak 2012. |
| Sadrže datum koji pada u zadnjih 30 ili 31 dan | Between Date() And DateAdd("M"; - 1; Date()) | Vraća stavke za mjesec dana. Ako je danas 2. 2. 2012., vidjet ćete stavke za razdoblje od 2. siječnja 2012. do 2. veljače 2012. |
| Sadrže datum iz trenutnog tromjesečja | Year([DatumProdaje]) = Year(Now()) And DatePart("q", [DatumProdaje]) = DatePart("q", Now()) | Vraća stavke za trenutno tromjesečje. Ako je danas 2. 2. 2012., vidjet ćete stavke za prvo tromjesečje 2012. |
| Sadrže datum iz prethodnog tromjesečja | Year([DatumProdaje])*4+DatePart("q";[DatumProdaje]) = Year(Date())*4+DatePart("q";Date())- 1 | Vraća stavke za prethodno tromjesečje. Ako je danas 2. 2. 2012., vidjet ćete stavke za posljednje tromjesečje 2011. |
| Sadrže datum iz sljedećeg tromjesečja | Year([DatumProdaje])*4+DatePart("q";[DatumProdaje]) = Year(Date())*4+DatePart("q";Date())+1 | Vraća stavke za sljedeće tromjesečje. Ako je danas 2. 2. 2012., vidjet ćete stavke za drugo tromjesečje 2012. |
| Sadrže datum iz trenutne godine | Year([DatumProdaje]) = Year(Date()) | Vraća stavke za tekuću godinu. Ako je danas 2. 2. 2012., vidjet ćete stavke za 2012. godinu. |
| Sadrže datum iz prethodne godine | Year([DatumProdaje]) = Year(Date()) - 1 | Vraća stavke za prethodnu godinu. Ako je danas 2. 2. 2012., vidjet ćete stavke za 2011. godinu. |
| Sadrže datum iz sljedeće godine | Year([DatumProdaje]) = Year(Date()) + 1 | Vraća stavke s datumom u sljedećoj godini. Ako je danas 2. 2. 2012., vidjet ćete stavke za 2013. godinu. |
| Sadrže datum od 1. siječnja do danas (ovogodišnje stavke do današnjeg dana) | Year([DatumProdaje]) = Year(Date()) and Month([DatumProdaje]) <= Month(Date()) and Day([DatumProdaje]) <= Day (Date()) | Vraća stavke čiji je datum od 1. siječnja trenutne godine do današnjeg dana. Ako je danas 2. 2. 2012., vidjet ćete stavke za razdoblje od 1. siječnja 2012. do 2. 2. 2012. |
| Sadrže datum u prošlosti | < Datum() | Vraća stavke čiji je datum prije današnjeg. |
| Sadrže datum u budućnosti | > Datum() | Vraća stavke čiji je datum nakon današnjeg. |
Primjeri u kojima se koriste datum ili raspon datuma koji nisu trenutni datum
| Za obuhvaćanje stavki koje... | Kriterij | Rezultat upita |
|---|---|---|
| U potpunosti se podudaraju s datumom, primjerice 2.2.2012. | #2. 2. 2012.# | Vraća samo stavke s datumom 2. veljače 2012. |
| Ne podudaraju se s datumom, primjerice 2.2.2012. | Not #2. 2. 2012.# | Vraća stavke čiji datum nije 2. veljače 2012. |
| Sadrže vrijednosti prije određenog datuma, npr. 2. 2. 2012. | < #2/2/2012# | Vraća stavke čiji je datum prije 2. veljače 2012. Da biste prikazali stavke čiji je datum 2. veljače 2012. ili prije, koristite <operator = umjesto operatora < . |
| Sadrže vrijednosti nakon određenog datuma, npr. 2. 2. 2012. | > #2/2/2012# | Vraća stavke čiji je datum nakon 2. veljače 2012. Da biste vidjeli stavke čiji je datum 2. veljače 2012. ili kasnije, koristite >operator = umjesto operatora > . |
| Sadrže vrijednosti unutar datumskog raspona (između dva datuma) | >#2/2/2012# and <#4/2/2012# | Vraća stavke čiji je datum između 2. veljače 2012. i 4. veljače 2012. Napomena: Raspon vrijednosti koji obuhvaća i krajnje točke možete filtrirati i pomoću operatora Between Na primjer: Between #2/2/2012# and #4/2/2012# jednako je kao >=#2/2/2012# and <=#4/2/2012#. |
| Sadrže datume izvan raspona | <#2/2/2012# ili >#4/2/2012# | Vraća stavke čiji je datum prije 2. veljače 2012. ili nakon 4. veljače 2012. |
| Sadrže jednu od dvije vrijednosti, npr. 2. 2. 2012. ili 3. 2. 2012. | #2/2/2012# or #3/2/2012# | Vraća stavke čiji je datum 2. veljače 2012. ili 3. veljače 2012. |
| Sadrže jedan ili više datuma od većeg broja datuma | In (#1/2/2012#; #1/3/2012#; #1/4/2012#) | Vraća stavke čiji je datum 1. veljače 2012., 1. ožujka 2012. ili 1. travnja 2012. |
| Sadrže datum u određenom mjesecu (bez obzira na godinu), npr. prosincu | DatePart("m"; [DatumProdaje]) = 12 | Vraća stavke čiji je datum u prosincu bilo koje godine. |
| Sadrže datum u određenom tromjesečju (bez obzira na godinu), npr. u prvom tromjesečju | DatePart("q"; [DatumProdaje]) = 1 | Vraća stavke čiji je datum u prvom tromjesečju bilo koje godine. |
| Filtriraju vrijednosti null (vrijednosti kojih nema) | je null | Vraća stavke u koje nije unesen datum. |
| Filtriraju vrijednosti koje nisu null | nije null | Vraća stavke u koje je unesen datum. |
Primjeri u kojima se filtriraju datumi s vrijednosti null (datumi koji nedostaju) ili datumi kojima vrijednost nije null
| Za obuhvaćanje stavki koje... | Kriterij | Rezultat upita |
|---|---|---|
| Filtriraju vrijednosti null (vrijednosti kojih nema) | je null | Vraća stavke u koje nije unesen datum. |
| Filtriraju vrijednosti koje nisu null | nije null | Vraća stavke u koje je unesen datum. |
Imate problema s datumskim kriterijima, odnosno ne dobijete očekivani rezultat? Pogledajte članak Datumski kriterij ne funkcionira u mojem upitu.