Puede usar la función DSuma para calcular la suma de un conjunto de valores en un conjunto especificado de registros (un dominio ). Use la función DSuma en un módulo de Visual Basic para Aplicaciones (VBA), un macro, una expresión de consulta o un control calculado.
Por ejemplo, puede usar la función DSuma en una expresión de campo calculado en una consulta para calcular el total de ventas realizadas por un empleado determinado durante un período de tiempo. O bien, puede usar la función DSuma en un control calculado para mostrar una suma continua de ventas para un producto determinado.
Sintaxis
DSuma ( expresión , dominio [, criterios] )
La sintaxis de la función BDSuma tiene estos argumentos:
Argumento |
Descripción |
expresión |
Obligatorio. Expresión que identifica el campo numérico cuyos valores desea calcular. 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 expresión, 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. Una expresión de cadena usada para restringir el rango de datos en el que se ejecuta la función DSuma . Por ejemplo, los criterios suelen ser equivalentes a la cláusula WHERE en una expresión SQL, sin la palabra WHERE. Si omite criterios , la función DSuma evalúa expr en todo el dominio. Cualquier campo que se incluya en los criterios también debe ser un campo en el dominio; De lo contrario, la función DSuma devuelve un valor Null. |
Observaciones
Si ningún registro cumple el argumento criterios o si el dominio no contiene registros, la función DSuma devuelve un valor Null.
Si usa la función DSuma en una macro, módulo, expresión de consulta o control calculado, debe construir el argumento criterios cuidadosamente para asegurarse de que se evaluará correctamente.
Puede usar la función DSuma para especificar criterios en la fila Criterios de una consulta, en un campo calculado en una expresión de consulta o en la fila Actualizar a de un consulta de actualización.
Nota: Puede usar las funciones DSuma o Suma en una expresión de campo calculado en una consulta de totales. Si usa la función BDSuma , los valores se calculan antes de agrupar los datos. Si usa la función Suma , los datos se agrupan antes de que se evalúen los valores de la expresión de campo.
Es posible que desee usar la función DSuma cuando necesite mostrar la suma de un conjunto de valores de un campo que no está en el origen de registros del formulario o informe. Por ejemplo, supongamos que tiene un formulario que muestra información sobre un producto en particular. Puede usar la función DSuma para mantener un total acumulado de ventas de ese producto en un control calculado.
Sugerencia
Si necesita mantener un total acumulado en un control de un informe, puede usar la propiedad RunningSum de ese control si el campo en el que se basa se incluye en el origen del registro para el informe. Use la función DSuma para mantener una suma continua en un formulario.
Nota: Los cambios no guardados en los registros del dominio no se incluyen al usar esta función. Si quiere que la función DSuma se base en los valores cambiados, primero debe guardar los cambios haciendo clic en Guardar registro en el grupo Registros de la pestaña Inicio , moviendo el foco a otro registro o usando el método Update .
Ejemplos
Usar la función DSuma en una expresión Puede usar una función de dominio (como DSuma) en la fila Actualizar a de una consulta de actualización. Por ejemplo, supongamos que desea realizar un seguimiento de las ventas actuales por producto en una tabla de productos. Puede agregar un nuevo campo llamado SalesSoFar a la tabla Productos y ejecutar una consulta de actualización para calcular los valores correctos y actualizar los registros. Para ello, cree una consulta basada en la tabla Productos y, en la pestaña Diseño , en el grupo Tipo de consulta , haga clic en Actualizar. Agregue el campo SalesSoFar a la cuadrícula de consulta y escriba lo siguiente en la fila Actualizar a :
DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])
Al ejecutar la consulta, Access calcula el importe total de ventas de cada producto, basándose en la información de una tabla Detalles de pedidos. La suma de ventas de cada producto se agrega a la tabla Productos.
Usar DSum en código vba
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.
En el ejemplo siguiente se calcula el total de los valores del campo Transporte para los pedidos enviados a Reino Unido. El dominio es una tabla Pedidos. El argumento criterios restringe el conjunto resultante de registros a aquellos para los que ShipCountryRegion es igual a Reino Unido.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
En el ejemplo siguiente se calcula un total mediante dos criterios independientes. Tenga en cuenta que las comillas simples (') y los signos de número (#) se incluyen en la expresión de cadena, de modo que cuando las cadenas se concatenan, el literal de cadena se incluye entre comillas simples y la fecha se incluye entre signos de almohadilla.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK' AND _ [ShippedDate] > #1-1-95#")