Applies ToAccess pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pomocou funkcie DCount môžete určiť počet záznamov, ktoré sa nachádzajú v zadanej množine záznamov (doména). Funkciu DCount použite v týchto prostrediach: modul Visual Basic for Applications (VBA), makro, výraz dotazu alebo vypočítavaný ovládací prvok.

V module môžete napríklad použiť funkciu DCount na vrátenie počtu záznamov v tabuľke Objednávky, ktoré zodpovedajú objednávkam zadaným v určitom dátume.

Syntax

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

Syntax funkcie DCount má tieto argumenty:

Argument

Popis

výraz

Povinný argument. Výraz určujúci pole, pre ktoré chcete spočítať záznamy. Môže to byť napríklad reťazcový výraz, ktorý určí pole v tabuľke alebo v dotaze, alebo to môže byť výraz, ktorý vykoná výpočet s údajmi v poli. Do argumentu výraz môžete zahrnúť názov poľa v tabuľke, ovládací prvok vo formulári, konštantu alebo funkciu. Ak argument výraz zahŕňa funkciu, môže to byť vstavaná alebo používateľom definovaná funkcia, ale nie agregačná funkcia inej domény alebo agregačná funkcia SQL.

doména

Povinný argument. Výraz reťazca určujúci množinu záznamov, ktoré vytvárajú doménu. Môže to byť názov tabuľky alebo názov pre dotaz, ktorý nevyžaduje parameter.

kritériá

Voliteľný argument. Výraz reťazca slúžiaci na obmedzenie rozsahu údajov, ktoré spracuje funkcia DCount. Argument kritériá napríklad často zodpovedá klauzule WHERE vo výraze SQL, ale bez slova WHERE. Ak sa argument kritériá vynechá, funkcia DCount vyhodnotí argument výraz voči celej doméne. Každé pole zahrnuté do argumentu kritériá musí byť aj poľom v argumente doména, v opačnom prípade funkcia DCount vráti hodnotu Null.

Poznámky

Funkciu DCount použite na spočítanie počtu záznamov v doméne, keď nepotrebujete poznať ich konkrétne hodnoty. Napriek tomu, že argument výraz dokáže vykonať výpočet v poli, funkcia DCount jednoducho spočíta počet záznamov. Hodnota akéhokoľvek výpočtu, ktorý vykonáva argument výraz, nie je k dispozícii.

Funkciu DCount použite pri vypočítavanom ovládacom prvku, keď potrebujete zadať kritériá na ohraničenie rozsahu údajov, s ktorými sa funkcia vykoná. Ak chcete napríklad zobraziť počet objednávok, ktoré majú byť dodané do Kalifornie, nastavte vlastnosť ControlSource textového poľa na nasledujúci výraz:

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

Ak chcete jednoducho spočítať všetky záznamy v doméne bez zadania obmedzení, použite funkciu Count.

Tip Funkcia Count bola optimalizovaná tak, aby urýchlila počítanie záznamov v dotazoch. Použite funkciu Count vo výraze dotazu namiesto funkcie DCount a nastavte voliteľné kritériá, ktoré vo výsledkoch uplatnia ľubovoľné obmedzenia. Funkciu DCount použite vtedy, keď musíte spočítať záznamy v doméne z prostredia modulu alebo makra, alebo vo vypočítavanom ovládacom prvku.

Funkciu DCount môžete použiť na spočítanie počtu záznamov obsahujúcich určité pole, ktoré sa nenachádza v zdroji záznamov, na ktorom je založený váš formulár alebo zostava. Môžete napríklad zobraziť počet objednávok v tabuľke Objednávky vo vypočítanom ovládacom prvku vo formulári založenom na tabuľke Produkty.

Funkcia DCount nepočíta záznamy, ktoré obsahujú hodnoty Null v poli, na ktoré odkazuje argument výraz, pokiaľ v argumente výraz nie je uvedený znak hviezdičky (*). Ak použijete hviezdičku, funkcia DCount vypočíta celkový počet záznamov, vrátane tých, ktoré obsahujú polia s hodnotou Null. Nasledujúci príklad vypočíta počet záznamov v tabuľke Objednávky.

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

Ak doména je tabuľka, ktorá obsahuje primárny kľúč, môžete tiež spočítať celkový počet záznamov tak, že argument výraz nastavíte na pole s primárnym kľúčom, pretože v poli primárneho kľúča nikdy nebude hodnota Null.

Ak výraz identifikuje viacero polí, oddeľte názvy polí operátorom zreťazenia, buď znakom ampersand (&) alebo operátorom sčítania (+). Ak na oddelenie polí použijete znak ampersand, funkcia DCount vráti počet záznamov obsahujúcich údaje v ktoromkoľvek z uvedených polí. Ak použijete operátor sčítania, funkcia DCount vráti iba počet záznamov obsahujúcich údaje vo všetkých uvedených poliach. Nasledujúci príklad ukazuje účinky každého operátora pri použití s poľom, ktoré obsahuje údaje vo všetkých záznamoch (ShipName) a poli, ktoré neobsahuje žiadne údaje (ShipRegion).

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

Poznámka:  Ampersand je preferovaný operátor na vykonanie zreťazenia reťazca. Operátor sčítania by ste nemali používať na žiadne iné úkony okrem sčítania číselných hodnôt, pokiaľ vyslovene nechcete rozšíriť hodnoty Null cez celý výraz.

Pri použití tejto funkcie sa do spracovania nezahrnú neuložené zmeny v záznamoch v doméne. Ak chcete , aby bola funkcia DCount založená na zmenených hodnotách, je najprv nutné tieto zmeny uložiť tak, že na karte Údaje v časti Záznamy kliknete na položku Uložiť záznam, presuniete zameranie na iný záznam alebo použijete metódu Update.

Príklady dotazu

Výraz

Výsledky

SELECT DCount("ProductID","ProductSales";"Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID";"PredajProduktov";"Zľava=0");

Vráti počet hodnôt v poli "ProductID" tabuľky PredajProduktov, kde hodnota "Zľava" je "0".

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

Vráti počet hodnôt v poli "ProductID" tabuľky PredajProduktov, kde "DateofSale" je deň pred aktuálnym dátumom.

Príklad jazyka VBA

Poznámka: Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

Nasledujúca funkcia vráti počet objednávok odoslaných do zadanej krajiny alebo oblasti po zadanom dátumu odoslania. Doménou je tabuľka 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

Na zavolanie danej funkcie použite nasledujúci riadok kódu v okne Okamžité:

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

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.