Encontrar saldo sumando valor nuevo con el anterior(Kardex)

Trato de accer una consulta en access para realizar un kardex hasta ahora queda asi la consulta:

pero deseo que el resultado final sea este:

como pueden ver el total existencias se va sumando con el total entradas,y aunque lo se hacer en excel no se como hacerlo con acces usando sentencias sql aqui dejo el archivo https://drive.google.com/open?id=15OuFTVBgavIZjO4C-mvALTSGAHLWomQH

1 Respuesta

Respuesta
2

No sé si te va a servir. Como la pregunta también la han colgado en Access, en él te respondo.

Supongamos que es un formulario que depende de la tabla Productos. En el evento Despues de actualizar del cuadro de texto Entradas crea un procedimiento de evento y entre Private Sub y End sub pon

docmd.runcommand accmdsaverecord

existencias=dsum("entradas","productos","idtipo=" & me.idtipo & "")

Lo que hace es que una vez que hayas puesto un valor en entradas, te hace la suma acumulada de ese producto(que supongo que será Idtipo) y te lo coloca en Existencias.

En el caso de que quisieras hacerlo en una consulta con lenguaje SQL, con la tabla Productos haces una consulta y le añades un campo

Existencias: (select sum([entrada])from [productos] as temp where [temp].[idtipo]<=[productos].[idtipo])

¡Gracias! Perdón por la demora lo voy a probar y te comento un saludo

Hola estuve intentando con consulta sql y no me sale me da este error

Lo hice con el select sum solo pero lo único que hace es que suma todas las cantidades de la columna cantidades_C cuando lo que deseo es que me sume el dato de arriba con el de abajo de manera que existencia seria el total de esa suma Ej columna cantidades_c tiene inicialmente 10 luego 20 de bajo existencia es igual a 30 y si hay otra entrada de 20 existencia ahora es 50 como se aprecia aquí en la imagen

Quiero dejar por sentado que no sé como trabajas. Si tengo una tabla

Y hago un formulario continuo

Al no saber como "tratas" las salidas sólo me he preocupado de las entradas. El código del formulario es

Private Sub CostoE_AfterUpdate()
TotalE = Entradas * CostoE
Salidas.SetFocus
End Sub
Private Sub CostoS_AfterUpdate()
TotalS = Salidas * CostoS
Existencias.SetFocus
End Sub
Private Sub Existencias_GotFocus()
DoCmd.RunCommand acCmdSaveRecord
Existencias = Nz(DSum("entradas", "tabla2")) - Nz(DSum("salidas", "tabla2"))
Costo = DSum("totale", "tabla2") / DSum("entradas", "tabla2")
Total = Existencias * Costo
End Sub

De todas formas, si quieres hacerlo en una consulta dímelo.

¡Gracias! si,por favor estoy aprendiendo sql server y a futuro me gustaria migrar la base de access,y tener los codigos listos seria de buena ayuda,para que veas como estoy trabajando te dejo el link del archivo https://drive.google.com/open?id=15OuFTVBgavIZjO4C-mvALTSGAHLWomQH id_p es el id del producto y id_tipo es el tipo de movimiento ejemplo 1 es inv.inicial 2 es entrada 3 es salida 4 dev en compra y 5 dev.en ventas ya conociendo esto podras tener idea de como estoy trabajando,gracias por ayudar saludos

Ahora ya es muy tarde. Mañana la miraré con más detenimiento, pero dejando por sentado que no me gustan las consultas porque considero que el lenguaje Vb es infinitamente más versátil que el SQL, te diría que, en principio, no necesitas dos tablas, con una sóla llega, lo único que habría que decirle en código que si son entradas las sume y si son salidas las reste.

Muy bien gracias,estaré esperando

Nick te he preparado un ejemplo. Como no quiero saber nada de las "nubes", si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando el ejemplo que te he preparado.

Si lo haces, en el asunto del mensaje pon tu alias Nick ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas