Compartir a través de


Método Application.DAvg (Access)

Use la función DAvg para calcular el promedio de un conjunto de valores en un conjunto especificado de registros (un dominio).

Sintaxis

expresión. DAvg (Expr, Domain, Criteria)

expresión Variable que representa un objeto Application.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
Expr Obligatorio String Expresión que identifica el campo que contiene los datos numéricos que desea calcular como promedio. Puede ser una expresión de cadena que identifica un campo de una tabla o consulta, o bien una expresión que realiza un cálculo usando los datos de ese campo. En Expr_, puede incluir el nombre de un campo en una tabla, un control en un formulario, una constante o una función. Si Expr incluye una función, puede ser integrada o definida por el usuario, pero no otra función de agregado de dominio o de agregado de SQL.
Dominio Obligatorio String Una expresión de cadena que identifica el conjunto de registros que constituyen el dominio. Puede ser un nombre de tabla o de consulta para una consulta que no requiere ningún parámetro.
Criteria Opcional Variant Una expresión de cadena opcional que se utiliza para restringir el intervalo de datos sobre el que se ejecuta la función DAvg. Por ejemplo, Criteria suele ser equivalente a la cláusula WHERE en una expresión SQL, sin la palabra WHERE. Si se omite Criteria , la función DAvg evalúa Expr en todo el dominio. Cualquier campo que se incluya en Criterios también debe ser un campo en Dominio; De lo contrario, la función DAvg devuelve un valor Null.

Valor devuelto

Variant

Comentarios

Por ejemplo, puede utilizar la función DAvg en la fila de criterios de una consulta de selección sobre los gastos de envío para restringir los resultados a aquellos registros en que los gastos de envío exceden el promedio. O puede utilizar una expresión que incluya la función DAvg en un control calculado y mostrar el valor promedio de los pedidos anteriores junto al valor de un nuevo pedido.

Los registros que contienen valores Null no se incluyen en el cálculo del promedio.

Tanto si usa la función DAvg en una macro o módulo, en una expresión de consulta o en un control calculado, debe construir el argumento Criteria cuidadosamente para asegurarse de que se evaluará correctamente.

Use la función DAvg para especificar criterios en la fila Criterios de una consulta. Por ejemplo, suponga que desea ver una lista de todos los productos cuyos pedidos excedan la cantidad de pedido media. Puede crear una consulta en las tablas Pedidos, Detalles del pedido y Productos, e incluir el campo Nombre del producto y el campo Cantidad , con la siguiente expresión en la fila Criterios debajo del campo Cantidad:

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

También puede usar la función DAvg dentro de una expresión de campo calculada en una consulta o en la fila Actualizar a de una consulta de actualización.

Nota:

Use la función DAvg o Avg en una expresión de campo calculada en una consulta de totales. Si usa la función DAvg, los valores se promedian antes de que se agrupen los datos. Si usa la función Avg, los datos se agrupan antes de que se promedien los valores de la expresión del campo.

Use la función DAvg en un control calculado cuando necesite especificar criterios para restringir el intervalo de datos sobre el que se ejecuta la función DAvg. Por ejemplo, para presentar el costo medio de los envíos realizados a California, establezca la propiedad ControlSource de un cuadro de texto en la siguiente expresión:

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

Si simplemente desea promediar todos los registros en Dominio, use la función Avg .

Use la función DAvg en un módulo o macro o en un control calculado de un formulario si un campo que necesita mostrar no está en el origen de registro en el que se basa el formulario. Por ejemplo, supongamos que tiene un formulario basado en la tabla Pedidos y que desea incluir el campo Cantidad de la tabla Detalles del pedido para mostrar el número medio de artículos ordenados por un cliente determinado. Use la función DAvg para realizar este cálculo y mostrar los datos en el formulario.

Sugerencia

  • Si utiliza la función DAvg en un control calculado, quizás desee colocar el control en el encabezado o pie del formulario de manera que el valor de este control no se vuelva a calcular cada vez que se desplace a un registro nuevo.
  • Si el tipo de datos del campo del que se deriva Expr es un número, la función DAvg devuelve un tipo de datos Double . Si utiliza la función DAvg en un control calculado, incluya una función de conversión de tipo de datos en la expresión para mejorar el rendimiento.
  • Aunque puede utilizar la función DAvg para determinar el promedio de los valores en un campo de una tabla externa, puede resultar más eficaz crear una consulta que contenga todos los campos que necesite y basar el formulario o informe en esa consulta.

Ejemplo:

La función siguiente devuelve el promedio de los gastos de envío de los pedidos enviados en una fecha determinada o posteriormente a ella. El dominio es una tabla denominada Orders (Pedidos). El argumento Criteria restringe el conjunto resultante de registros en función del país y la fecha de envío especificados. Tenga en cuenta que la palabra clave AND se incluye en la cadena para separar los varios campos del argumento Criteria . Todos los registros que se incluyan en el cálculo de la función DAvg tendrán estos dos criterios.

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

En los ejemplos siguientes se muestra cómo usar varios tipos de criterios con la función DAvg .

    ' ***************************
    ' 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")
    ' ***************************

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.