Příklady použití kalendářních dat jako kritérií v accessových dotazech
Applies ToAccess pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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í.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.