Funkce DAvg

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

Funkci DAvg můžete použít k výpočtu průměru sady hodnot v určené sadě záznamů (doméně). Funkci DAvg můžete použít v modulu VBA (jazyk Visual Basic for Application), v makru, ve výrazu dotazu nebo v počítaném ovládacím prvku.

Funkci DAvg můžete například použít v řádku kritérií výběrového dotazu na přepravní náklady a omezit s ní výsledky na ty záznamy, kde přepravní náklady převyšují průměr. Nebo můžete použít výraz zahrnující funkci DAvg v počítaném ovládacím prvku a zobrazit průměrnou hodnotu předchozích objednávek vedle hodnoty nové objednávky.

Syntaxe

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

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

Argument Popis
výraz Povinný argument. Výraz určující pole obsahující číselná data, která chcete vypočítat průměr. Může jít buď o řetězcový výraz identifikující pole v tabulce nebo dotazu, nebo výraz, který provádí výpočet s daty daného pole. Výraz může obsahovat název pole tabulky, ovládacího prvku ve formuláři, konstanty nebo funkce. Pokud 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, který slouží k omezení oblasti dat, u které bude provedena funkce DAvg . Kritérium je například často ekvivalentem klauzule WHERE ve výrazu SQL bez slova WHERE. Pokud kritérium vynecháte, funkce DAvg vyhodnotí výraz pro celou doménu. Každé pole, které je zahrnuto v kritériu , musí být také polem v doméně; v opačném případě vrátí funkce DAvg hodnotu Null.

    

Poznámky

Záznamy, které obsahují hodnoty Null, nejsou zahrnuté do výpočtu průměru.

Bez ohledu na to, jestli funkci DAvg použijete v makru, modulu, ve výrazu dotazu nebo v 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 DAvg můžete použít k zadání kritérií v řádku Kritéria v dotazu. Předpokládejme například, že chcete zobrazit seznam všech produktů objednaných v množství nad průměrným množstvím. Mohli byste vytvořit dotaz na tabulky Objednávky, Podrobnosti objednávky a Produkty a zahrnout pole Název produktu a pole Množství s následujícím výrazem v řádku Kritéria pod polem Množství:

>DAvg("[Quantity]", "Orders")

Funkci DAvg můžete použít také ve výrazu počítaného pole v dotazu nebo v řádku Aktualizovat do v aktualizačním dotazu.

Poznámka

Ve výrazu počítaného pole v souhrnném dotazu můžete použít funkci DAvg nebo Avg . Pokud použijete funkci DAvg , hodnoty se před seskupením dat zprůměrují. Pokud použijete funkci Avg , data se seskupí před zprůměrováním hodnot ve výrazu pole.

Funkci DAvg použijte v počítaném ovládacím prvku, když potřebujete zadat kritéria k omezení oblasti dat, s kterou bude funkce DAvg provedena. Pokud například chcete zobrazit průměrné přepravní náklady na poslání zboží do Kalifornie, nastavte u vlastnosti .Zdrojovládacíhoprvku textového pole následující výraz:

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Pokud chcete jenom spočítat průměr všech záznamů v doméně, použijte funkci Avg .

Funkci DAvg je možné použít v modulu nebo makru nebo v počítaném ovládacím prvku ve formuláři, pokud se pole, které chcete zobrazit, nenachází ve zdroji záznamů, na kterém je daný formulář založený. Předpokládejme například, že máte formulář založený na tabulce Objednávky a chcete zahrnout pole Množství z tabulky Podrobnosti objednávky, aby se zobrazoval průměrný počet položek objednaných určitým zákazníkem. K provedení tohoto výpočtu a zobrazení dat ve formuláři můžete použít funkci DAvg.

Tipy

  • Pokud použijete funkci DAvg v počítaném ovládacím prvku, můžete umístit ovládací prvek do záhlaví nebo zápatí formuláře, aby se hodnota tohoto ovládacího prvku nepřepočítávala pokaždé, když přejdete na nový záznam.
  • Pokud je datový typ pole, ze kterého je výraz odvozen, číslo, vrátí funkce DAvg datový typ Double. Jestliže použijete funkci DAvg v počítaném ovládacím prvku, zahrňte do výrazu funkci pro převod datového typu, abyste zvýšili výkon.
  • I když můžete k určení průměru hodnot v poli v cizí tabulce použít funkci DAvg , může být efektivnější vytvořit dotaz obsahující všechna požadovaná pole a na tomto dotazu pak založit formulář nebo sestavu.

Poznámka

Neuložené změny záznamů v doméně nebudou při použití této funkce zahrnuty. Pokud chcete, aby byla funkce DAvg založená 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ě Data, přesunutím fokusu na jiný záznam nebo pomocí metody Update.

Příklad

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í průměr přepravních nákladů pro objednávky poslané určený den nebo později. Doménou je tabulka Objednávky. Argument kritéria omezuje výslednou sadu záznamů na základě zadané země nebo oblasti a data expedice. Všimněte si, že klíčové slovo AND je zahrnuto v řetězci, který odděluje více polí v argumentu kritéria . Všechny záznamy, které jsou součástí výpočtu funkce DAvg, budou mít obě tato kritéria.

Public Function AvgFreightCost _
    (ByVal strCountryRegion As String, _
     ByVal dteShipDate As Date) As Double
    AvgFreightCost = DAvg("[Freight]", "Orders", _
        "[ShipCountryRegion] = '" & strCountryRegion & _
        "'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function

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

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