Funkce DSum

Funkce DSum slouží k výpočtu součtu sady hodnot v zadané sadě záznamů (Doména). Funkci DSum je možné použít v modulu Visual Basic for Applications (VBA), v makru, výrazu dotazu nebo v 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 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ý argument. Řetězcový výraz, který slouží k omezení oblasti dat, u které bude provedena funkce DSum. Argument kritéria je například často ekvivalentem klauzule WHERE ve výrazu SQL bez slova WHERE. V případě vynechání argumentu kritéria jsou hodnoty funkce DSum zjišťovány pro argument výraz v celé doméně. Všechna pole obsažená v argumentu kritéria musí být také zahrnuta v argumentu doména. V opačném případě vrátí funkce DSum 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.

Funkci DSum je možné použít k zadání kritérií v řádku Kritéria v dotazu, v počítaném poli ve výrazu dotazu nebo v řádku Aktualizovat v aktualizačním dotazu.

Poznámka : Ve výrazu počítaného pole v souhrnném dotazu je možné použít buď funkci DSum, nebo funkci Sum. Pokud použijete funkci DSum, vypočítají se hodnoty před seskupením dat. Pokud použijete funkci Sum, seskupí se data před vyhodnocením hodnot ve výrazu pole.

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   : V řádku Aktualizovat v aktualizačním dotazu je možné použít doménovou funkci (například DSum). Předpokládejme například, že chcete sledovat aktuální prodej jednotlivých výrobků v tabulce Výrobky. Do tabulky Výrobky můžete přidat nové pole DosavadníProdej a spuštěním aktualizačního dotazu vypočítat správné hodnoty a aktualizovat záznamy. Vytvořte nový dotaz založený na tabulce Výrobky a na kartě Návrh klikněte ve skupinovém rámečku Typ dotazu na tlačítko Aktualizovat. Přidejte pole DosavadníProdej do mřížky dotazu a do řádku Aktualizovat zadejte následující text:

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í funkce 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#")
Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

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

×