Applies ToAccess per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

È possibile usare la funzione DCount per determinare il numero di record inclusi in un set di record specificato (un dominio). Usare la funzione DCount in un modulo di Visual Basic, Applications Edition (VBA), una macro, un'espressione di query o un controllo calcolato.

Ad esempio, è possibile usare la funzione DCount in un modulo per restituire il numero di record in una tabella degli ordini corrispondente agli ordini effettuati in una data specifica.

Sintassi

DCount ( espr , dominio [, criteri] )

La sintassi della funzione DCount ha gli argomenti seguenti:

Argomento

Descrizione

espressione

Obbligatorio. Espressione che identifica il campo di cui si vuole contare i record. Può essere un'espressione stringa che identifica un campo in una tabella o in una query oppure un'espressione che esegue un calcolo sui dati di questo campo. In espr è possibile includere il nome di un campo di una tabella, un controllo di una maschera, una costante o una funzione. Se espr include una funzione, questa può essere una funzione predefinita o definita dall'utente, ma non un'altra funzione di aggregazione sui domini o una funzione di aggregazione SQL.

dominio

Obbligatorio. Un'espressione di stringa che identifica il set di record che costituisce il dominio. Può essere un nome di una tabella o di una query che non richiede un parametro.

criteri

Facoltativo. Espressione stringa usata per limitare l'intervallo di dati su cui viene eseguita la funzione DCount. Ad esempio, criteri equivale spesso alla clausola WHERE in un'espressione SQL, senza la parola WHERE. Se criteri viene omesso, la funzione DCount valuta espr rispetto all'intero dominio. Qualsiasi campo incluso in criteri deve essere anche un campo in dominio; in caso contrario, la funzione DCount restituisce un valore Null.

Osservazioni

Usare la funzione DCount per contare il numero di record in un dominio quando non è necessario identificarne i valori specifici. Benché l'argomento espr possa eseguire un calcolo su un campo, la funzione DCount conta semplicemente il numero di record. Il valore di qualsiasi calcolo eseguito da espr non è disponibile.

Usare la funzione DCount in un controllo calcolato quando è necessario specificare criteri per limitare l'intervallo di dati su cui viene eseguita la funzione. Ad esempio, per visualizzare il numero di ordini da consegnare in California, impostare la proprietà .OrigineControllo di una casella di testo sull'espressione seguente:

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

Se si vuole semplicemente contare tutti i record in dominio senza specificare alcuna limitazione, usare la funzione Count.

Suggerimento La funzione Count è stata ottimizzata per accelerare il conteggio dei record nelle query. Usare la funzione Count in un'espressione di query invece della funzione DCount e impostare criteri facoltativi per applicare eventuali limitazioni ai risultati. Usare la funzione DCount quando è necessario contare i record in un dominio da un modulo di codice o una macro oppure in un controllo calcolato.

È possibile usare la funzione DCount per contare il numero di record contenenti un campo specifico che non è incluso nell'origine del record su cui si basa la maschera o il report. Ad esempio, è possibile visualizzare il numero di ordini nella tabella degli ordini in un controllo calcolato di una maschera basata sulla tabella dei prodotti.

La funzione DCount non conta i record che contengono valori Null nel campo cui fa riferimento espr, a meno che espr non sia il carattere jolly asterisco (*). Se si usa un asterisco, la funzione DCount calcola il numero totale di record, inclusi quelli che contengono campi con valori Null. L'esempio seguente calcola il numero di record presenti nella tabella degli ordini.

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

Se dominio è una tabella con una chiave primaria, è anche possibile contare il numero totale di record impostando espr sul campo chiave primaria, perché questo non conterrà mai un valore Null.

Se espr identifica più campi, separare i nomi dei campi con un operatore di concatenazione, ovvero una e commerciale (&) o l'operatore addizione (+). Se si usa la e commerciale per separare i campi, la funzione DCount restituisce il numero di record che non contengono dati in alcuno dei campi elencati. Se si usa l'operatore addizione, la funzione DCount restituisce solo il numero di record che contengono dati in tutti i campi elencati. L'esempio seguente mostra gli effetti di ogni operatore se usato con un campo che contiene dati in tutti i record (ShipName) e un campo che non contiene alcun dato (ShipRegion).

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

Nota:  La e commerciale è l'operatore preferito per eseguire la concatenazione di stringhe. Evitare di usare l'operatore addizione per qualsiasi altro calcolo diverso da un'addizione numerica, a meno che non si voglia propagare valori Null tramite un'espressione.

Le modifiche non salvate apportate ai record in dominio non vengono incluse quando si usa questa funzione. Se si vuole che la funzione DCount sia basata sui valori modificati, è necessario salvare prima le modifiche facendo clic su Salva il record in Record nella scheda Dati, spostando lo stato attivo su un altro record oppure usando il metodo Update.

Esempi di query

Espressione

Risultati

SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0");

Restituisce il conteggio dei valori nel campo "IDProdotto" della tabella "VenditeProdotto" in cui il valore "Sconto" è "0".

SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1");

Restituisce il conteggio dei valori nel campo "IDProdotto" della tabella "VenditeProdotto", dove "DateofSale" è un giorno prima della data corrente.

Esempio di VBA

Nota: Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.

La funzione seguente restituisce il numero di ordini spediti a un'area geografica o un paese specificato dopo la data di spedizione indicata. Il dominio è rappresentato da una tabella degli ordini.

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

Per chiamare la funzione, usare la riga di codice seguente nella finestra Immediata:

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

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.