Další informace o vytváření dotazů najdete v tématu Úvod do dotazů.
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.
V tomto článku
- Příklady, kde se aktuální datum používá v kritériích
- Příklady, kde se pracuje s jiným datem nebo rozsahem dat než s aktuálním datem
- Příklady, které filtruje data s hodnotou null (chybějící) nebo kalendářní data, která nejsou null
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 je dnešní datum 2. 2. 2012, uvidíte položky, u kterých je pole s datem nastavené na 2. únor 2012. |
| Obsahují včerejší datum. | Date()-1 | Vrátí položky se včerejším datem. Pokud je dnešní datum 2. 2. 2012, zobrazí se položky s datem 1. února 2012. |
| Obsahují zítřejší datum. | Date() + 1 | Vrátí položky s zítřejším datem. Pokud je dnešní datum 2. února 2012, zobrazí se položky s datem 3. února 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 dnešní 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 je dnešní datum 2. 2. 2012, zobrazí se položky 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 je dnešní datum 2. 2. 2012, zobrazí se položky 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 je dnešní datum 2.2.2012, zobrazí se položky 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 dnešní 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 je dnešní datum 2. 2. 2012, zobrazí se položky 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 je dnešní datum 2. 2. 2012, zobrazí se položky 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 je dnešní datum 2. 2. 2012, zobrazí se položky 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 je dnešní datum 2. 2. 2012, zobrazí se položky pro rok 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 je dnešní datum 2. 2. 2012, zobrazí se položky 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 je dnešní datum 2. 2. 2012, zobrazí se položky 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([SalesDate]) <= Month(Date()) and Day([SalesDate]) <= Day (Date()) | Vrátí položky s datem od 1. ledna aktuálního roku do dnešního dne. Pokud je dnešní datum 2. 2. 2012, zobrazí se položky pro období od 1. ledna 2012 do 2. 2. 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 zobrazit položky s datem 2. února 2012 nebo dříve, 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 zobrazit položky s datem 2. února 2012 nebo později, 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: Pomocí operátoru Between můžete také filtrovat rozsah hodnot, včetně koncových bodů. Například hodnoty Between #2.2.2012# and #4.2.2012# jsou stejné jako >=#2.2.2012# a <=#4.2.2012#. |
| Obsahují data mimo určitý rozsah kalendářních dat. | <#2.2.2012# nebo >#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í.