Está en la página 1de 28

Funcin DAvg

Puede usar la funcin DAvg para calcular el promedio de un conjunto de valores de un


conjunto especificado de registros (un dominio). La funcin DAvg se utiliza en un mdulo de
Visual Basic para Aplicaciones (VBA), en unamacro, en una expresin de consulta o en
un control calculado.
Por ejemplo, puede usar la funcin DAvg en la fila de criterios de una consulta de seleccin
sobre gastos de envo para limitar los resultados a aquellos registros en los que el costo de los
gastos de envo excede el promedio. Tambin podra utilizar una expresin que incluyera la
funcin DAvg en un control calculado y mostrar el valor promedio de los pedidos anteriores
junto al valor de un pedido nuevo.
Sintaxis
DAvg(expr, dominio [, criterios] )
La sintaxis de la funcin DAvg tiene los siguientes argumentos:
ARGUMENTO DESCRIPCIN
expr Requerido. Expresin que identifica el campo que
contiene los datos numricos de los que desea obtener el
promedio. Puede ser una expresin de cadena que
identifique un campo de una tabla o de una consulta, o
puede ser una expresin que realice un clculo sobre los
datos de ese campo. En expr, puede incluir el nombre de
un campo de una tabla, un control de un formulario, una
constante o una funcin. Si expr incluye una funcin,
sta puede estar integrada o puede ser definida por el
usuario, pero no puede ser otra funcin de agregado de
dominio ni una funcin de agregado de SQL.
dominio Requerido. Expresin de cadena que identifica el
conjunto de registros que constituye el dominio. Puede
ser un nombre de tabla o un nombre de consulta de una
consulta que no requiera un parmetro.
criterios Opcional. Expresin de cadena utilizada para restringir
el intervalo de los datos en los que se ejecuta la
funcin DAvg. Por ejemplo, criterios con frecuencia es
equivalente a la clusula WHERE en una expresin
SQL, sin la palabra WHERE. Si se omite criterios, la
funcin DAvgevala expr para todo el dominio.
Cualquier campo que est incluido en criterios tambin
debe ser un campo de dominio; en caso contrario, la
funcin DAvg devuelve un valor Null.
Comentarios
Los registros que contienen valores Null no se incluyen en el clculo del promedio.
Si utiliza la funcin DAvg en una macro o mdulo, en una expresin de consulta o en un
control calculado debe construir el argumento criterios para asegurarse de que se evaluar
correctamente.
Puede utilizar la funcin DAvg para especificar criterios en la fila Criterios de una consulta. Por
ejemplo, suponga que desea ver una lista de todos los productos solicitados en cantidades
superiores a la cantidad de pedido promedio. Puede crear una consulta en las tablas Pedidos,
Detalles del pedido y Productos, e incluir el campo Nombre de producto y el campo Cantidad,
con la expresin siguiente en la fila Criterios debajo del campo Cantidad:
>DAvg("[Cantidad]", "Pedidos")

Tambin puede utilizar la funcin DAvg con una expresin de campo calculado en una
consulta o en la fila Actualizar a de una consulta de actualizacin.
NOTA Tambin puede utilizar la funcin DAvg o Avg en una expresin de campo calculado
en una consulta de totales. Si utiliza la funcin DAvg, los valores se promedian antes de que se
agrupen los datos. Si se utiliza la funcin Avg, los datos se agrupan antes de que se promedien
los valores de la expresin de campo.
Utilice la funcin DAvg en un control calculado cuando sea necesario especificar criterios para
restringir el intervalo de datos en el que se ejecuta la funcin DAvg. Por ejemplo, para mostrar
el gasto mximo en transporte para un pedido enviado a California, establezca la
propiedad ControlSource de un cuadro de texto del siguiente modo:
=DAvg("[Gastos de envo]", "Pedidos", "[ReginEnvo] =
'CA'")

Si desea nicamente promediar todos los registros de dominio, utilice la funcin Avg.
Puede utilizar la funcin DAvg en un mdulo o macro o en un control calculado de un
formulario si el campo que hay que mostrar no se encuentra en el origen del registro 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 pedido, para mostrar el
promedio de elementos pedidos por un cliente determinado. Puede utilizar la
funcin DAvg para realizar este clculo y mostrar los datos en el formulario.
Sugerencias
Si utiliza la funcin DAvg en un campo calculado, puede desear colocar el control en el
encabezado o pie de pgina del formulario para que el valor para este control no se recalcule cada
vez que se desplaza a un nuevo registro.
Si el tipo de datos del campo del cual se deriva expr es un nmero, la funcin DAvg devuelve un
tipo de datoDouble. Si utiliza DAvg en un control calculado, incluya una funcin de conversin de
tipos de datos en la expresin para mejorar el rendimiento.
Aunque puede utilizar la funcin DAvg para determinar el promedio de los valores de un campo
en una tabla externa, puede que resulte ms eficaz crear una consulta que contenga los campos
que necesita de ambas tablas y basar el formulario o informe en dicha consulta.
NOTA Los cambios no guardados efectuados en registros de dominio no se incluirn cuando
utilice estas funciones. Si desea que la funcin DAvg se base en los valores cambiados, primero
debe guardar los cambios al hacer clic en Guardar registro en el men Registros en la
ficha Datos, mover la seleccin a otro registro o utilizar el mtodo Update.
Ejemplo
NOTA Los ejemplos que vienen a continuacin demuestran el uso de esta funcin en un
mdulo de Visual Basic para Aplicaciones (VBA). Para obtener informacin acerca de cmo
trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto
a Buscar y escriba uno o ms trminos en el cuadro de bsquedas.
La siguiente funcin devuelve el promedio de los gastos de envo (freight cost) de pedidos
enviados en una fecha dada o despus de esta fecha. El dominio es una tabla Orders (Pedidos).
El argumento criterios restringe el conjunto de registros resultante basndose en un pas o
regin (ShipCountryRegion) y la fecha de envo (ShippedDate) especificados. Tenga en cuenta
que se incluye la palabra clave AND en la cadena para separar los distintos campos en el
argumento criterios. Todos los registros incluidos en el clculo de la funcin DAvg tendrn
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 funcin, utilice la lnea siguiente de cdigo en la ventana Inmediato:
:AvgFreightCost "UK", #1/1/96#

DCont (funcin)
Mostrar todo
Puede usar la funcin DCont para determinar el nmero de registros de un conjunto
especificado de registros (un dominio). La funcin DCont se utiliza en un mdulo de Visual
Basic para Aplicaciones (VBA), en una macro, en una expresin de consulta o en un control
calculado.
Por ejemplo, podra usar la funcin DCont en un mdulo para devolver el nmero de registros
de una tabla Pedidos que se corresponde a los pedidos realizados en una fecha determinada.
Sintaxis
DCont(expr, dominio [, criterios] )
La sintaxis de la funcin DCont tiene los siguientes argumentos:
ARGUMENTO DESCRIPCIN
expr Requerido. Expresin que identifica el campo para el
que se desean contar los registros. Puede ser
una expresin de cadena que identifique un campo de
una tabla o de una consulta, o puede ser una expresin
que realice un clculo sobre los datos de ese campo.
En expr, puede incluir el nombre de un campo de una
tabla, un control de un formulario, una constante o una
funcin. Si expr incluye una funcin, sta puede estar
integrada o puede ser definida por el usuario, pero no
puede ser otra funcin de agregado de dominio ni una
funcin de agregado de SQL.
dominio Requerido. Expresin de cadena que identifica el
conjunto de registros que constituye el dominio. Puede
ser un nombre de tabla o un nombre de consulta de una
consulta que no requiera un parmetro.
criterios Opcional. Expresin de cadena utilizada para restringir
el intervalo de los datos en los que se ejecuta la
funcin DCont. Por ejemplo, criterios con frecuencia es
equivalente a la clusula WHERE en una expresin
SQL, sin la palabra WHERE. Si se omite criterios, la
funcin DContevala expr para todo el dominio.
Cualquier campo que est incluido en criterios tambin
debe ser un campo de dominio; en caso contrario, la
funcin DCont devuelve un valor Null.
Comentarios
La funcin DCont se utiliza para contar el nmero de registros de un dominio cuando no se
precisa conocer sus valores particulares. Aunque el argumento expr puede realizar un clculo
en un campo, la funcin DContsimplemente cuenta el nmero de registros. No est disponible
el valor de los clculos realizados por expr.
Utilice la funcin DCont en un control calculado cuando sea necesario especificar criterios para
restringir el intervalo de datos en el que se ejecuta la funcin DCont. Por ejemplo, para mostrar
el nmero de pedidos que se van a enviar a California, establezca la
propiedad OrigenDelControl (ControlSource) de un cuadro de texto en la siguiente
expresin:
=DCont("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

Si desea nicamente contar todos los registros de dominio sin especificar ninguna restriccin,
utilice la funcinCuenta (Count).
Sugerencia
La funcin DCont se puede utilizar para contar el nmero de registros que contienen un
campo concreto que no est en el origen de datos en el que se basa el formulario o informe.
Por ejemplo, puede mostrar el nmero de pedidos de la tabla Pedidos en un control calculado
en un formulario basado en la tabla Productos.
La funcin DCont no cuenta los registros que contengan valores Null en el campo
que expr hace referencia a no ser que expr sea el carcter comodn asterisco (*). Si usa un
asterisco, la funcin DCont calcula el nmero total de registros, incluyendo aquellos que
contienen campos Null. En el siguiente ejemplo se calcula el nmero de registros de una tabla
Orders (Pedidos).
intX = DCont("*", "Orders")

Si dominio es una tabla con una clave principal, tambin puede contar el nmero total de
registros estableciendoexpr en el campo de clave principal, ya que nunca habr un
valor Null en el campo de clave principal.
Si expr identifica varios campos, separe los nombres de campos con un operador de
concatenacin, bien sea el signo de Y comercial (&) o el operador de suma (+). Si utiliza el
smbolo de la Y comercial para separar los campos, la funcin DCont devuelve el nmero de
registros que contienen datos en alguno de los campos enumerados. Si utiliza el operador de
suma, la funcin DCont devuelve slo el nmero de registros que contienen datos en todos los
campos enumerados. En el siguiente ejemplo se muestran los efectos de cada operador
cuando se utiliza con un campo que contiene datos en todos los registros (ShipName) y un
campo que no contiene datos (ShipRegion).
intW = DCont("[ShipName]", "Orders")
intX = DCont("[ShipRegion]", "Orders")
intY = DCont("[ShipName] + [ShipRegion]", "Orders")
intZ = DCont("[ShipName] & [ShipRegion]", "Orders")

NOTA El signo de Y comercial (&) es el operador preferido para realizar la concatenacin de
cadenas. Debera evitar el uso del operador de suma en operaciones que no sean de adicin
numrica, a no ser que desee propagar especficamente valores Null a travs de una expresin.
Los cambios no guardados efectuados en registros de dominio no se incluirn cuando utilice
estas funciones. Si desea que la funcin DCont se base en los valores cambiados, primero debe
guardar los cambios al hacer clic enGuardar registro en el men Registros en la ficha Datos,
mover la seleccin a otro registro o utilizar el mtodoUpdate.
Ejemplo
NOTA Los ejemplos que vienen a continuacin demuestran el uso de esta funcin en un
mdulo de Visual Basic para Aplicaciones (VBA). Para obtener informacin acerca de cmo
trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto
a Buscar y escriba uno o ms trminos en el cuadro de bsquedas.
La siguiente funcin devuelve el nmero de pedidos enviados a un pas especificado despus
de una fecha de envo especificada. El domino es una tabla denominada Orders (Pedidos).
Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer

OrdersCount = DCont("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function


Para llamar a la funcin, utilice la lnea siguiente de cdigo en la ventana Inmediato:
:OrdersCount "UK", #1/1/96#
Funciones DPrim (DFirst), Dltimo (DLast)

Puede usar las funciones DPrim (DFirst) y Dltimo (DLast) para devolver un registro aleatorio
de un campo particular de una tabla o consulta cuando necesite tan slo un valor de ese
campo. Use las funciones DPrim yDltimo en una macro, en un mdulo, en una expresin de
consulta o en un control calculado de un formulario o informe.
Sintaxis
DFirst(expr, dominio [, criterios] )
DLast(expr, dominio [, criterios] )
Las funciones DPrim y Dltimo tienen estos argumentos:
ARGUMENTO DESCRIPCIN
expr Requerido. Expresin que identifica el campo desde el
que desea encontrar el primer o el ltimo valor. Puede
ser una expresin de cadena que identifique un campo
de una tabla o de una consulta, o puede ser una
expresin que realice un clculo sobre los datos de ese
campo. Enexpr, puede incluir el nombre del campo de la
tabla, un control de un formulario, una constante o una
funcin. Si expr incluye una funcin, sta puede estar
integrada o puede ser definida por el usuario, pero no
puede ser otra funcin de agregado de dominio ni una
funcin de agregado de SQL.
dominio Requerido. Expresin de cadena que identifica el
conjunto de registros que constituye el dominio.
criterios Opcional. Expresin de cadena que se utiliza para
restringir el intervalo de datos sobre el que se ejecuta la
funcin DPrim o Dltimo. Por ejemplo, criterios con
frecuencia es equivalente a la clusula WHERE en una
expresin SQL, sin la palabra WHERE. Si se
omite criterios, las
funcionesDPrim y Dltimo evalan expr para todo el
dominio. Cualquier campo que se incluya
encriterios debe ser tambin un campo de dominio; de
lo contrario, las funciones DPrim yDltimo devuelven
el valor Null.
Comentarios
NOTA Si desea devolver el primer o el ltimo registro de un conjunto de registros
(un dominio), debe crear una consulta clasificada en orden ascendente o descendente y
establecer la propiedad ValoresSuperiores (TopValues)en 1. Para obtener ms informacin,
vea el tema de la propiedad ValoresSuperiores (TopValues). Desde un mdulo de Visual Basic
para Aplicaciones (VBA), tambin puede crear un objeto Recordset de ADO y utilizar el
mtodoMoveFirst o MoveLast para devolver el primer o el ltimo registro de un conjunto de
registros.
Le result este artculo de ayuda?
DBsq (funcin)
Puede usar la funcin DBsq para obtener el valor de un campo en un conjunto especificado
de registros (undominio). Use la funcin DBsq en un mdulo de Visual Basic para
Aplicaciones (VBA), en una macro, en una expresin de consulta o en un control calculado.
Puede usar la funcin DBsq para mostrar el valor de un campo que no se encuentra en el
origen de registros en que est basado el formulario o informe. Por ejemplo, suponga que
tiene un formulario basado en una tabla Detalles de pedido. El formulario muestra los campos
IdPedido, IdProducto, PrecioUnidad, Cantidad y Descuento. Sin embargo, el campo
NombreProducto est en otra tabla, la tabla Productos. Puede utilizar la funcin DBsq en un
control calculado para mostrar el NombreProducto en el mismo formulario.
Sintaxis
DBsq(expr, dominio [, criterios] )
La sintaxis de la funcin DBsq tiene los siguientes argumentos:
ARGUMENTO DESCRIPCIN
expr Requerido. Expresin que identifica el campo cuyo valor
desea devolver. Puede ser unaexpresin de cadena que
identifique un campo de una tabla o de una consulta, o
puede ser una expresin que realice un clculo sobre los
datos de ese campo. En expr, puede incluir el nombre de
un campo de una tabla, un control de un formulario, una
constante o una funcin. Si exprincluye una funcin,
sta puede estar integrada o puede ser definida por el
usuario, pero no puede ser otra funcin de agregado de
dominio ni una funcin de agregado de SQL.
dominio Requerido. Expresin de cadena que identifica el
conjunto de registros que constituye el dominio. Puede
ser un nombre de tabla o un nombre de consulta de una
consulta que no requiera un parmetro.
criterios Opcional. Expresin de cadena utilizada para restringir
el intervalo de los datos en los que se ejecuta la
funcin DBsq. Por ejemplo, criterios con frecuencia es
equivalente a la clusula WHERE en una expresin
SQL, sin la palabra WHERE. Si se omite criterios, la
funcin DBsqevala expr para todo el dominio.
Cualquier campo que se incluya en criterios debe ser
tambin un campo de dominio; de lo contrario, la
funcin DBsq devuelve el valor Null.
Comentarios
La funcin DBsq devuelve un nico campo basado en la informacin especificada
en criterios. Aunque criterios es un argumento opcional, si no se proporciona un valor
para criterios, la funcin DBsq devuelve un valor aleatorio en el dominio.
Si ningn registro cumple los criterios o si el dominio no contiene registros, la
funcin DBsq devuelve el valorNull.
Si ms de un campo cumple los criterios, la funcin DBsq devuelve la primera aparicin.
Debe especificar los criterios que van a asegurar que el valor de campo devuelto por la
funcin DBsq es nico. Quiz desee utilizar un valor de clave principal para los criterios,
como [EmployeeID] en el siguiente ejemplo, para asegurarse de que la
funcin DBsq devuelve un valor nico:
Dim varX As Variant
varX = DLookup("[LastName]", "Employees", _
"[EmployeeID] = 1")

Independientemente de si usa la funcin DBsq en una macro, mdulo, expresin de consulta
o control calculado, debe crear el argumento criterios con cuidado para garantizar que se
evaluar correctamente.
Puede usar la funcin DBsq para especificar criterios en la fila Criterios de una consulta, en
una expresin de campo calculado de una consulta o en la fila Actualizar a de una consulta de
actualizacin.
Tambin puede utilizar la funcin DBsq en una expresin en un control calculado de un
formulario o informe si el campo que debe mostrar no est en el origen de registros en que
est basado el formulario o informe. Por ejemplo, suponga que tiene un formulario Detalles de
pedido basado en una tabla Detalles de pedido con un cuadro de texto denominado
IdProducto que muestra el campo IdProducto. Para buscar NombreProducto en una tabla
Productos basndose en el valor del cuadro de texto, puede crear otro cuadro de texto y
establecer su propiedad OrigenDelControl (ControlSource) en la expresin siguiente:
=DLookup("[ProductName]", "Products", "[ProductID] =" &
Forms![Order Details]!ProductID)

Sugerencias
Aunque puede utilizar la funcin DBsq para mostrar un valor de un campo en una tabla externa,
puede resultar ms eficaz crear una consulta que contenga los campos que necesite de ambas
tablas, y despus basar el formulario o informe en esa consulta.
Tambin puede utilizar el Asistente para bsquedas para buscar valores en una tabla externa.
NOTA Los cambios no guardados efectuados en registros de dominio no se incluirn cuando
utilice estas funciones. Si desea que la funcin DBsq se base en los valores cambiados,
primero debe guardar los cambios al hacer clic en Guardar registro en el men Registros en
la ficha Datos, mover la seleccin a otro registro o utilizar el mtodo Update.
Ejemplo
NOTA Los ejemplos que vienen a continuacin demuestran el uso de esta funcin en un
mdulo de Visual Basic para Aplicaciones (VBA). Para obtener informacin acerca de cmo
trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto
a Buscar y escriba uno o ms trminos en el cuadro de bsquedas.
En el siguiente ejemplo se devuelve informacin sobre el campo CompanyName (Nombre de
compaa) del registro que cumple con los criterios. El dominio es la tabla Shippers
(Compaas de envos). El argumento criteriosrestringe el conjunto de registros resultante a
aqullos para los que ShipperID (Id. de compaa de envos) es igual a 1.
Dim varX As Variant
varX = DLookup("[CompanyName]", _
"Shippers", "[ShipperID] = 1")

En el ejemplo siguiente de la tabla Shippers (Compaas de envos) se utiliza el control de
formulario ShipperID (Id. de compaa de envos) con el fin de proporcionar criterios para la
funcin DBsq. Observe que la referencia al control no est incluida en los signos de comillas
tipogrficas que denotan las cadenas. De esta forma se garantiza que cada vez que se llame a
la funcin DBsq, Microsoft Office Access 2007 obtendr el valor actual del control.
Dim varX As Variant
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & Forms!Shippers!ShipperID)

En el siguiente ejemplo se usa una variable, intSearch, para obtener el valor.
Dim intSearch As Integer
Dim varX As Variant

intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)

Funciones DMn (DMin) y DMx (DMax)
Mostrar todo
Puede usar las funciones DMn (DMin) y DMx (DMax) para calcular los valores mnimo y
mximo de un grupo de registros especificado (un dominio). Utilice las
funciones DMn yDMx en un mdulo de Visual Basic para Aplicaciones (VBA), en una macro,
en una expresin de consulta o en uncontrol calculado.
Por ejemplo, puede utilizar las funciones DMn y DMx en los controles calculados de un
informe para mostrar el menor y el mayor de los importes de pedido para un cliente particular.
O bien, puede utilizar la funcin DMn en una expresin de consulta para mostrar todos los
pedidos con un descuento mayor que el descuento mnimo posible.
Sintaxis
DMin(expr, dominio [, criterios] )
DMax(expr, dominio [, criterios] )
Las funciones DMn y DMx tienen estos argumentos:
ARGUMENTO DESCRIPCIN
expr Requerido. Expresin que identifica el campo para el
que desea encontrar el valor mximo y mnimo. Puede
ser una expresin de cadena que identifique un campo
de una tabla o de una consulta, o puede ser una
expresin que realice un clculo sobre los datos de ese
campo. Enexpr, puede incluir el nombre de un campo de
una tabla, un control de un formulario, una constante o
una funcin. Si expr incluye una funcin, sta puede
estar integrada o puede ser definida por el usuario, pero
no puede ser otra funcin de agregado de dominio ni una
funcin de agregado de SQL.
dominio Requerido. Expresin de cadena que identifica el
conjunto de registros que constituye el dominio. Puede
ser un nombre de tabla o un nombre de consulta de una
consulta que no requiera un parmetro.
criterios Opcional. Expresin de cadena que se utiliza para
restringir el intervalo de datos sobre el que se ejecuta la
funcin DMn o DMx. Por ejemplo, criterios con
frecuencia es equivalente a la clusula WHERE en una
expresin SQL, sin la palabra WHERE. Si se
omite criterios, las
funcionesDMn y DMx evalan expr para todo el
dominio. Cualquier campo que se incluya
en criteriosdebe ser tambin un campo de dominio; de
lo contrario, las funciones DMn y DMx devuelven el
valor Null.
Comentarios
Las funciones DMn y DMx devuelven los valores mnimo y mximo que cumplen
los criterios. Si expr identifica datos numricos, las funciones DMn y DMx devuelven valores
numricos. Si expr identifica datos de cadena, devuelven la cadena que aparece
alfabticamente en primer o en ltimo lugar.
Las funciones DMn y DMx omiten los valores Null en el campo a que hace referencia expr.
Sin embargo, si ningn registro cumple los criterios o si dominio no contiene registros, la
funcin DMn y DMx devuelven el valorNull.
Independientemente de si usa la funcin DMn o DMx en una macro, mdulo, expresin de
consulta o control calculado, debe crear el argumento criterios con cuidado para garantizar
que se evaluar correctamente.
Puede utilizar las funciones DMn y DMx para especificar criterios en la fila Criterios de una
consulta, en una expresin de campo calculado de una consulta o en la fila Actualizar a de
una consulta de actualizacin.
NOTA Se pueden utilizar las funciones DMn y DMx o las funciones Mn (Min) y Mx
(Max) en una expresin de campo calculado dentro de una consulta de totales. Si utiliza la
funcin DMn o DMx los valores se calculan antes de que se agrupen los datos. Si usa la
funcin Mn o Mx los datos se agrupan antes de que se evalen los valores de la expresin
del campo.
Utilice las funciones DMn o DMx en un control calculado cuando necesite especificar
criterios para restringir el intervalo de datos sobre el que se ejecuta la funcin. Por ejemplo,
para mostrar los gastos de envo mximos de un pedido enviado a California, establezca la
propiedad OrigenDelControl (ControlSource) de un cuadro de texto en la siguiente
expresin:
=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Si nicamente desea averiguar el valor mnimo o mximo de todos los registros de dominio,
utilice la funcin Mno Mx.
Puede utilizar la funcin DMn o DMx en un mdulo o macro o en un control calculado de un
formulario si el campo que debe mostrar no est en el origen de registros en que est basado
el formulario.
Sugerencia
NOTA Los cambios no guardados efectuados en registros de dominio no se incluirn cuando
utilice estas funciones. Si desea que la funcin DMx o DMn se base en los valores
cambiados, primero debe guardar los cambios haciendo clic en Guardar
registro en Registros en la ficha Datos, moviendo la seleccin a otro registro o utilizando el
mtodo Update.
Ejemplo
NOTA Los ejemplos que vienen a continuacin demuestran el uso de esta funcin en un
mdulo de Visual Basic para Aplicaciones (VBA). Para obtener informacin acerca de cmo
trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto
a Buscar y escriba uno o ms trminos en el cuadro de bsquedas.
En el siguiente ejemplo se devuelven los valores ms bajo y ms alto del campo Freight (Gastos
de envo) para los pedidos enviados al Reino Unido (UK). El dominio es la tabla Orders
(Pedidos). El argumento criterios restringe el conjunto de registros resultante a aqullos para
los que ShipCountryRegion (ReginPas de destino) es igual a UK.
Dim curX As Currency
Dim curY As Currency

curX = DMin("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

En el ejemplo siguiente, el argumento criterios incluye el valor actual de un cuadro de texto
denominado OrderDate (Fecha de pedido). El cuadro de texto es dependiente de un campo
OrderDate (Fecha de pedido) de una tabla Orders (Pedidos). Observe que la referencia al
control no est incluida entre los signos de dobles comillas (") que denotan las cadenas. De
esta forma, se garantiza que cada vez que se llama a la funcin DMax, Microsoft Office Access
2007 obtiene el valor actual del control.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")

En el ejemplo siguiente, la expresin de criterio incluye una variable, dteOrderDate. Observe
que en la expresin de cadena se incluyen signos de nmero (#), de modo que cuando las
cadenas se concatenen, la fecha quedar incluida entre estos signos de nmero.
Dim dteOrderDate As Date
Dim curX As Currency

dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")

Funciones DDesvEst (DStDev), DDesvEstP (DStDevP)
Mostrar todo
Puede usar las funciones DDesvEst (DStDev) y DDesvEstP (DStDevP) para calcular la
desviacin estndar de un conjunto de valores de un grupo de registros especificado
(undominio). Utilice las funciones DDesvEst y DDesvEstP en un mdulo de Visual Basic para
Aplicaciones (VBA), en una macro, en una expresin de consulta o en un control calculado de
un formulario o informe.
Use la funcin DDesvEstP para evaluar una poblacin y la funcin DDesvEst para evaluar una
muestra de poblacin.
Por ejemplo, puede usar la funcin DDesvEst en un mdulo para calcular la desviacin
estndar de los resultados de los exmenes de un grupo de estudiantes.
Sintaxis
DStDev(expr, dominio [, criterios] )
DStDevP(expr, dominio [, criterios] )
Las funciones DDesvEst y DDesvEstP tienen estos argumentos:
ARGUMENTO DESCRIPCIN
expr Requerido. Expresin que identifica el campo numrico
en el que se desea encontrar la desviacin estndar.
Puede ser una expresin de cadena que identifique un
campo de una tabla o de una consulta, o puede ser una
expresin que realice un clculo sobre los datos de ese
campo. En expr, puede incluir el nombre de un campo
de una tabla, un control de un formulario, una constante
o una funcin. Si expr incluye una funcin, sta puede
estar integrada o puede ser definida por el usuario, pero
no puede ser otra funcin de agregado de dominio ni una
funcin de agregado de SQL.
dominio Requerido. Expresin de cadena que identifica el
conjunto de registros que constituye el dominio. Puede
ser un nombre de tabla o un nombre de consulta de una
consulta que no requiera un parmetro.
criterios Opcional. Expresin de cadena que se utiliza para
restringir el intervalo de datos sobre el que se ejecuta la
funcin DDesvEst o DDesvEstP. Por
ejemplo, criterios con frecuencia es equivalente a la
clusula WHERE en una expresin SQL, sin la palabra
WHERE. Si se omite criterios, las
funciones DDesvEst y DDesvEstP evalan expr para
todo el dominio. Cualquier campo que se incluya
en criterios debe ser tambin un campo de dominio; de
lo contrario, las
funcionesDDesvEst y DDesvEstP devuelven el
valor Null.
Comentarios
Si dominio hace referencia a menos de dos registros, o si menos de dos registros cumplen
los criterios, las funciones DDesvEst y DDesvEstP devuelven el valor Null, que indica que no
puede calcularse la desviacin estndar.
Independientemente de si usa la funcin DDesvEst o DDesvEstP en una macro, mdulo,
expresin de consulta o control calculado, debe crear el argumento criterios con cuidado para
garantizar que se evaluar correctamente.
Puede utilizar DDesvEst y DDesvEstP para especificar criterios en la fila Criterios de una
consulta seleccionada. Por ejemplo, puede crear una consulta en una tabla Pedidos y en una
tabla Productos para mostrar todos los productos para los que los gastos de envo queden por
encima de la media ms la desviacin estndar para los gastos de envo. La fila Criterios bajo el
campo Gastos de envo contiene la expresin siguiente:
>(DDesvEst("[Gastos de envo]", "Pedidos") +
DProm("[Gastos de envo]", "Pedidos"))

Puede utilizar las funciones DDesvEst y DDesvEstP dentro de una expresin de campo
calculado en una consulta o en la fila Actualizar a de una consulta de actualizacin.
NOTA Se pueden utilizar las funciones DDesvEst y DDesvEstP o las funciones DesvEst
(StDev) y DesvEstP (StDevP) en una expresin de campo calculado dentro de una consulta de
totales. Si utiliza la funcin DDesvEst oDDesvEstP los valores se calculan antes de que se
agrupen los datos. Si usa la funcin DesvEst o DesvEstP los datos se agrupan antes de que se
evalen los valores de la expresin del campo.
Utilice las funciones DDesvEst o DesvEstP en un control calculado cuando necesite especificar
criterios para restringir el intervalo de datos sobre el que se ejecuta la funcin. Por ejemplo,
para mostrar la desviacin estndar de los pedidos que se van a enviar a California, establezca
la propiedad OrigenDelControl (ControlSource) de un cuadro de texto en la siguiente
expresin:
=DDesvEst("[Gastos de envo]", "Pedidos", "[ReginEnvo] =
'CA'")

Si simplemente desea encontrar la desviacin estndar de todos los registros de dominio,
utilice la funcinDDesvEst o DDesvEstP.
Sugerencia
NOTA Los cambios no guardados efectuados en registros de dominio no se incluyen cuando
utilice estas funciones. Si desea que la funcin DDesvEst o DDesvEstP se base en los valores
cambiados, primero debe guardar los cambios haciendo clic en Guardar
registro en Registros en la ficha Datos, moviendo la seleccin a otro registro o utilizando el
mtodo Update.
Ejemplo
NOTA Los ejemplos que vienen a continuacin demuestran el uso de esta funcin en un
mdulo de Visual Basic para Aplicaciones (VBA). Para obtener informacin acerca de cmo
trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto
a Buscar y escriba uno o ms trminos en el cuadro de bsquedas.
En el siguiente ejemplo se devuelven clculos de la desviacin estndar de una poblacin y una
muestra de poblacin para los pedidos enviados al Reino Unido (UK). El dominio es la tabla
Orders (Pedidos). El argumentocriterios restringe el conjunto de registros resultante a aqullos
para los que ShipCountryRegion (ReginPas de destino) es igual a UK.
Dim dblX As Double
Dim dblY As Double

' Sample estimate.
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

' Population estimate.
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

En el siguiente ejemplo se calculan los mismos clculos usando una
variable, strCountryRegion, en el argumentocriterios. Observe que hay signos de comilla
tipogrfica (') incluidos en la expresin de cadena, de modo que, cuando se concatenen las
cadenas, la cadena UK se encontrar entre comillas tipogrficas.
Dim strCountryRegion As String
Dim dblX As Double
Dim dblY As Double

strCountryRegion = "UK"

dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")

dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegi
DSuma (funcin, DSum)
Mostrar todo
Puede usar la funcin DSuma (DSum) para calcular la suma de un conjunto de valores de un
conjunto especificado de registros (un dominio). La funcin DSuma se utiliza en un mdulo de
Visual Basic para Aplicaciones (VBA), en una macro, en una expresin de consulta o en
un control calculado.
Por ejemplo, puede utilizar la funcin DSuma en una expresin de campo calculada en una
consulta para calcular las ventas totales realizadas por un empleado particular durante cierto
perodo de tiempo. O puede utilizar la funcin DSuma en un control calculado para mostrar
una suma actualizada de ventas para un producto particular.
Sintaxis
DSuma(expr, dominio [, criterios] )
La sintaxis de la funcin DSuma tiene los siguientes argumentos:
ARGUMENTO DESCRIPCIN
expr Requerido. Expresin que identifica el campo numrico
cuyos valores desea calcular. Puede ser una expresin de
cadena que identifique un campo de una tabla o de una
consulta, o puede ser una expresin que realice un
clculo sobre los datos de ese campo. En expr, puede
incluir el nombre de un campo de una tabla, un control
de un formulario, una constante o una funcin.
Si expr incluye una funcin, sta puede estar integrada o
puede ser definida por el usuario, pero no puede ser otra
funcin de agregado de dominio ni una funcin de
agregado de SQL.
dominio Requerido. Expresin de cadena que identifica el
conjunto de registros que constituye el dominio. Puede
ser un nombre de tabla o un nombre de consulta de una
consulta que no requiera un parmetro.
criterios Opcional. Expresin de cadena utilizada para restringir
el intervalo de los datos en los que se ejecuta la
funcin DSuma. Por ejemplo, criterios con frecuencia
es equivalente a la clusula WHERE en una expresin
SQL, sin la palabra WHERE. Si se omite criterios, la
funcin DSumaevala expr para todo el dominio.
Cualquier campo que est incluido en criterios tambin
debe ser un campo de dominio; en caso contrario, la
funcin DSuma devuelve un valor Null.
Comentarios
Si ningn registro cumple el argumento criterios o si el dominio no contiene registros, la
funcin DSuma devuelve el valor Null.
Independientemente de si usa la funcin DSuma en una macro, mdulo, expresin de consulta
o control calculado, debe crear el argumento criterios con cuidado para garantizar que se
evaluar correctamente.
Puede usar la funcin DSuma para especificar criterios en la fila Criterios de una consulta, en
un campo calculado en una expresin de consulta o en la fila Actualizar a de una consulta de
actualizacin.
NOTA Tambin puede utilizar la funcin DSuma o Suma (Sum) en una expresin de campo
calculado en unaconsulta de totales. Si utiliza la funcin DSuma, los valores se calculan antes
de que se agrupen los datos. Si se utiliza la funcin Suma, los datos se agrupan antes de que
se promedien los valores de la expresin de campo.
Es posible que desee utilizar la funcin DSuma cuando necesite mostrar la suma de un
conjunto de valores de un campo que no est en el origen de registros para el formulario o
informe. Por ejemplo, suponga que tiene un formulario que muestra informacin sobre un
producto particular. Puede utilizar la funcin DSuma para mantener un total actualizado de
ventas de ese producto en un control calculado.
Sugerencia
NOTA Los cambios no guardados efectuados en registros de dominio no se incluirn cuando
utilice estas funciones. Si desea que la funcin DSuma se base en los valores cambiados,
primero debe guardar los cambios haciendo clic en Guardar registro en el grupo Registros en
la ficha Inicio, moviendo la seleccin a otro registro o usando el mtodo Update.
Ejemplos
Usar la funcin DSuma en una expresin Puede usar una funcin de dominio
(como DSuma) en la fila Actualizar a de una consulta de actualizacin. Por ejemplo,
supongamos que desea realizar un seguimiento de las ventas actuales por producto en la tabla
Productos. Puede agregar un nuevo campo denominado VentasHastaFecha a la tabla
Productos y ejecutar una consulta de actualizacin para calcular los valores correctos y
actualizar los registros. Cree una nueva consulta basada en la tabla Productos y haga clic en la
ficha Diseo, en el grupo Tipo de consulta, haga clic en Actualizacin. Agregue el campo
VentasHastaFecha a la cuadrcula de la consulta y escriba lo siguiente en la fila Actualizar a:
DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])

Una vez ejecutada la consulta, Microsoft Office Access 2007 calcula la cantidad total de ventas
para cada producto, basndose en la informacin de la tabla Detalles de pedidos. La suma de
las ventas de cada producto se agrega a la tabla Productos.
Usar DSuma en cdigo VBA
NOTA Los ejemplos que vienen a continuacin demuestran el uso de esta funcin en un
mdulo de Visual Basic para Aplicaciones (VBA). Para obtener informacin acerca de cmo
trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto
a Buscar y escriba uno o ms trminos en el cuadro de bsquedas.
En el siguiente ejemplo, se calculan los valores del campo Freight (Gastos de envo) de los
pedidos enviados al Reino Unido (UK). El dominio es la tabla Orders (Pedidos). El
argumento criterios restringe el conjunto de registros resultante a aqullos para los que
ShipCountryRegion (ReginPas de destino) es igual a UK.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

En el ejemplo siguiente se calcula un total usando dos criterios distintos. Observe que en la
expresin de cadena se incluyen signos de comilla simple (') y signos de nmero (#), de modo
que cuando las cadenas se concatenen, el literal de cadena estar delimitado por signos de
comillas simples y la fecha por signos de nmero.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK' AND _
[ShippedDate] > #1-1-95#")

Le result este artculo de ayuda?
Funciones DVar, DVarP

Puede usar las funciones DVar y DVarP para calcular la varianza de un conjunto de valores de
un grupo de registros especificado (un dominio). Utilice las funciones DVar y DVarP en un
mdulo de Visual Basic para Aplicaciones (VBA), en una macro, en una expresin de consulta o
en un control calculado de un formulario o informe.
Use la funcin DVarP para evaluar la varianza de una poblacin y la funcin DVar para evaluar
una varianza de una muestra de poblacin.
Por ejemplo, puede usar la funcin DVar para calcular la varianza de los resultados de los
exmenes de un grupo de estudiantes.
Sintaxis
DVar(expr, dominio [, criterios] )
DVarP(expr, dominio [, criterios] )
Las funciones DVar y DVarP tienen estos argumentos:
ARGUMENTO DESCRIPCIN
expr Requerido. Expresin que identifica el campo numrico
en el que se desea encontrar la varianza. Puede ser
una expresin de cadena que identifique un campo de
una tabla o de una consulta, o puede ser una expresin
que realice un clculo sobre los datos de ese campo.
En expr, puede incluir el nombre de un campo de una
tabla, un control de un formulario, una constante o una
funcin. Si expr incluye una funcin, sta puede estar
integrada o puede ser definida por el usuario, pero no
puede ser otra funcin de agregado de dominio ni una
funcin de agregado de SQL. Cualquier campo incluido
en expr debe ser un campo numrico.
dominio Requerido. Expresin de cadena que identifica el
conjunto de registros que constituye el dominio. Puede
ser un nombre de tabla o un nombre de consulta de una
consulta que no requiera un parmetro.
criterios Opcional. Expresin de cadena que se utiliza para
restringir el intervalo de datos sobre el que se ejecuta la
funcin DVar o DVarP. Por ejemplo, criterios con
frecuencia es equivalente a la clusula WHERE en una
expresin SQL, sin la palabra WHERE. Si se
omite criterios, las
funcionesDVar y DVarP evalan expr para todo el
dominio. Cualquier campo que se incluya
en criteriosdebe ser tambin un campo de dominio; de
lo contrario, las funciones DVar y DVarP devuelven el
valor Null.
Comentarios
Si dominio hace referencia a menos de dos registros, o si menos de dos registros cumplen
los criterios, las funciones DVar y DVarP devuelven el valor Null, que indica que no puede
calcularse la varianza.
Independientemente de si usa la funcin DVar o DVarP en una macro, mdulo, expresin de
consulta o control calculado, debe crear el argumento criterios con cuidado para garantizar
que se evaluar correctamente.
Puede utilizar las funciones DVar y DVarP para especificar criterios en la fila Criterios de una
consulta de seleccin, en una expresin de campo calculados de una consulta o en la
fila Actualizar a de una consulta de actualizacin.
NOTA Se pueden utilizar las funciones DVar y DVarP o las funciones Var y VarP en una
expresin de campo calculado dentro de una consulta de totales. Si utiliza la
funcin DVar o DVarP los valores se calculan antes de que se agrupen los datos. Si usa la
funcin Var o VarP los datos se agrupan antes de que se evalen los valores de la expresin
del campo.
Utilice las funciones DVar y DVarP en un control calculado cuando necesite
especificar criterios para restringir el intervalo de datos sobre el que se ejecuta la funcin. Por
ejemplo, para mostrar una varianza de los pedidos que se van a enviar a California, establezca
la propiedad OrigenDelControl (ControlSource) de un cuadro de texto en la siguiente
expresin:
=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Si simplemente desea encontrar la desviacin estndar de todos los registros de dominio,
utilice la funcin Var oVarP.
NOTA Los cambios no guardados efectuados en registros de dominio no se incluirn cuando
utilice estas funciones. Si desea que la funcin DVar o DVarP se base en los valores cambiados,
primero debe guardar los cambios haciendo clic en Guardar registro en Registros en la
ficha Datos, moviendo la seleccin a otro registro o utilizando el mtodo Update.
Ejemplo
NOTA Los ejemplos que vienen a continuacin demuestran el uso de esta funcin en un
mdulo de Visual Basic para Aplicaciones (VBA). Para obtener informacin acerca de cmo
trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto
a Buscar y escriba uno o ms trminos en el cuadro de bsquedas.
En el siguiente ejemplo, se devuelven clculos de la varianza de una poblacin y una muestra
de poblacin para los pedidos enviados al Reino Unido. El dominio es la tabla Orders (Pedidos).
El argumento criterios restringe el conjunto de registros resultante a aqullos para los que
ShipCountryRegion (ReginPas de destino) es igual a UK.
Dim dblX As Double
Dim dblY As Double

' Clculo de la muestra.
dblX = DVar("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

' Clculo de la poblacin.
dblY = DVarP("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

En el siguiente ejemplo se devuelven clculos mediante el uso de una
variable, strCountryRegion, en el argumentocriterios. Observe que hay signos de comillas
simples (') incluidos en la expresin de cadena de modo que, cuando se concatenen las
cadenas, el literal de cadena UK estar entre signos de comillas simples.
Dim strCountryRegion As String
Dim dblX As Double

strCountryRegion = "UK"

dblX = DVar("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")

Le result este artculo de ayuda?