Consulta stock, historial de movimiento

Estimados necesito de su ayuda.

Tengo una tabla donde se registran ingresos y egreso de productos, no las separe pues los movimientos no son muchos.

La tabla es la siguiente (simplificada)

ID.     Entrada.  Salida. 

Necesito crear una consulta donde donde se pueda observar detalladamente los saldos después de cada entrada y salida. Es decir que me genere una consulta

ID. Entrada salida. STOCK

Esta consulta debe sonsidedar el stock anterior +salida actual y la entrada actual.

Desde ya agradecido.

2 respuestas

Respuesta
2

Aunque si te tuviera que aconsejar yo lo haría de otra forma, que creo que es mejor, pero... si tengo la tabla

Construyo la consulta

En el diseño de la consulta le añado el campo Stock donde tienes que escribir textualmente lo que ves en la ventana zoom

Pero como te decía, yo lo haría en el formulario de entrada/salida.

Si quisieras que el stock te lo calculara también sobre cada producto, en la instrucción tendrías que añadirle

....[movimientos].[id] y [temp].[codproducto]=[movimientos].[codproducto])

¡Gracias! Genial!. ¿Y cómo debería hacerlo si quiero que lo determine en el formulario?... te lo agradezco un montón!

Te decía que personalmente prefiero hacerlo en VB, ¿porque ya que estoy poniendo datos ¿porque no ver ya las variaciones, en el mismo sitio donde las estoy poniendo.

Supongamos que tengo la tabla Movimientos

Verás que sólo he dejado una fecha ¿para qué poner dos? Y con ella hago un formulario, da igual que sea único que continuo, pero en el continuo se ve mejor.

Entonces, a medida que voy poniendo entradas y salidas de un producto me va calculando el Stock de ese producto.

Como puedes ver, da igual que pongas otros productos por en medio, el cálculo lo hace sobre un producto en particular. Y como tienes una fecha puedes calcular entradas por producto, entradas por fecha, entre fechas, por mes, etc., etc.

El código del evento Después de actualizar de los cuadros de texto Nentrada y NSalida es

Lo de Nz es porque como puedes ver en el formulario, no me molesto en poner 0 cuando no "muevo" nada. Lo dejo en blanco sin preocuparme.

De todas formas, si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando un par de ejemplos. Si lo haces, en el asunto del mensaje pon tu alias Ignacio, ya que si no sé quien me escribe no los abro.

Genial! unA duda, se afecta de alguna manera el dato de stock si borro un correlativo (un ID)? Si es así debiese generar Un nuevo correlativo?. Me podrías explicar que quieren decir las sentencias, entiendo que hay una operación aritmética en la tabla movimientos  cuando ......

te lo agradezco...

Pues más o menos es como si te quito un ingreso o un gasto de tu cuenta en el banco(mejor si te quito un gasto, no, no me lo agradezcas), el saldo ya no será el mismo.

Si el registro lo eliminas de la tabla y estás usando la consulta del principio, no tienes problemas, ya que como Stock es un campo calculado, cuando abres dicha consulta, el sistema "recalcula" todo.

Si el registro lo eliminas del formulario(algo que aconsejo) depende de si tienes el botón de eliminar uno por registro o uno sólo en el encabezado del formulario(personalmente prefiero este último, pero todo va en gustos), porque luego de la instrucción de eliminar el registro puedes poner algo así como

dim i as integer

docmd.gotorecord,,acfirst

for i=1 to me.recordset.recordcount

Stock=Dsum(... lo que te puse en la imagen de la respuesta

Docmd. Gotorecord,, acnext

next

Es decir que después de eliminar el registro que sea, se va al primero y empieza a "recorrerlos" recalculando los stock

Respuesta
2

Necesitas que esté en en la miama hoja o en otra

Marcelo si puede ser en la misma hoja seria genial, de lo contrario igual me viene bien 

¿

¿Tienes una base de datos de los productos? ¿Podrías enviármelos por mail?

¿Otra cosa donde cargas las salidas e entrada de los productos?

Estimado,

La tabla es algo como la foto. Lo que por lo tanto necesitaría crear una consulta que me genere un campo stock, donde: N_entrada-Salida+Stock.

Pásame un mail que te envío mi idea

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas