Víc o vytváření dotazů najdete v článku Úvod k dotazům.
Tady jsou některé běžné příklady použití kalendářních dat v kritériích – od jednoduchých filtrů dat až ke složitějším výpočtům rozsahů kalendářních dat. Některé ze složitějších příkladů ukazují použití datových funkcí Accessu k získání různých části kalendářního data podle potřeby.
Příklady, kde se aktuální datum používá v kritériích
Chcete získat položky, které |
Použijte tato kritéria |
Výsledek dotazu |
---|---|---|
Obsahují dnešní datum. |
Date() |
Vrátí položky s datem shodným s dnešním datem. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky, u kterých má pole kalendářního data hodnotu 2. únor 2012. |
Obsahují včerejší datum. |
Date()-1 |
Vrátí položky s datem shodným se včerejším datem. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem 1. únor 2012. |
Obsahují zítřejší datum. |
Date() + 1 |
Vrátí položky s datem shodným se zítřejším datem. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem 3. únor 2012. |
Obsahují datum v aktuálním týdnu. |
DatePart("ww"; [DatumProdeje]) = DatePart("ww"; Date()) and Year([DatumProdeje]) = Year(Date()) |
Vrátí položky s datem v aktuálním týdnu. Týden začíná v Accessu v neděli a končí v sobotu. |
Obsahují datum v předchozím týdnu. |
Year([DatumProdeje])* 53 + DatePart("ww"; [DatumProdeje]) = Year(Date())* 53 + DatePart("ww"; Date()) - 1 |
Vrátí položky s datem v předchozím týdnu. Týden začíná v Accessu v neděli a končí v sobotu. |
Obsahují datum v následujícím týdnu. |
Year([DatumProdeje])* 53+DatePart("ww"; [DatumProdeje]) = Year(Date())* 53+DatePart("ww"; Date()) + 1 |
Vrátí položky s datem v následujícím týdnu. Týden začíná v Accessu v neděli a končí v sobotu. |
Obsahují datum v posledních 7 dnech. |
Between Date() and Date()-6 |
Vrátí položky s daty posledních 7 dnů. Pokud je aktuální datum 2. 2. 2012, zobrazí se položky pro období od 24. ledna 2012 do 2. února 2012. |
Obsahují datum v aktuálním měsíci. |
Year([DatumProdeje]) = Year(Now()) And Month([DatumProdeje]) = Month(Now()) |
Vrátí položky s datem v aktuálním měsíci. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z února 2012. |
Obsahují datum v předchozím měsíci. |
Year([DatumProdeje])* 12 + DatePart("m"; [DatumProdeje]) = Year(Date())* 12 + DatePart("m"; Date()) - 1 |
Vrátí položky s datem v předchozím měsíci. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z ledna 2012. |
Obsahují datum v následujícím měsíci. |
Year([DatumProdeje])* 12 + DatePart("m"; [DatumProdeje]) = Year(Date())* 12 + DatePart("m"; Date()) + 1 |
Vrátí položky s datem v následujícím měsíci. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z března 2012. |
Obsahují datum v posledních 30 nebo 31 dnech. |
Between Date( ) And DateAdd("M"; -1; Date( )) |
Vrátí položky za měsíc. Pokud je aktuální datum 2. 2. 2012, zobrazí se položky pro období od 2. ledna 2012 do 2. února 2012. |
Obsahují datum v aktuálním čtvrtletí. |
Year([DatumProdeje]) = Year(Now()) And DatePart("q", [DatumProdeje]) = DatePart("q", Now()) |
Vrátí položky pro aktuální čtvrtletí. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z prvního čtvrtletí 2012. |
Obsahují datum v předchozím čtvrtletí. |
Year([DatumProdeje])*4+DatePart("q";[DatumProdeje]) = Year(Date())*4+DatePart("q";Date())- 1 |
Vrátí položky s datem v předchozím čtvrtletí. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z posledního čtvrtletí 2011. |
Obsahují datum v následujícím čtvrtletí. |
Year([DatumProdeje])*4+DatePart("q";[DatumProdeje]) = Year(Date())*4+DatePart("q";Date())+1 |
Vrátí položky s datem v následujícím čtvrtletí. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z druhého čtvrtletí 2012. |
Obsahují datum v aktuálním roce. |
Year([DatumProdeje]) = Year(Date()) |
Vrátí položky s datem v aktuálním roce. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z roku 2012. |
Obsahují datum v předchozím roce. |
Year([DatumProdeje]) = Year(Date()) - 1 |
Vrátí položky s datem v předchozím roce. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z roku 2011. |
Obsahují datum v následujícím roce. |
Year([DatumProdeje]) = Year(Date()) + 1 |
Vrátí položky s datem v následujícím roce. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z roku 2013. |
Obsahují datum v období od 1. ledna do dnešního dne (položky od začátku roku do teď). |
Year([DatumProdeje]) = Year(Date()) and Month([DatumProdeje]) <= Month(Date()) and Day([DatumProdeje]) <= Day (Date()) |
Vrátí položky s datem od 1. ledna aktuálního roku do dnešního dne. Pokud by dnešní datum bylo 2. 2. 2012, zobrazí se položky s datem z období 1. ledna 2012 až 2. února 2012. |
Obsahují datum v minulosti. |
< Date() |
Vrátí položky s datem před dnešním dnem. |
Obsahují datum v budoucnosti. |
> Date() |
Vrátí položky s datem po dnešním dni. |
Příklady, kde se pracuje s jiným datem nebo rozsahem dat než s aktuálním datem
Chcete získat položky, které |
Použijte tato kritéria |
Výsledek dotazu |
---|---|---|
Přesně odpovídají určitému datu, například 2.2.2012. |
#2.2.2012# |
Vrátí jenom položky s datem 2. únor 2012. |
Neodpovídají určitému datu, například 2.2.2012. |
Not #2.2.2012# |
Vrátí položky s datem jiným než 2. únor 2012. |
Obsahují hodnoty před určitým datem, například 2.2.2012. |
< #2.2.2012# |
Vrátí položky s datem před 2. únorem 2012. Pokud chcete, aby dotaz vrátil položky včetně 2. února 2012, použijte místo operátoru < operátor <=. |
Obsahují hodnoty po určitém datu, například 2.2.2012. |
> #2.2.2012# |
Vrátí položky s datem po 2. únoru 2012. Pokud chcete, aby dotaz vrátil položky včetně 2. února 2012, použijte místo operátoru > operátor >=. |
Obsahují hodnoty v určitém rozsahu kalendářních dat (mezi dvěma daty). |
>#2.2.2012# and <#4.2.2012# |
Vrátí položky s datem mezi 2. únorem 2012 a 4. únorem 2012. Poznámka: Pokud chcete filtrovat rozsah hodnot včetně koncových bodů, můžete použít operátor Between. Například kritérium Between #2.2.2012# and #4.2.2012# vrátí stejné položky jako kritérium >=#2.2.2012# and <=#4.2.2012#. |
Obsahují data mimo určitý rozsah kalendářních dat. |
<#2.2.2012# or >#4.2.2012# |
Vrátí položky s datem před 2. únorem 2012 a taky položky s datem po 4. únoru 2012. |
Obsahují některé ze dvou dat, například 2.2.2012 nebo 3.2.2012. |
#2.2.2012# or #3.2.2012# |
Vrátí položky s datem 2. únor 2012 a taky položky s datem 3. únor 2012. |
Obsahují jedno nebo několik z mnoha kalendářních dat. |
In (#1.2.2012#, #1.3.2012#, #1.4.2012#) |
Vrátí položky s datem 1. únor 2012, taky položky s datem 1. březen a taky položky s datem 1. duben 2012. |
Obsahují datum v určitém měsíci (bez ohledu na rok), například v prosinci. |
DatePart("m"; [DatumProdeje]) = 12 |
Vrátí položky s datem v prosinci libovolného roku. |
Obsahují datum v určitém čtvrtletí (bez ohledu na rok), například v prvním čtvrtletí. |
DatePart("q"; [DatumProdeje]) = 1 |
Vrátí položky s datem v prvním čtvrtletí libovolného roku. |
Obsahují Null (neobsahují žádnou hodnotu). |
Is Null |
Vrátí položky bez zadaného data. |
Obsahují jakoukoli hodnotu (ne Null). |
Is Not Null |
Vrátí položky se zadaným datem. |
Příklady, které filtruje data s hodnotou null (chybějící) nebo kalendářní data, která nejsou null
Chcete získat položky, které |
Použijte tato kritéria |
Výsledek dotazu |
---|---|---|
Obsahují Null (neobsahují žádnou hodnotu). |
Is Null |
Vrátí položky bez zadaného data. |
Obsahují jakoukoli hodnotu (ne Null). |
Is Not Null |
Vrátí položky se zadaným datem. |
Máte problémy s kritérii založenými na kalendářních datech, jako že třeba nedostáváte očekávané výsledky? Podívejte se na článek Kritéria založená na kalendářních datech v mém dotazu nefungují.