Puede usar la función DProm para calcular el promedio de un conjunto de valores de un conjunto especificado de registros (un dominio ). Use la función DProm en un módulo de Visual Basic para Aplicaciones (VBA), en un macro, en una expresión de consulta o en una control calculado.
Por ejemplo, podría usar la función DProm en la fila de criterios de una consulta de selección sobre el costo de transporte para restringir los resultados a los registros en los que el costo de transporte supera el promedio. O bien, podría usar una expresión que incluya la función DProm en un control calculado y mostrar el valor promedio de los pedidos anteriores junto al valor de un nuevo pedido.
Sintaxis
DAvg ( expresión , dominio [, criterios] )
La sintaxis de la función DProm tiene estos argumentos:
Argumento |
Descripción |
expresión |
Obligatorio. Expresión que identifica el campo que contiene los datos numéricos que desea calcular como promedio. Puede ser un expresión de cadena identificar un campo en una tabla o consulta, o puede ser una expresión que realiza un cálculo en los datos de ese campo. En expr, puede incluir el nombre de un campo en una tabla, un control de un formulario, una constante o una función. Si expresión 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 |
Requerido. Expresión de cadena que identifica el conjunto de registros que constituye el dominio. Puede ser un nombre de tabla o un nombre de consulta para una consulta que no requiere un parámetro. |
criterio |
Opcional. Expresión de cadena usada para restringir el rango de datos en el que se ejecuta la función DProm . Por ejemplo, los criterios suelen ser equivalentes a la cláusula WHERE en una expresión SQL, sin la palabra WHERE. Si omite los criterios , la función DProm evalúa la expresión en todo el dominio. Cualquier campo que se incluya en criteria también debe ser un campo de dominio; De lo contrario, la función DProm devuelve un valor Null. |
Observaciones
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 módulo, en una expresión de consulta o en un control calculado, debe construir el argumento criterios cuidadosamente para asegurarse de que se evaluará correctamente.
Puede usar 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 ordenados por cantidades por encima de la cantidad media de pedido. Puede crear una consulta en las tablas Pedidos, Detalles de pedidos 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 DProm dentro de una expresión de campo calculado en una consulta o en la fila Actualizar a de un consulta de actualización.
Nota: Puede usar las funciones DAvg o Prom en una expresión de campo calculado en una consulta de totales. Si usa la función DProm , los valores se promedian antes de agrupar los datos. Si usa la función Prom , los datos se agrupan antes de que se promedian los valores de la expresión de campo.
Use la función DProm en un control calculado cuando necesite especificar criterios para restringir el rango de datos en el que se realiza la función DProm . Por ejemplo, para mostrar el costo promedio de los envíos enviados 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 el promedio de todos los registros del dominio, use la función Prom .
Puede usar la función DProm 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 registros en el que se basa el formulario. Por ejemplo, supongamos que tiene un formulario basado en la tabla Pedidos y desea incluir el campo Cantidad de la tabla Detalles de pedidos para mostrar el número medio de artículos pedido por un cliente determinado. Puede usar la función DProm para realizar este cálculo y mostrar los datos en el formulario.
Recomendaciones
-
Si usa la función DProm en un control calculado, es posible que desee colocar el control en el encabezado o pie de página del formulario para 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 expresión es un número, la función DProm devuelve un tipo de datos Double. Si usa la función DProm 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 usar la función DProm para determinar el promedio de los valores de un campo de una tabla externa, puede resultar más eficaz crear una consulta que contenga todos los campos que necesite y, a continuación, basar el formulario o informe en esa consulta.
Nota: Los cambios no guardados en los registros del dominio no se incluyen al usar esta función. Si desea que la función DProm se base en los valores cambiados, primero debe guardar los cambios haciendo clic en Guardar registro en Registros en la pestaña Datos , moviendo el foco a otro registro o usando el método Update .
Ejemplo
Nota: Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.
La siguiente función devuelve el coste medio de transporte para los pedidos enviados en una fecha determinada o después de esta. El dominio es una tabla Pedidos. El argumento criterios restringe el conjunto resultante de registros en función de la fecha de envío o el país o la región especificados. Tenga en cuenta que la palabra clave AND se incluye en la cadena para separar los varios campos en el argumento criterios . Todos los registros incluidos en el cálculo de la función DProm tendrán ambos criterios.
Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _ ByVal dteShipDate As Date) As Double AvgFreightCost = DAvg("[Freight]", "Orders", _ "[ShipCountryRegion] = '" & strCountryRegion & _ "'AND [ShippedDate] >= #" & dteShipDate & "#") End Function
Para llamar a la función, use la siguiente línea de código en la ventana Inmediato:
:AvgFreightCost "UK", #1/1/96#