Funkce DCount

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

Funkci DCount můžete použít například v modulu k vrácení počtu záznamů v tabulce Orders, která odpovídá konkrétní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, který identifikuje pole, pro které chcete spočítat záznamy. 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

Volitelná hodnota. Řetězcový výraz sloužící k omezení oblasti dat, na které se provádí funkce DCount . Kritéria jsou často ekvivalentní klauzuli WHERE v jazyce SQL, bez slova kde. Pokud vynecháte kritérium , funkce DCount vyhodnotí výraz v celé doméně. Každé pole, které je součástí kritéria , musí být také v doméně. jinak funkce DCount vrátí hodnotu null.

Poznámky:

Pomocí funkce DCount spočítáte počet záznamů v doméně, když nepotřebujete znát jejich konkrétní hodnoty. Ačkoli argument expr může provádět výpočty s polem, funkce DCount jednoduše zvýší počet záznamů. Hodnota jakéhokoli výpočtu prováděného výrazem není dostupná.

Funkci DCount použijte ve vypočítaném ovládacím prvku, pokud potřebujete zadat kritéria pro omezení oblasti dat, na které je daná funkce prováděna. Pokud třeba chcete zobrazit počet objednávek, které mají být expedovány do Brna, nastavte vlastnost ControlSouRCE textového pole na následující výraz:

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

Pokud chcete jenom zjistit počet všech záznamů v doméně bez určení omezení, použijte funkci Count .

Tip Funkce Count je optimalizována pro rychlost počítání záznamů v dotazech. Použijte funkci Count ve výrazu dotazu místo funkce DCount a nastavte volitelná kritéria pro vynucení omezení pro výsledky. Funkci DCount použijte v případě, že je nutné spočítat záznamy v doméně z modulu kódu nebo makra nebo ve vypočítaném ovládacím 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 formulář nebo sestava založena. Můžete například zobrazit počet objednávek v tabulce Orders (objednávky) ve vypočítaném ovládacím prvku na formuláři na základě tabulky Products.

Funkce DCount nepočítá záznamy obsahující v poli, na které odkazuje výraz , hodnoty null , Pokud je argumentem znak hvězdička (*). Pokud použijete hvězdičku, funkce DCount vypočítá celkový počet záznamů včetně těch, 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 v doméně tabulka s Primární klíč, můžete také spočítat celkový počet záznamů, a to tak, že se výraz nastaví na pole primárního klíče, protože v poli primárního klíče nebude nikdy hodnota null .

Pokud výraz identifikuje více polí, oddělte názvy polí pomocí operátoru zřetězení (ampersand (&) nebo operátoru sčítání (+). Pokud k oddělení polí použijete ampersand, funkce DCount vrátí počet záznamů obsahujících data v některém z uvedených polí. Pokud použijete operátor sčítání, vrátí funkce DCount jenom počet záznamů obsahujících data ze všech uvedených polí. Následující příklad ukazuje důsledky jednotlivých operátorů při použití s polem, které obsahuje data ve všech záznamech (NázevPříjemce) a pole, které neobsahuje žádná data (RegionPří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 preferovaným operátorem pro provádění zřetězení řetězců. Pokud nechcete, aby se nezobrazovaly hodnoty null pomocí výrazu, neměli byste používat operátor sčítání.

Neuložené změny záznamů v argumentu doména nebudou při použití této funkce zahrnuty. Pokud chcete, aby funkce DCount byla založena na změněných hodnotách, musíte nejdřív změny uložit kliknutím na Uložit záznam v části záznamy na kartě data , přesunutím fokusu na jiný záznam nebo pomocí příkazu aktualizovate. metodu.

Příklady dotazů

Výraz

Výsledky

JAKO Výraz1 FROM ProductSales GROUP by ("ProductID", "ProductSales", "sleva = 0") vyberte DCount ("ProductID", "ProductSales", "sleva = 0");

Vrátí počet hodnot v poli "ProductID" tabulky "ProductSales", kde hodnota "sleva" je "0".

Vyberte DCount ("ProductID", "ProductSales", "DateofSale = Date ()-1") AS YesterdaySale FROM ProductSales GROUP BY ("ProductID", "ProductSales", "DateofSale = Date ()-1");

Vrátí počet hodnot v poli "ProductID" tabulky "ProductSales", 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 odeslaných do určité země nebo oblasti po zadaném datu expedice. 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#

Poznámka:  Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát vědět, jestli vám informace pomohly? Pokud chcete, můžete se podívat na anglickou verzi článku.

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