Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

¿como se puede calcular un acumulado en una consulta de Access?

5,632 views
Skip to first unread message

Gallego

unread,
Apr 20, 2007, 3:50:01 AM4/20/07
to
tengo una consulta que tiene los siguientes campos:
- fecha
- cantidad ingresada


Y quiero obtener una tabla donde me vaya dando a cada fecha el acumulado.

Ejemplo
Consulta 1
Fecha Cantidad
1-1-07 100
2-1-07 200
5-1-07 500

Y lo que debería darme es:
Resultado
Fecha Acumulado
1-1-07 100
2-1-07 300
5-1-07 800

¿Sabe alguien como se hace esto?

Ju@nK

unread,
Apr 20, 2007, 10:00:26 AM4/20/07
to
En un informe con Suma Continua, en un formulario o consulta con una de las
funciones agregadas de dominio, pero depende donde lo pongas, pues tienes
que darle la ruta del control, si es un formulario ej.

=dsum("[cantidad ingresada]";"TuTabla";"[fecha] <= #" &
forms!TuFormulario!Fecha & "#")

o en código

=dsum("[cantidad ingresada]","TuTabla","[fecha] <= #" & me.Fecha & "#")

--
--
**
Colabora con el grupo, contesta a este mensaje y dinos si te sirvió o no la
respuesta dada.
Muchas gracias.

Salu2
Ju@nK [MVP Access] [DCE2003 ***] + VSTO [DCE2005 **]
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank
www.juank.tk
www.mvp-access.com
¿Que es un MVP?, enterate en http://mvp.support.microsoft.com

Nota: El contenido de este mensaje, así como el código
fuente que pueda ir incluido en el mismo, se proporciona
«COMO ESTÁ», sin garantías de ninguna clase, y no otorga
derecho alguno. Usted asume cualquier riesgo al poner en
práctica, utilizar o ejecutar la sugerencia del presente mensaje.
**

"Gallego" <Gal...@discussions.microsoft.com> escribió en el mensaje
news:2FAF9E59-6C43-495B...@microsoft.com...

Message has been deleted

Javier Terán González

unread,
Jun 24, 2007, 5:14:06 PM6/24/07
to
¿IDProveedor que tipo de datos es??

Si es númerico yo creo que te debería de funcionar.
Si es un texto puedes probar con comilla simple antes y después del
proveedor

=DSuma("[Monto]","[Proveedores]","[IdProveedor] <= '" &
[Formularios]![compras]![IdProveedor] & "'")

Un saludo.

"GRIEGO59" <GRIE...@discussions.microsoft.com> escribió en el mensaje de
noticias:BE532231-8F9D-467C...@microsoft.com...
> Estoy tratando de usar esta expresión pero obtengo el mismo total en cada
> registro, es decir, que no se va acumulando registro por registro, que
> estaré
> haciendo mal?
>
> Probé así
> =DSuma("[Monto]","[Proveedores]","[IdProveedor] <= " &
> [Formularios]![compras]![IdProveedor] & "")
>
> y así:
> =DSuma("[Monto]","[Proveedores]","[IdProveedor] <=
> Formularios![compras]![IdProveedor] ")
>
> Gracias de antemano
> GRIEGO59
>
> "Ju@nK" escribió:

Chea

unread,
Jun 24, 2007, 5:47:06 PM6/24/07
to
Te estás complicando la vida.

En los controles de los informes existe la propiedad suma contínua. No
tienes más que crear un cuadro de texto cuyo origen sea Monto y cuya
propiedad "Suma contínua" sea "Sobre todo" o "Sobre grupo".

--
Saludos

José Bengoechea Ibaceta [MS-MVP Access]
http://jbengoechea.com/


"GRIEGO59" <GRIE...@discussions.microsoft.com> escribió en el mensaje de

noticias news:BE532231-8F9D-467C...@microsoft.com...


> Estoy tratando de usar esta expresión pero obtengo el mismo total en cada
> registro, es decir, que no se va acumulando registro por registro, que
> estaré
> haciendo mal?
>
> Probé así
> =DSuma("[Monto]","[Proveedores]","[IdProveedor] <= " &
> [Formularios]![compras]![IdProveedor] & "")
>
> y así:
> =DSuma("[Monto]","[Proveedores]","[IdProveedor] <=
> Formularios![compras]![IdProveedor] ")
>
> Gracias de antemano
> GRIEGO59
>
> "Ju@nK" escribió:
>

GRIEGO59

unread,
Jun 24, 2007, 8:50:00 PM6/24/07
to
Gracias por las respuestas
Voy a probar con lo de las comillas a ver que tal me va.
Necesito que sea en un formulario porque en base a los resultados de esa
suma continua de monto debo realizar un cálculo de intereses y luego en
función al resultado obtenido en el cálculo de intereses debo ingresar un
dato al registro en el formulario.
Puedo preguntarles por qué a veces usan los signos " , & , # . He notado que
el # lo usan antes y después de las fechas.
GRIEGO59

Javier Terán González

unread,
Jun 25, 2007, 7:46:18 AM6/25/07
to
& para concatenar cadenas. Si las cadenas van entre comillas es un texto
fijo, si no, es una variable a calcular.
" yo " & "tengo" & "el poder" --> yo tengoel poder

# para que el access reconozca que es una fecha
"[fechainicio] = #" & me.txtfechainicio & "#"

' comilla simple cuando la variable es un char en la BBDD

* Utilizado en las consultas LIKE o COMO
"[nombre] like '" & me.txtnombre & "*'" --> todos los nombre
que empiecen por lo que hay en el campo
(en sqlserver es %)


sin nada cuando en la base de datos es un número, un autonumérico..

Todo es SQL. Encima el SQL del access y del SQL Server por ejemplo es
distinto, así que cuidado.
Un saludo

"GRIEGO59" <GRIE...@discussions.microsoft.com> escribió en el mensaje

news:7642C71B-52EB-4B0E...@microsoft.com...

GRIEGO59

unread,
Jun 26, 2007, 11:53:01 AM6/26/07
to
Hola
Gracias por la respuesta, pero así como lo propones me da:

#Error

Por los momentos con las formulas que estoy probando:

=DSuma("[Monto]","[Proveedores]","[IdProveedor] <= " &
[Formularios]![compras]![IdProveedor] & "")

y así:
=DSuma("[Monto]","[Proveedores]","[IdProveedor] <=
Formularios![compras]![IdProveedor] ")


lo que obtengo es lo me muestra la columna "Acumulado obtenido" pero lo que
yo necesito es lo que muestra la columna "Acumulado que deseo"

Monto IdProveedor Acumulado Acumulado
obtenido que deseo
30 1 36 30
6 1 36 36
12 2 68 12
20 2 68 32
40 3 140 40
32 3 140 72

Espero que puedan ayudarme.

GRIEGO59

Javier Terán González

unread,
Jun 26, 2007, 3:52:03 PM6/26/07
to
pues según veo no tiene nada que ver la consulta que estás haciendo.

El acumulado que quieres calcular es por idproveedor y no por los
idproveedores menores o iguales

y además supongo que debas menter un autonumérico de esa tabla para
discrimininar los registros.

Quizás deberías poner los campos exactos de tu tabla para ver como se haría
la consulta, pero podría ser

Una posibilidad es:

=DSuma("[Monto]";"[Proveedores]";"[IdProveedor] = " & [IdProveedor] & " AND
IdMonto <=" & [idmonto])

Siempre y cuando tengas una autonumérico en esa tabla de proveedores o un
campo por el que se ordenarán los montos.


Un saludo.


"GRIEGO59" <GRIE...@discussions.microsoft.com> escribió en el mensaje de
noticias:C08D9192-8820-49C8...@microsoft.com...

GRIEGO59

unread,
Jun 26, 2007, 4:43:02 PM6/26/07
to
Gracias, Javier Terán
Muchas Gracias, funciona muy bien. Ahora voy a estudiar un poco esta
solución para tratar de enterder como y por qué funciona.

GRIEGO59

3mon...@gmail.com

unread,
Sep 1, 2014, 2:20:49 AM9/1/14
to
Muchas gracias, yo tenía un problema parecido y con vuestra ayuda y el comando de Javier Terán González,está resuelto y me funciona a la perfección.
Un saludo
0 new messages