Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use la función DProm para calcular el promedio de un conjunto de valores de un conjunto de registros especificado (un dominio).
Sintaxis
más sencilla.DAvg (Expr, Dominio, Criterios)
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 de los que desea obtener un 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 estar integrada o definida por el usuario, pero no otra función de agregado de dominio o de agregado 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, Criterios suele ser equivalente a la cláusula WHERE en una expresión SQL, sin la palabra WHERE. Si se omiten los criterios , la función DProm evalúa la expresión en todo el dominio. Cualquier campo que se incluya en Criterios también debe ser un campo de Dominio; de lo contrario, la función DProm devuelve un valor nulo. |
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 DProm en una macro o un módulo, en una expresión de consulta o en un control calculado, debe construir el argumento Criterios con cuidado para asegurarse de que se evaluará correctamente.
Use la función DProm 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 de pedido y Productos, e incluir los campos Nombre de producto y Cantidad , con la siguiente expresión en la fila Criterios debajo del campo Cantidad:
>DAvg("[Quantity]", "Orders")
También puede usar la función DProm dentro de una expresión de campo calculado en una consulta o en la fila Actualizar en de una consulta de actualización.
Nota:
Use la función DProm o Prom en una expresión de campo calculado 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 calcular la media de todos los registros de Dominio, use la función Prom .
Use la función DProm en un módulo o macro, o en un control calculado en un formulario si un campo que necesita mostrar no está en el origen de registros en el que se basa el formulario. Por ejemplo, imagine que tiene un formulario basado en la tabla Pedidos y desea incluir el campo Cantidad de la tabla Detalles del pedido para mostrar el número promedio de artículos pedidos por un cliente determinado. Use la función DProm 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 la expresión es un número, la función DProm devuelve un tipo de datos doble . 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 Criterios restringe el conjunto resultante de registros en función del país y la fecha de envío dados. Tenga en cuenta que la palabra clave AND se incluye en la cadena para separar los múltiples campos en el argumento Criterios . 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
Los ejemplos siguientes muestran cómo usar varios tipos de criterios con la función DProm.
' ***************************
' 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.