Application.DAvg-Methode (Access)

Verwenden Sie die DAvg-Funktion , um den Durchschnitt einer Gruppe von Werten in einer angegebenen Gruppe von Datensätzen (einer Domäne) zu berechnen.

Syntax

Ausdruck. DAvg (Expr, Domain, Criteria)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Expr Erforderlich String Ein Ausdruck, der das Feld identifiziert, das die numerischen Daten enthält, die Sie durchschnittlich verwenden möchten. Er kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchführt. In Expr_ können Sie den Namen eines Felds in einer Tabelle, ein Steuerelement in einem Formular, eine Konstante oder eine Funktion einschließen. Wenn Expr eine Funktion enthält, kann sie entweder integriert oder benutzerdefinierte sein, aber kein anderes Domänenaggregat oder eine SQL-Aggregatfunktion.
Domäne Erforderlich String Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze angibt, die die Domäne bilden. Es kann sich dabei um einen Tabellennamen oder einen Abfragenamen für eine Abfrage handeln, die keinen Parameter benötigt.
Criteria Optional Variant Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den die DAvg-Funktion ausgeführt wird. Beispielsweise entspricht Criteria häufig der WHERE-Klausel in einem SQL-Ausdruck ohne das Wort WHERE. Wenn Criteria nicht angegeben wird, wertet die DAvg-FunktionExpr für die gesamte Domäne aus. Jedes Feld, das in Kriterien enthalten ist, muss auch ein Feld in Der Domäne sein. Andernfalls gibt die DAvg-Funktioneinen Null-Wert zurück.

Rückgabewert

Variant

Bemerkungen

Sie können z. B. die Funktion DAvg in der Kriterienzeile einer Auswahlabfrage für Frachtkosten verwenden, um die Ergebnisse auf die Datensätze zu beschränken, bei denen die Frachtkosten den Durchschnitt überschreiten. Alternativ können Sie einen Ausdruck einschließlich der DAvg-Funktion in einem berechneten Steuerelement verwenden und den Durchschnittswert früherer Bestellungen neben dem Wert einer neuen Bestellung anzeigen.

Datensätze, die Null-Werte enthalten, werden in die Mittelwertberechnung nicht einbezogen.

Unabhängig davon, ob Sie die DAvg-Funktion in einem Makro oder Modul, in einem Abfrageausdruck oder in einem berechneten Steuerelement verwenden, müssen Sie das Argument Criteria sorgfältig erstellen, um sicherzustellen, dass es ordnungsgemäß ausgewertet wird.

Verwenden Sie die DAvg-Funktion , um Kriterien in der Zeile Kriterien einer Abfrage anzugeben. Angenommen, Sie möchten eine Liste aller Produkte anzeigen, die in Mengen über der durchschnittlichen Bestellmenge bestellt wurden. Sie können eine Abfrage für die Tabellen Bestellungen, Bestelldetails und Produkte erstellen und das Feld Produktname und das Feld Menge mit dem folgenden Ausdruck in die Zeile Kriterien unterhalb des Felds Menge einschließen:

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

Sie können die DAvg-Funktion auch in einem berechneten Feldausdruck in einer Abfrage oder in der Zeile Aktualisieren auf einer Updateabfrage verwenden.

Hinweis

Verwenden Sie entweder die Funktion DAvg oder Avg in einem berechneten Feldausdruck in einer Summenabfrage. Wenn Sie DAvg verwenden, werden die Mittelwerte berechnet, bevor die Daten gruppiert werden. Wenn Sie Avg verwenden, werden die Daten gruppiert, bevor der Mittelwert über die Werte im Feldausdruck berechnet wird.

Verwenden Sie die DAvg-Funktion in einem berechneten Steuerelement, wenn Sie Kriterien zum Einschränken des Bereichs der Daten festlegen möchten, für die die DAvg-Funktion durchgeführt wird. Legen Sie z. B. zum Anzeigen der durchschnittlichen Frachtkosten für Lieferungen nach Kalifornien für die ControlSource-Eigenschaft eines Textfelds den folgenden Ausdruck fest:

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

Wenn Sie lediglich den Durchschnitt aller Datensätze in Der Domäne verwenden möchten, verwenden Sie die Avg-Funktion .

Verwenden Sie die DAvg-Funktion in einem Modul oder Makro oder in einem berechneten Steuerelement auf einem Formular, wenn sich ein feld, das Sie anzeigen müssen, nicht in der Datensatzquelle befindet, auf der das Formular basiert. Angenommen, Sie verfügen über ein Formular, das auf der Tabelle Orders basiert, und Sie möchten das Feld Menge aus der Tabelle Bestelldetails einschließen, um die durchschnittliche Anzahl von Artikeln anzuzeigen, die von einem bestimmten Kunden bestellt wurden. Verwenden Sie die DAvg-Funktion , um diese Berechnung auszuführen und die Daten in Ihrem Formular anzuzeigen.

Tipp

  • Wenn Sie die DAvg-Funktion in einem berechneten Steuerelement verwenden, können Sie das Steuerelement im Formularkopf oder -fuß ablegen, damit der Wert für dieses Steuerelement nicht bei jedem Wechsel zu einem neuen Datensatz neu berechnet wird.
  • Wenn der Datentyp des Felds, von dem Expr abgeleitet wird, eine Zahl ist, gibt die DAvg-Funktion einen Double-Datentyp zurück. Wenn Sie die DAvg-Funktion in einem berechneten Steuerelement verwenden, fügen Sie eine Datentyp-Konvertierungsfunktion in den Ausdruck ein, um das Leistungsverhalten zu verbessern.
  • Zwar können Sie mit DAvg den Mittelwert aus Werten in einem Feld in einer Fremdtabelle berechnen, aber es kann effizienter sein, eine Abfrage zu erstellen, die die benötigten Felder aus beiden Tabellen enthält, und dem Formular oder Bericht dann diese Abfrage zugrunde zu legen.

Beispiel

Die folgende Funktion gibt die durchschnittlichen Frachtkosten für Bestellungen zurück, die an oder nach einem bestimmten Datum versendet wurden. The domain is an Orders table. Das Argument Criteria schränkt den resultierenden Satz von Datensätzen basierend auf dem angegebenen Land und dem angegebenen Versanddatum ein. Beachten Sie, dass das Schlüsselwort AND in der Zeichenfolge enthalten ist, um die mehrere Felder im Argument Criteria zu trennen. Alle Datensätze, die in der Berechnung der DAvg-Funktion enthalten sind, weisen diese beiden Kriterien auf.

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

Die folgenden Beispiele zeigen, wie verschiedene Arten von Kriterien mit der DAvg-Funktion verwendet werden.

    ' ***************************
    ' Typical Use
    ' Numerical values. Replace "number" with the number to use.
    variable = DAvg("[FieldName]", "TableName", "[Criteria] = number")

    ' Strings.
    ' Numerical values. Replace "string" with the string to use.
    variable = DAvg("[FieldName]", "TableName", "[Criteria]= 'string'")

    ' Dates. Replace "date" with the string to use.
    variable = DAvg("[FieldName]", "TableName", "[Criteria]= #date#")
    ' ***************************

    ' ***************************
    ' Referring to a control on a form
    ' Numerical values
    variable = DAvg("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)

    ' Strings
    variable = DAvg("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")

    ' Dates
    variable = DAvg("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
    ' ***************************

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DAvg("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
             & " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
            & " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
    
    ' Use two fields from a single record.
    variable = DAvg("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
            
    ' Expressions
    variable = DAvg("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
    
    ' Control Structures
    variable = DAvg("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
    ' ***************************

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.