DCount, functie

U kunt de functie DCount gebruiken om het aantal records in een opgegeven recordset (een domein) te bepalen. Gebruik de functie DCount in een Visual Basic for Applications-module (VBA), een macro, een query-expressie of een berekend besturingselement.

U kunt de functie DCount bijvoorbeeld gebruiken in een module om het aantal records in een ordertabel op te vragen die overeenkomen met de orders die op een bepaalde datum zijn geplaatst.

Syntaxis

DCount ( expr , domein [, criteria] )

De syntaxis van de functie DCount bevat de volgende argumenten:

Argument

Beschrijving

expr

Vereist. Een expressie die het veld aangeeft waarvoor u het aantal records wilt tellen. Dit kan een reeksexpressie zijn waarmee een veld van een tabel of query wordt aangegeven of een expressie die een berekening uitvoert op de gegevens die zich in dat veld bevinden. In expr kunt u de naam van een veld in een tabel opnemen, een besturingselement van een formulier, een constante of een functie. Als expr een functie bevat, kan dit een ingebouwde functie of een door een gebruiker gedefinieerde functie zijn, maar niet nog een statistische domein- of SQL-functie.

domein

Vereist. Een tekenreeksexpressie waarmee de set records wordt aangegeven waaruit het domein bestaat. Dit kan de naam van een tabel zijn of de naam van een query waarvoor geen parameter nodig is.

criteria

Optioneel. Dit is een tekenreeksexpressie die wordt gebruikt om het bereik van de gegevens die voor de functie DCount worden gebruikt te beperken. Zo bevat het argument criteria vaak dezelfde gegevens als de WHERE-component van een SQL-expressie, maar dan zonder het woord WHERE. Als het argument criteria wordt weggelaten, wordt het argument expr door de functie DCount gebruikt voor het hele domein. Alle velden die in criteria zijn opgenomen, moeten zich ook in domein bevinden. Anders retourneert DCount een Null.


Opmerkingen

Gebruik de functie DCount om het aantal records in een domein te tellen als u niet de specifieke waarden hoeft te weten. Hoewel met het argument expr een berekening kan worden uitgevoerd op een veld, wordt met DCount alleen het aantal records geteld. De waarde die het resultaat is van een berekening met expr is niet beschikbaar.

Gebruik de functie DCount in een berekend besturingselement wanneer u criteria wilt opgeven om het gegevensbereik te beperken waarop de functie wordt uitgevoerd. Als u bijvoorbeeld het aantal orders wilt weergeven dat moet worden verzonden naar Californië, stelt u de eigenschap ControlSource van een tekstvak in op de volgende expressie:

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

Als u alleen alle records in domein wilt tellen zonder enige beperkingen op te geven, gebruikt u de functie Count.

Tip

De functie Count is geoptimaliseerd voor het snel tellen van records in query's. Gebruik de functie Count in plaats van DCount in een query-expressie en stel optionele criteria in voor het afdwingen van beperkingen voor de resultaten. Gebruik de functie DCount wanneer u records in een domein moet tellen vanuit een codemodule of macro, of in een berekend besturingselement.

U kunt de functie DCount gebruiken om het aantal records met een bepaald veld te tellen dat niet is opgenomen in de recordbron waarop het formulier of rapport is gebaseerd. U kunt bijvoorbeeld het aantal orders in de tabel Orders weergeven in een berekend besturingselement in een formulier op basis van de tabel Producten.

Null-waarden in het veld waarnaar wordt verwezen met expr worden niet meegeteld door DCount, tenzij voor expr het jokerteken * is opgegeven. Als u het jokerteken * gebruikt, wordt met DCount het totale aantal records berekend, inclusief records met Null-velden. In het volgende voorbeeld wordt het aantal records in de tabel Orders berekend.

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

Als domein een tabel is met een primaire sleutel, kunt u het totale aantal records ook tellen door expr in te stellen op het primaire-sleutelveld, aangezien dat veld nooit een Null bevat.

Als expr naar meerdere velden verwijst, scheidt u de veldnamen met een samenvoegingsoperator, te weten het en-teken (&) of het plusteken (+). Als u het en-teken gebruikt om de velden te scheiden, retourneert de functie DCount het aantal records met gegevens in een van de opgegeven velden. Als u het plusteken gebruikt, retourneert DCount alleen het aantal records met gegevens in alle opgegeven velden. In het volgende voorbeeld ziet u het effect van elke operator bij gebruik met een veld dat gegevens bevat in alle records (ShipName) en met een veld dat geen gegevens bevat (ShipRegion).

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

Opmerking :  Het en-teken is de operator die bij voorkeur wordt gebruikt voor het aaneenvoegen van tekenreeksen. Gebruik het optelteken alleen voor het optellen van numerieke waarden, tenzij u specifiek Null-waarden wilt doorvoeren via een expressie.

Recordwijzigingen die niet zijn opgeslagen in domein worden niet meegenomen in deze functie. Als u de functie DCount wilt baseren op de gewijzigde waarden, moet u de wijzigingen eerst opslaan. Ga hiervoor naar het tabblad Gegevens en klik onder Records op Record opslaan. U kunt de wijzigingen ook opslaan door de focus naar een andere record te verplaatsen of de methode Update te gebruiken.

Voorbeeld

Opmerking : In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.

De volgende functie retourneert het aantal orders dat na een opgegeven verzenddatum naar een bepaald land of een bepaalde regio is verzonden. Het domein is de tabel Orders.

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

U kunt de functie aanroepen met de volgende code in het venster Direct:

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

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×