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

È possibile usare la funzione DAvg per calcolare la media di una serie di valori in un set di record specificato (un dominio). Usare la funzione DAvg 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 DAvg nella riga dei criteri di una query di selezione sul costo di carico per limitare i risultati ai record in cui il costo di carico supera la media. In alternativa, è possibile usare un'espressione che includa la funzione DAvg in un controllo calcolato e visualizzare il valore medio degli ordini precedenti accanto al valore di un nuovo ordine.

Sintassi

DAvg ( espr , dominio [, criteri] )

La sintassi della funzione DAvg ha gli argomenti seguenti:

Argomento

Descrizione

espressione

Obbligatorio. Espressione che identifica il campo contenente i dati numerici di cui si vuole calcolare la media. Può essere un'espressione stringa che identifica un campo in una tabella o una query oppure un'espressione che esegue un calcolo sui dati nel campo specifico. 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 DAvg. Ad esempio, criteri equivale spesso alla clausola WHERE in un'espressione SQL, senza la parola WHERE. Se criteri viene omesso, la funzione DAvg valuta espr rispetto all'intero dominio. Qualsiasi campo incluso in criteri deve essere anche un campo in dominio; in caso contrario, la funzione DAvg restituisce un valore Null.

Osservazioni

I record che contengono valori Null non sono inclusi nel calcolo della media.

Indipendentemente dal fatto che la funzione DAvg venga usata in una macro o un modulo, in un'espressione di query o in un controllo calcolato, è necessario specificare con attenzione l'argomento criteri per assicurarsi che venga valutato correttamente.

È possibile usare la funzione DAvg per specificare criteri nella riga Criteri di una query. Ad esempio, si supponga di voler visualizzare un elenco di tutti i prodotti ordinati in quantità superiori alla quantità media. È possibile creare una query sulle tabelle degli ordini, dei dettagli degli ordini e dei prodotti e includere il campo del nome prodotto e il campo della quantità, con l'espressione seguente nella riga Criteri sotto il campo della quantità:

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

È possibile usare la funzione DAvg anche in un'espressione con campi calcolati in una query oppure nella riga Aggiorna a di una query di aggiornamento.

Nota: È possibile usare la funzione DAvg o Avg in un'espressione con campi calcolati in una query di totalizzazione. Se si usa la funzione DAvg, la media dei valori viene calcolata prima del raggruppamento dei dati. Se si usa la funzione Avg, i dati vengono raggruppati prima del calcolo della media nell'espressione del campo.

Usare la funzione DAvg in un controllo calcolato quando è necessario specificare criteri per limitare l'intervallo di dati su cui viene eseguita la funzione DAvg. Ad esempio, per visualizzare il costo di carico medio per le spedizioni inviate in California, impostare la proprietà .OrigineControllo di una casella di testo sull'espressione seguente:

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

Se si vuole semplicemente calcolare la media di tutti i record in dominio, usare la funzione Avg.

È possibile usare la funzione DAvg in un modulo o una macro o in un controllo calcolato in una maschera se un campo che deve essere visualizzato non è incluso nell'origine del record su cui è basata la maschera. Si supponga, ad esempio, di avere una maschera basata sulla tabella degli ordini e di voler includere il campo della quantità dalla tabella dei dettagli degli ordini per visualizzare il numero medio di articoli ordinati da un cliente specifico. È possibile usare la funzione DAvg per eseguire questo calcolo e visualizzare i dati nella maschera.

Suggerimenti

  • Se si usa la funzione DAvg in un controllo calcolato, si potrebbe voler posizionare il controllo nell'intestazione o nel piè di pagina della maschera, in modo che il valore per il controllo non venga ricalcolato ogni volta che si passa a un nuovo record.

  • Se il tipo di dati del campo da cui viene derivato espr è un numero, la funzione DAvg restituisce un tipo di dati Double. Se si usa la funzione DAvg in un controllo calcolato, includere una funzione di conversione tra tipi di dati nell'espressione per migliorare le prestazioni.

  • Benché sia possibile usare la funzione DAvg per determinare la media dei valori in un campo in una tabella della chiave esterna, può risultare più efficiente creare una query contenente tutti i campi necessari e quindi basare la maschera o il report su questa query.

Nota: Le modifiche non salvate apportate ai record in dominio non vengono incluse quando si usa questa funzione. Se si vuole che la funzione DAvg 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.

Esempio

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 costo di carico medio per gli ordini spediti in o dopo una data specifica. Il dominio è rappresentato da una tabella degli ordini. L'argomento criteri limita il set risultante di record in base al paese o all'area geografica e alla data di spedizione. Si noti che nella stringa è inclusa la parola chiave AND per separare i diversi campi nell'argomento criteri. Tutti i record inclusi nel calcolo della funzione DAvg avranno entrambi questi criteri.

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

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

:AvgFreightCost "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.