DCount-Funktion

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Sie können die DomAnzahl-Funktion verwenden, um die Anzahl der Datensätze in einer angegebenen Gruppe von Datensätzen (einer Domäne) zu bestimmen. Verwenden Sie die DomAnzahl-Funktion in einem Visual Basic for Applications (VBA)-Modul, einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement.

Sie können die DCount-Funktion beispielsweise in einem Modul verwenden, um die Anzahl der Datensätze aus einer Tabelle für Bestellungen zurückzugeben, die Bestellungen entsprechen, die an einem bestimmten Datum aufgegeben wurden.

Syntax

DCount(expr, domain* [, criteria] )

Die Syntax der DCount-Funktion hat die folgenden Argumente:

Argument Beschreibung
Ausdruck Erforderlich. Ein Ausdruck, der das Feld angibt, für das Datensätze gezählt werden sollen. Hierbei kann es sich um einen Zeichenfolgenausdruck handeln, der ein Feld in einer Tabelle oder Abfrage identifiziert, oder um einen Ausdruck, der eine Berechnung der Daten in diesem Feld durchführt. In Ausdruck können Sie den Namen eines Felds in einer Tabelle, eines Steuerelements in einem Formular, einer Konstante oder einer Funktion einfügen. Wenn Ausdr eine Funktion enthält, kann sie entweder integriert oder benutzerdefiniert sein, aber keine andere Domänenaggregat- oder SQL-Aggregatfunktion.
Domäne Erforderlich. Ein Zeichenfolgenausdruck, der die Gruppe von Datensätzen angibt, die die Domäne bilden. Es kann sich um einen Tabellennamen oder um einen Abfragenamen für eine Abfrage handeln, die keinen Parameter erfordert.
Kriterien Optional. Ein Zeichenfolgenausdruck, der zum Einschränken des Datenbereichs verwendet wird, für den die DCount-Funktion ausgeführt wird. Kriterien entsprechen z. B. häufig der WHERE-Klausel in einem SQL-Ausdruck ohne das Wort WHERE. Wenn Kriterien weggelassen werden, wertet die DCount-Funktiondie Ausdr für die gesamte Domäne aus. Jedes Feld, das in den Kriterien enthalten ist, muss auch ein Feld in der Domäne sein. Andernfalls gibt die DomAnzahl-Funktion Null zurück.

Hinweise

Verwenden Sie die DCount-Funktion, um die Anzahl der Datensätze in einem Bereich (Domäne) zu zählen, wenn Sie deren einzelne Werte nicht wissen müssen. Obwohl das Ausdrucksargument eine Berechnung für ein Feld ausführen kann, zählt die DomAnzahl-Funktion einfach die Anzahl der Datensätze. Der Wert einer von expr ausgeführten Berechnung ist nicht verfügbar.

Verwenden Sie die DCount-Funktion in einem berechneten Steuerelement, wenn Sie Kriterien zum Beschränken des Datenbereichs angeben möchten, für den die Funktion ausgeführt wird. Um beispielsweise die Anzahl der Bestellungen anzuzeigen, die nach Kalifornien geliefert werden sollen, legen Sie die ControlSource-Eigenschaft eines Textfelds auf den folgenden Ausdruck fest:

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

Wenn Sie einfach alle Datensätze in der Domäne ohne Einschränkungen zählen möchten, verwenden Sie die Anzahlfunktion .

Tipp Die Anzahlfunktion wurde optimiert, um das Zählen von Datensätzen in Abfragen zu beschleunigen. Verwenden Sie in einem Abfrageausdruck die Count-Funktion anstelle der DCount-Funktion, und legen Sie optionale Kriterien fest, um jegliche Einschränkungen für die Ergebnisse zu erzwingen. Verwenden Sie die DCount-Funktion, wenn Sie Datensätze in einem Bereich (Domäne) aus einem Codemodul oder Makro oder in einem berechneten Steuerelement zählen müssen.

Sie können die DCount-Funktion verwenden, um die Anzahl von Datensätzen zu zählen, die ein bestimmtes Feld enthalten, das nicht zu der Datensatzquelle gehört, auf dem Ihr Formular oder Bericht basiert. Beispielsweise könnten Sie die Anzahl von Bestellungen in der Tabelle für Bestellungen (Orders) in einem berechneten Steuerelement auf einem Formular anzeigen, das auf der Tabelle für Produkte (Products) basiert.

Die DomAnzahl-Funktion zählt keine Datensätze mit Nullwerten in dem Feld, auf das durch Ausdr verwiesen wird, es sei denn, Ausdrücken ist ein Sternchen (*), das als Platzhalterzeichen steht. Wenn Sie ein Sternchen verwenden, berechnet die DCount-Funktion die Gesamtanzahl der Datensätze, einschließlich der Datensätze, die NULL-Felder enthalten. Im folgenden Beispiel wird die Anzahl von Datensätzen in einer Tabelle für Bestellungen berechnet:

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

Wenn Domäne eine Tabelle mit einem Primärschlüssel ist, können Sie auch die Gesamtzahl der Datensätze zählen, indem Sie expr auf das Primärschlüsselfeld festlegen, da es im Primärschlüsselfeld niemals eine Null geben wird.

Wenn Ausdr mehrere Felder identifiziert, trennen Sie die Feldnamen durch einen Verkettungsoperator, entweder ein kaufmännisches Und-Zeichen (&) oder den Additionsoperator (+). Wenn Sie ein kaufmännisches Und-Zeichen verwenden, um die Felder zu trennen, gibt die DomAnzahl-Funktion die Anzahl der Datensätze zurück, die Daten in einem der aufgelisteten Felder enthalten. Wenn Sie den Additionsoperator verwenden, gibt die DomAnzahl-Funktion nur die Anzahl der Datensätze zurück, die Daten in allen aufgelisteten Feldern enthalten. Im folgenden Beispiel werden die Auswirkungen der einzelnen Operatoren veranschaulicht, wenn sie mit einem Feld verwendet werden, das Daten in allen Datensätzen enthält (ShipName), und einem Feld, das keine Daten enthält (ShipRegion).

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

Hinweis

Das kaufmännische Und-Zeichen ist der bevorzugte Operator zum Verketten von Zeichenfolgen. Sie sollten den Additionsoperator ausschließlich für numerische Additionen verwenden, es sei denn, Sie möchten Nullwerte explizit durch einen Ausdruck weitergeben.

Nicht gespeicherte Änderungen an Datensätzen in der Domäne werden bei Verwendung dieser Funktion nicht eingeschlossen. Wenn die DomAnzahl-Funktion auf den geänderten Werten basieren soll, müssen Sie die Änderungen zuerst speichern, indem Sie auf der Registerkarte Daten unter Datensätze auf Datensatz speichern, den Fokus auf einen anderen Datensatz verschieben oder die Update-Methode verwenden.

Abfragebeispiele

Ausdruck Ergebnisse
SELECT DCount("ProductID","ProductSales","Discount=0") AS Ausdr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); Gibt die Anzahl der Werte im Feld "ProductID" der Tabelle "ProductSales" zurück, wobei der Wert für "Discount" "0" ist.
SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); Gibt die Anzahl der Werte im Feld "ProductID" der Tabelle "ProductSales" zurück, wobei "DateofSale" einen Tag vor dem aktuellen Datum liegt.

VBA-Beispiel

Hinweis

Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

Die folgende Funktion gibt die Anzahl von Bestellungen zurück, die am angegebenen Lieferdatum (dteShipDate) in ein angegebenes Land (strCountry) geliefert wurden. Der Bereich (Domäne) ist eine Tabelle für Bestellungen.

Public Function OrdersCount _
    (ByVal strCountryRegion As String, _
    ByVal dteShipDate As Date) As Integer
    OrdersCount = DCount("[ShippedDate]", "Orders", _
        "[ShipCountryRegion] = '" & strCountryRegion & _
        "' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

Verwenden Sie die folgende Codezeile im Direktfenster, um die Funktion aufzurufen:

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