Funkce DCount slouží k určení počtu záznamů v zadané množině záznamů (doméně (Doména: Sada záznamů definovaná tabulkou, dotazem nebo výrazem SQL. Agregační doménové funkce vracejí statistické informace o určité doméně neboli sadě záznamů.)). Funkci DCount lze použít v modulu Visual Basic for Applications (VBA), makru (Makro: Akce nebo posloupnost akcí, které lze použít k automatizaci úloh. Makra se zaznamenávají v programovacím jazyce Visual Basic for Applications.), výrazu dotazu nebo výpočtovém ovládacím prvku (Výpočtový ovládací prvek: Ovládací prvek používaný ve formuláři, sestavě nebo na datové stránce k zobrazení výsledku výrazu. Výsledek je přepočítán při každé změně hodnot použitých ve výrazu.).
Pomocí funkce DCount použité v modulu lze například vrátit počet záznamů v tabulce Orders (Objednávky), které odpovídají objednávkám provedeným k určitému datu.
Syntaxe
DCount(výraz, doména [, kritéria] )
Syntaxe funkce DCount zahrnuje následující argumenty:
| Argument |
Popis |
| výraz |
Povinný argument. Výraz označující pole, ve kterém chcete záznamy spočítat. Může se jednat o řetězcový výraz (Řetězcový výraz: Výraz, který je vyhodnocen jako posloupnost sousedících znaků. Prvky výrazu mohou zahrnovat: funkce vracející řetězec nebo řetězec typu Variant (VarType 8), řetězcový literál, konstantu, proměnnou nebo řetězec typu Variant</.), který označuje pole v tabulce nebo dotazu, nebo to může být výraz, který provádí výpočet s daty obsaženými v daném poli. Argument výraz může obsahovat název pole v tabulce, ovládací prvek ve formuláři, konstantu nebo funkci. Pokud argument výraz obsahuje funkci, může to být předdefinovaná funkce nebo funkce definovaná uživatelem, nikoli však jiná doménová agregační funkce nebo agregační funkce jazyka SQL. |
| doména |
Povinný argument. Řetězcový výraz označující množinu záznamů, které tvoří doménu. Může se jednat o název tabulky nebo název dotazu, který nepožaduje parametr. |
| kritéria |
Nepovinný argument. Řetězcový výraz sloužící k omezení rozsahu dat, u kterých bude funkce DCount použita. Argument kritéria je například často ekvivalentem klauzule WHERE ve výrazu jazyka SQL (bez použití slova WHERE). Pokud je argument kritéria vynechán, vyhodnotí funkce DCount argument výraz ve vztahu k celé doméně. Jakékoli pole, které je součástí argumentu kritéria, musí být také polem v argumentu doména, jinak funkce DCount vrátí hodnotu Null (Hodnota Null: Hodnota, kterou můžete zadat do pole nebo ji použit ve výrazech a dotazech a označit tak chybějící nebo neznámá data. V jazyce Visual Basic označuje klíčové slovo Null hodnotu Null. Některá pole, například pole primárního klíče, nemohou obsahovat hodnoty Null.). |
Poznámky
Funkci DCount použijte v případě, že chcete určit počet záznamů v doméně, ale nepotřebujete znát jejich konkrétní hodnoty. Přestože argument výraz umožňuje provádět výpočet s polem, funkce DCount jednoduše sečte počet záznamů. Hodnota žádného výpočtu provedeného argumentem výraz není k dispozici.
Funkci DCount použijte ve výpočtovém ovládacím prvku v případě, že potřebujete zadat kritéria pro omezení rozsahu dat, u kterých bude daná funkce provedena. Chcete-li například zobrazit počet objednávek, které mají být odeslány do Kalifornie, nastavte u vlastnosti .Zdrojovládacíhoprvku textového pole následující výraz:
=DCount("[IDObjednávky]", "Objednávky", "[RegionPříjemce] = 'CA'")
Pokud chcete pouze sečíst všechny záznamy v argumentu doména, aniž byste zadávali jakákoli omezení, použijte funkci Count.
Tip
Funkce Count je optimalizována tak, aby bylo urychleno určení počtu záznamů v dotazech. Ve výrazu dotazu použijte místo funkce DCount funkci Count a nastavením nepovinných kritérií zajistěte uplatnění omezení ve výsledcích. Funkci DCount použijte v případě, že je nutné sečíst záznamy v doméně z makra či modulu kódu nebo ve výpočtovém ovládacím prvku.
Pomocí funkce DCount lze určit počet záznamů obsahujících určité pole, které není obsaženo ve zdroji záznamů, na němž jsou formulář nebo sestava založeny. Můžete například zobrazit počet objednávek v tabulce Orders (Objednávky) ve výpočtovém ovládacím prvku ve formuláři založeném na tabulce Products (Výrobky).
Pokud není jako argument výraz uveden zástupný znak * (hvězdička), nebude funkce DCount sčítat záznamy, které v poli, na něž odkazuje argument výraz, obsahují hodnoty Null. Použijete-li hvězdičku, určí funkce DCount celkový počet záznamů (včetně těch, která v polích hodnotu Null obsahují). V následujícím příkladu je určen počet záznamů v tabulce Orders.
intX = DCount("*", "Objednávky")
Pokud je argumentem doména tabulka s primárním klíčem (Primární klíč: Jedno nebo více polí (sloupců), jejichž hodnota nebo kombinace hodnot jedinečným způsobem identifikuje každý záznam v tabulce. Primární klíč nepovoluje hodnoty Null a musí mít vždy jedinečný index. Slouží k vytvoření relace tabulky na cizí klíče v jiných tabulkách.), lze celkový počet záznamů určit také nastavením argumentu výraz na pole s primárním klíčem, protože pole s primárním klíčem nebude nikdy obsahovat hodnotu Null.
Jestliže argument výraz označuje více polí, oddělte názvy jednotlivých polí pomocí operátoru zřetězení (operátor ampersand (&) nebo operátor sčítání (+)). Pokud k oddělení polí použijete operátor ampersand, vrátí funkce DCount počet záznamů obsahujících data v jakémkoli z uvedených polích. Použijete-li operátor sčítání, vrátí funkce DCount pouze počet záznamů obsahujících data ve všech uvedených polích. V následujícím příkladu jsou ukázány výsledky při použití jednotlivých operátorů u pole obsahujícího data ve všech záznamech (ShipName) a u pole neobsahujícího žádná data (ShipRegion).
intW = DCount("[NázevPříjemce]", "Objednávky")
intX = DCount("[RegionPříjemce]", "Objednávky")
intY = DCount("[NázevPříjemce] + [RegionPříjemce]", "Objednávky")
intZ = DCount("[NázevPříjemce] & [RegionPříjemce]", "Objednávky")
Poznámka: Při provádění zřetězení je upřednostňovaným operátorem operátor ampersand. Pokud výslovně nechcete rozšířit ve výrazu hodnoty Null, měli byste operátor sčítání používat pouze při sčítání čísel.
Neuložené změny záznamů v argumentu doména nebudou při použití této funkce zahrnuty. Jestliže chcete, aby byla funkce DCount založena na změněných hodnotách, je nutné nejdříve změny uložit klepnutím na tlačítko Uložit záznam ve skupinovém rámečku Záznamy na kartě Data, výběrem jiného záznamu nebo pomocí metody Aktualizovat.
Příklad
Poznámka: Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že klepnete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.
Následující funkce vrátí počet objednávek odeslaných do určené země nebo regionu po zadaném datu odeslání. Doménou je tabulka Orders (Objednávky).
Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[DatumOdeslání", "Objednávky", _
"[ZeměPříjemce] = '" & strCountryRegion & _
"' AND [DatumOdeslání] > #" & dteShipDate & "#")
End Function
Při volání funkce zadejte do podokna hodnot proměnných následující řádek kódu:
:OrdersCount "ČR", # 1. 1. 1996#