DSum acumulado con criterios
Publicado por speech9 (4 intervenciones) el 18/02/2020 13:10:01
Buenos días,
Estoy intentando realizar una consulta acumulada para que vaya sumando el saldo de un material. He visto por los foros varias soluciones pero no consigo que me funcione ninguna con los criterios que necesito. Resumiendo un poco tengo las tablas Material (ID_material, descripción) y Unidades (ID_unidades, ID_material, cantidad), al realizar la consulta pretendo que me salga un campo con el saldo acumulado por cada ID de material.
ID_material, descripción, ID_unidades, Cantidad, SaldoAcumulado
1, Mat1, 1, 200, 200
2, Mat2, 2, 5, 5
1, Mat1, 3, 140, 340
2, Mat2, 4, 25, 30
1, Mat1, 5, 40, 380
Lo he conseguido resolver con una sentencia SQL dentro de la consulta pero no me admite sacarlo a informe (No se permite la cláusula GROUP BY de múltiples niveles en una subconsulta)
SaldoAcumulado: (select sum([cantidad]) from [unidades] as temp where [temp].[id]<=[ unidades].[id] And [temp].[id_unidades]=[ unidades].[id_unidades])
por lo que necesitaría hacer lo mismo con DSum o buscar una alternativa.
SaldoAcumulado: DSuma("cantidad";" unidades";" unidades.id_unidades =" & [unidades].[id_unidades])
Con esto otro obtengo el sumatorio total de cada artículo pero no el acumulado, y al agregarle otra cláusula me da la suma total de todos los artículos.
Si alguien me puede orientar por favor,
Gracias, un saludo.
Estoy intentando realizar una consulta acumulada para que vaya sumando el saldo de un material. He visto por los foros varias soluciones pero no consigo que me funcione ninguna con los criterios que necesito. Resumiendo un poco tengo las tablas Material (ID_material, descripción) y Unidades (ID_unidades, ID_material, cantidad), al realizar la consulta pretendo que me salga un campo con el saldo acumulado por cada ID de material.
ID_material, descripción, ID_unidades, Cantidad, SaldoAcumulado
1, Mat1, 1, 200, 200
2, Mat2, 2, 5, 5
1, Mat1, 3, 140, 340
2, Mat2, 4, 25, 30
1, Mat1, 5, 40, 380
Lo he conseguido resolver con una sentencia SQL dentro de la consulta pero no me admite sacarlo a informe (No se permite la cláusula GROUP BY de múltiples niveles en una subconsulta)
SaldoAcumulado: (select sum([cantidad]) from [unidades] as temp where [temp].[id]<=[ unidades].[id] And [temp].[id_unidades]=[ unidades].[id_unidades])
por lo que necesitaría hacer lo mismo con DSum o buscar una alternativa.
SaldoAcumulado: DSuma("cantidad";" unidades";" unidades.id_unidades =" & [unidades].[id_unidades])
Con esto otro obtengo el sumatorio total de cada artículo pero no el acumulado, y al agregarle otra cláusula me da la suma total de todos los artículos.
Si alguien me puede orientar por favor,
Gracias, un saludo.
Valora esta pregunta
0