Generador de expresiones: Función DSuma

Quiero sumar valores pero sujetos a una condición, o sea quiero que me sume importes cuando fecha es menor que x.

1 respuesta

Respuesta
1

La función Dsum tiene tres partes

1º Lo que va a sumar

2º De donde va a sacar los datos que hay que sumar

3º Que criterios se usan para decirle que valores debe sumar y los que no

Por ejemplo

TextA=dsum("TotalFactura","Ventas","fechaVenta<·18/12/2020#")

Es decir, sumame los valores del campo TotalFactura de la tabla Ventas en que el campo FechaFactura sea menor que esa fecha que he escrito

ó

TextA=dsum("TotalFactura","Ventas","fechaFactura<forms!nombredelformulario!fechaX")

En caso de que la fecha " que limita" esté en un control llamado FechaX de un formulario

ó

TextA=dsum("fechafactura","ventas","fechafactura<.....and Ciudad=""Cartagena"" or ciudad=""Murcia"" and colordeojos=""Azul""")

Puedes poner hasta 99 condiciones AND ó OR

En caso de que lo quieras hacer con una consulta, añade los campos que quieras y debajo de FechaVenta, en la casilla Criterios pones

<#15/12/2020#

Gracias por tu pronta respuesta! Me salvaste la vida. Saludos

Te molesto otra vez porque tengo problemas con la última parte de la función. Tengo una tabla donde tengo el siguiente formato aproximado:

valor histórico: 10000

período: 20189 (AAAAM)

tasa de ajuste (a la actualidad): VALOR QUE QUIERO TRAER (quiero que sume los valores de tasas que tengo en otra tabla, desde el período siguiente (201810) a la actualidad)

Es posible? 

Si tengo la tabla Pedidos donde hay un campo Fecha, con el formato que dices(no le hagas caso al campo Fechapedido ya que es una tabla "reutilizada"

Lo puedes hacer de mil formas. De verdad, de mil formas.

Si me permites un consejo, lo haría con un formulario en código VB. Tengo un botón, aunque no haría falta, ya que el código se puede poner en cualquier evento y un cuadro de texto SumaImp donde va a aparecer el valor

Al pulsar el botón, me pedirá que introduzca un valor (eso sí, de manera muy educada)

Al pulsar Aceptar

En este caso en particular, el código del evento Al hacer clic del botón es

Private Sub Comando381_Click()
Dim a As Integer
a = InputBox("¿Sería usted tan amable de escribir el inicio del período que quiere sumar?", "Dios se lo pagará")
SumaImp = DSum("importe", "pedidos", "val([fecha])>" & a & "")
End Sub

También se podría hacer con un mensaje, con una consulta, pero debe ser tú quien diga como lo quiere y así te puedo concretar más.

¡Gracias! 

Le he dado sin querer al botón de enviar. Sigo con el rollo. Quieres, por ejemplo, escribir en un cuadro de texto el período, lo quiero entre dos períodos, que lo muestre en una etiqueta, etc, etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas