Método Application.DSum (Access)
Use la función DSum para calcular la suma de un conjunto de valores en un conjunto especificado de registros (un dominio).
Sintaxis
expresión. DSum (Expr, Domain, Criteria)
expresión Variable que representa un objeto Application.
Parámetros
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
Expr | Obligatorio | String | Una expresión que identifica el campo numérico de cuyos valores se quiere obtener el total. Puede ser una expresión de cadena que identifica un campo de una tabla o consulta, o una expresión que realiza un cálculo con 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 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 | Expresión de cadena opcional que se usa para restringir el intervalo de datos en el que se realiza la función DSum . 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 DSum evalúa expr en todo el dominio. Cualquier campo incluido en los criterios también debe ser un campo en el dominio; De lo contrario, la función DSum devuelve un valor Null. |
Valor devuelto
Variant
Comentarios
Por ejemplo, podría usar la función DSum en una expresión de campo calculada en una consulta para calcular las ventas totales que realizó un empleado concreto durante un período de tiempo. O podría usar la función DSum en un control calculado para mostrar una suma continua de ventas de un producto determinado.
Si ningún registro satisface el argumento criteria o si el dominio no contiene registros, la función DSum devuelve un valor Null.
Tanto si usa la función DSum en una macro, módulo, expresión de consulta o control calculado, debe construir el argumento criteria cuidadosamente para asegurarse de que se evaluará correctamente.
Use la función DSum 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 una consulta de actualización.
Nota:
Use la función DSum o Sum en una expresión de campo calculada en una consulta de totales. Si usa la función DSum, los valores se calculan antes de que se agrupen los datos. Si usa la función Sum, los datos se agrupan antes de que se evalúen los valores de la expresión del campo.
Puede que quiera usar la función DSum 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. Suponga, por ejemplo, que tiene un formulario que muestra información sobre un producto particular. Podría usar la función DSum para mantener un total actualizado de las ventas de dicho producto en un control calculado.
Si necesita mantener un total en ejecución 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 DSum para mantener una suma continua en un formulario.
Ejemplo:
En el ejemplo siguiente se totales los valores del campo Freight para los pedidos enviados al Reino Unido. El dominio es la tabla denominada Orders (Pedidos). El argumento criteria restringe el conjunto resultante de registros a aquellos para los que ShipCountry es igual al Reino Unido.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", "[ShipCountry] = 'UK'")
El ejemplo siguiente calcula un total usando dos criterios distintos. Observe que en la expresión de cadena se incluyen signos de comilla tipográfica (') y signos de número (#), de modo que cuando las cadenas se concatenen, la cadena se encerrará entre signos de comilla tipográfica, y la fecha se encerrará entre signos de número.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountry] = 'UK' AND [ShippedDate] > #1-1-95#")
Los ejemplos siguientes muestran cómo usar varios tipos de criterios con la función DSum.
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DSum("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DSum("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DSum("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DSum("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DSum("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DSum("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DSum("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DSum("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DSum("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DSum("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.