Función DSUM con condiciones en ACCESS

Estoy utilizando una fórmula en VBA para hacer un cálculo en un Informe de Access, que sería la siguiente:

SumaRetenciones901 = (DSum("[Ret_IB]", "UNION_MOVIMIENTOS_CAJA_BANCOS", "[IDCUENTA]= " & Cuenta & " AND [Fecha_Movimiento] BETWEEN #" & Format(Desde, "yyyy-mm-dd") & "# AND #" & Format(Hasta, "yyyy-mm-dd") & "#"))

Esta fórmula me devuelve el resultado esperado.

Ahora, cuando le agrego una nueva condición, que entiendo estoy escribiendo con algún error que no sé cual es, me devuelve un resultado nulo.

SumaRetenciones901 = (DSum("[Ret_IB]", "UNION_MOVIMIENTOS_CAJA_BANCOS", "[IDCUENTA]= " & Cuenta & " AND [JURISDICCION]=901 AND [Fecha_Movimiento] BETWEEN #" & Format(Desde, "yyyy-mm-dd") & "# AND #" & Format(Hasta, "yyyy-mm-dd") & "#"))

Lo resaltado en negrita es la condición que produce el problema

¿Alguien sabe como se debe efectuar? NO sé que estoy haciendo mal.

MUchas gracias!

1 Respuesta

Respuesta

¿El campo JURISDICCION como lo tienes definido en la tabla, como texto o como número?.

Si lo tienes definido como número, en principio la fórmula parece estar Ok.

Si lo tienes definido como texto, la condición nueva sería así: [JURISDICCION]='901'

Otra cosa que puedes probar, es a definir el criterio como una variable de texto y pasársela a la función:

Dim miCriterio As String

miCriterio="[IDCUENTA]= " & Cuenta & " AND [JURISDICCION]=901 AND [Fecha_Movimiento] BETWEEN #" & Format(Desde, "yyyy-mm-dd") & "# AND #" & Format(Hasta, "yyyy-mm-dd") & "#"

SumaRetenciones901 = (DSum("[Ret_IB]", "UNION_MOVIMIENTOS_CAJA_BANCOS", miCriterio))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas