Funkce DCount

Pomocí funkce DCount můžete určit počet záznamů, které jsou v zadané sadě záznamů ( Doména ). Použití funkce DCount v modulu VBA (Visual Basic for Applications), Makro, výrazu dotazu nebo Vypočítaný ovládací prvek.

Funkci DCount můžete například použít v modulu k vrácení počtu záznamů v tabulce Orders, které odpovídají objednávkám, které jsou k určitému datu.

Syntaxe

DCount ( výraz, doména [ ,kritéria] )

Syntaxe funkce DCount obsahuje následující argumenty:

Argument

Popis

výraz

Povinný argument. Výraz určující pole, jehož záznamy chcete spočítat. Může jít buď o Řetězcový výraz, který určuje pole v tabulce nebo dotazu, nebo výraz, jehož prostřednictvím je proveden výpočet s daty daného pole. Argument výraz může obsahovat název pole tabulky, ovládacího prvku ve formuláři, konstanty nebo funkce. Pokud argument výraz obsahuje funkci, může jít o předdefinovanou funkci nebo funkci definovanou uživatelem, ale nikoli o jinou doménovou agregační funkci nebo agregační funkci SQL.

doména

Povinný argument. Řetězcový výraz identifikuje sadu záznamů tvořících doménu. Může jít o název tabulky nebo název dotazu, který nevyžaduje parametr.

kritéria

Nepovinný argument. Řetězcový výraz použitý k omezení oblasti dat, s kterou bude funkce DCount provedena. Kritéria jsou například často ekvivalentní klauzuli WHERE ve výrazu SQL, aniž by se slovem WHERE. Pokud není kritérium vynecháno, funkce DCount vyhodnotí výraz s celou doménou. Každé pole, které je zahrnuté v kritériích, musí být také polem v doméně. V opačném případě vrátí funkce DCount hodnotu Null.

Poznámky

Funkci DCount použijte ke spočítání počtu záznamů v doméně, když nepotřebujete znát jejich konkrétní hodnoty. I když může argument výrazu provést výpočet u pole, funkce DCount jednoduše sečte počet záznamů. Hodnota jakéhokoli výpočtu provedeného výrazem není k dispozici.

Funkci DCount použijte v počítaných ovládacích prvekech, když potřebujete zadat kritéria k omezení oblasti dat, s kterou bude funkce provedena. Pokud například chcete zobrazit počet objednávek, které se mají expedovat do Kalifornie, nastavte vlastnost ControlSource textového pole na tento výraz:

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

Pokud chcete jenom spočítat všechny záznamy v doméně bez omezení, použijte funkci Count.

Tip Funkce Count je optimalizovaná pro zrychlování počítání záznamů v dotazech. Ve výrazu dotazu místo funkce DCount použijte funkci Count a nastavte volitelná kritéria k vynucení všech omezení výsledků. Funkci DCount použijte, když musíte počítat záznamy v doméně z modulu kódu nebo makra nebo počítaného ovládacího prvku.

Pomocí funkce DCount můžete spočítat počet záznamů obsahujících konkrétní pole, které není ve zdroji záznamů, na kterém je váš formulář nebo sestava založená. Můžete například zobrazit počet objednávek v tabulce Objednávky v počítaovém ovládacím prvku ve formuláři založeném na tabulce Výrobky.

Funkce DCount nepočítá záznamy, které obsahují hodnoty Null v poli, na které odkazuje výraz, pokud výraz není zástupný znak hvězdička (*). Pokud použijete hvězdičku, vypočítá funkce DCount celkový počet záznamů včetně záznamů, které obsahují pole s hodnotou Null. Následující příklad vypočítá počet záznamů v tabulce Orders.

intX = DCount("*", "Orders")

Pokud je doménou tabulka s Primární klíč, můžete také spočítat celkový počet záznamů nastavením výrazu na pole primárního klíče, protože v poli primárního klíče nikdy nebude hodnota Null.

Pokud výraz identifikuje více polí, oddělte názvy polí operátorem zřetězení, operátorem ampersand (&) nebo operátorem sčítání (+). Pokud k oddělení polí použijete ampersand, vrátí funkce DCount počet záznamů obsahujících data v libovolném seznamu polí. Pokud použijete operátor sčítání, vrátí funkce DCount jenom počet záznamů obsahujících data ve všech uvedených polích. Následující příklad ukazuje vliv každého operátoru při použití s polem, které obsahuje data ve všech záznamech (NázevPříjemce) a pole, které neobsahuje žádná data (OblastPříjemce).

intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

Poznámka:  Operátor ampersand je upřednostňovaný operátor pro provádění zřetězení řetězce. Nepoužívejte operátor sčítání pro nic jiného než pro numerické sčítání, pokud výslovně chcete rozšířit hodnotu Null prostřednictvím výrazu.

Neuložené změny záznamů v argumentu doména nebudou při použití této funkce zahrnuty. Chcete-li, aby byla funkce DCount založena na změněných hodnotách, je nutné nejdříve změny uložit kliknutím na možnost Uložit záznam v části Záznamy na kartě Data, přesunutím fokusu na jiný záznam nebo pomocí metody Sledování dat.

Příklady dotazů

Výraz

Výsledky

SELECT DCount("IDProdeje Výrobku";"Prodej_produktu";"Sleva=0") AS Výraz1 FROM PRODUCTSales GROUP BY DCount("IDProdeje_výrobku";"Prodej_produktů";"Sleva=0");

Vrátí počet hodnot v poli IDProdeje Výrobků v tabulce Prodej_na_produkty, kde hodnota Discount je "0".

SELECT DCount("IDProdeje Výrobku";"Prodej_výrobků";"DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("IDProdeje Produktů";"Prodej_produktů";"DateofSale=Date()-1");

Vrátí počet hodnot v poli ID_výrobku v tabulce Prodej_výrobků, kde "DateofSale" je den před aktuálním datem.

Příklad jazyka VBA

Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

Následující funkce vrátí počet objednávek po odeslání v zadané zemi nebo oblasti. Doménou je tabulka Objednávky.

Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

Pokud chcete funkci volat, použijte následující řádek kódu v okně Hodnoty:

:OrdersCount "UK", #1/1/96#

Potřebujete další pomoc?

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×