Funkce DSum

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Funkci DSum můžete použít k výpočtu součtu sady hodnot v zadané sadě záznamů (doméně). Funkci DSum můžete použít v modulu jazyka VBA (jazyk Visual Basic for Application), makrech, výrazu dotazu nebo počítaném ovládacím prvku.

Můžete ji například použít ve výrazu počítaného pole v dotazu k výpočtu celkových hodnot prodeje uskutečněných určitým zaměstnancem v určitém časovém období. Můžete ji také použít v počítaném ovládacím prvku k zobrazení mezisoučtu prodejů pro určitý produkt.

Syntaxe

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

Syntaxe funkce DSum má tyto argumenty:

Argument Popis
výraz Povinný argument. Výraz určující číselné pole, jehož hodnoty chcete sečíst. Může to být řetězcový výraz identifikující pole v tabulce nebo dotazu nebo výraz, který provádí výpočet dat v daném poli. 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érium: Nepovinný argument. Řetězcový výraz, který se používá k omezení rozsahu dat, na kterém se provádí funkce DSum . Například kritéria jsou často ekvivalentní klauzuli WHERE ve výrazu SQL bez slova WHERE. Pokud jsou kritéria vynechána, funkce DSum vyhodnotí výraz vůči celé doméně. Každé pole, které je součástí kritérií , musí být také polem v doméně; V opačném případě funkce DSum vrátí hodnotu Null.

    

Poznámky

Pokud argumentu kritéria neodpovídá žádný záznam nebo doména neobsahuje žádné záznamy, vrátí funkce DSum hodnotu Null.

Bez ohledu na to, jestli funkci DSum použijete v makru, modulu, výrazu dotazu nebo počítaném ovládacím prvku, je nutné vytvořit argument kritéria pečlivě, aby bylo zajištěno správné vyhodnocení funkce.

Pomocí funkce DSum můžete zadat kritéria v řádku Kritéria dotazu, v počítaném poli ve výrazu dotazu nebo na řádku Aktualizovat do aktualizačního dotazu.

Poznámka

Ve výrazu počítaných polí v dotazu součtů můžete použít funkci DSum nebo Sum . Pokud použijete funkci DSum , hodnoty se počítají před seskupením dat. Pokud použijete funkci Sum , data se před vyhodnocením hodnot ve výrazu pole seskupí.

Použití funkce DSum je výhodné, jestliže potřebujete zobrazit součet sady hodnot z pole, které není ve zdroji záznamů pro formulář nebo sestavu. Předpokládejme například, že jste vytvořili formulář, který zobrazuje informace o určitém výrobku. Funkci DSum je možné použít k udržování mezisoučtu prodeje daného výrobku v počítaném ovládacím prvku.

tip

Pokud potřebujete v ovládacím prvku v sestavě udržovat mezisoučet, je možné v případě, že zdroj záznamů pro danou sestavu obsahuje pole, na kterém je ovládací prvek založen, použít vlastnost PrůběžnáSuma daného ovládacího prvku. K udržování průběžného součtu ve formuláři použijte funkci DSum.

Poznámka

Neuložené změny záznamů v argumentu doména nebudou při použití této funkce zahrnuty. Pokud chcete, aby byla funkce DSum založena na změněných hodnotách, je nutné nejdříve změny uložit kliknutím na Uložit záznam ve skupinovém rámečku Záznamy na kartě Domů, přesunutím fokusu na jiný záznam nebo pomocí metody Update.

Příklady

Použití funkce DSum ve výrazu Funkci domény (například DSum) můžete použít v řádku Aktualizovat do aktualizačního dotazu. Předpokládejme například, že chcete sledovat aktuální prodeje podle produktů v tabulce Produkty. Do tabulky Products můžete přidat nové pole s názvem SalesSoFar a spuštěním aktualizačního dotazu vypočítat správné hodnoty a aktualizovat záznamy. Uděláte to tak, že vytvoříte nový dotaz založený na tabulce Produkty a na kartě Návrh ve skupině Typ dotazukliknete na Aktualizovat. Přidejte do mřížky dotazu pole SalesSoFar a do řádku Aktualizovat do zadejte následující:

DSum("[Quantity]*[UnitPrice]", "Order Details", _
    "[ProductID] = "& [ProductID])

Po spuštění dotazu vypočítá Access na základě informací z tabulky Rozpis objednávek celkové množství prodeje pro jednotlivé produkty. Součty prodeje jednotlivých produktů jsou přidány do tabulky Výrobky.

Použití DSum v kódu jazyka VBA 

Poznámka

Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud vás zajímají 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.

V následujícím příkladu je vypočítán součet hodnot v poli Dopravné pro objednávky s místem dodání ve Velké Británii. Doménou je tabulka Objednávky. Argument kritéria omezuje sadu výsledků dotazu na záznamy, u kterých je v poli ZeměPříjemce hodnota UK.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

V následujícím příkladu je součet vypočítán pomocí dvou samostatných kritérií. Všimněte si, že řetězcový výraz obsahuje jednoduché uvozovky (') a znaky #, aby byl při spojení řetězců řetězcový literál uzavřen v jednoduchých uvozovkách a datum uvedeno mezi znaky #.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK' AND _
    [ShippedDate] > #1-1-95#")