Actualizar campo existencias cuando salidas.

Voy a explica mi caso.

Tengo una tabla de artículos "dat004a" en esta tabla hay muchos campos pero lo que me importan son básicamente 3:

1.- "id_ejercicio" es un valor numérico que me indica que almacén tiene los artículos el mismo articulo puede estar en dos almacenes solo puede tener 4 valore "1018" "5018""7018" o "9999"

2.- ArtCodigo este es campo tiene las referencias de los artículos.

3.- ArtExistencias este es un campo numérico con decimales que contiene las existencias actuales.

Por otro lado tengo un formulario donde realizamos la fabricación del producto final con una serie de Campos "Articulo1" "Articulo2" ... Que contiene las referencias de los artículos y campos "Articulo1_qty" "Articulo2_qty" que contienen las cantidades de los artículos que utilizo, estas cantidades pueden ser positivas o negativas, que quiero decir que pueden si son positivas restarme y reducirme el stock o existencias y viceversa.

En el formulario tengo un botón para que me transfiera todos estos productos a una tabla de movimientos pero lo que no he conseguido es que me actualice la tabla de Artículos el stock.

Lo que necesito es el código para que cuando pulse el botón de actualizar lea el valor actual de ese articulo de ese almacén en concreto y le sume o reste el valor que pongo en el formulario, tengo uos 15 campos de artículos como máximo y ademas me tendría que ver que si el campo "ArticuloX" del formulario esta en blanco no haga nada.

Estoy usando Access 2013.

1 respuesta

Respuesta
2

Vamos a suponer que tienes una tabla Productos con IdProducto, Nombre,..., Existencias

Por otro lado vamos a suponer que tienes una tabla Ventas, con Idventa, fechaventa, etc y otra tabla Detalleventa con Idventa(para relacionarlo con el anterior), Idproducto, Antes,..., Cantidad,... Despues

En el evento Despues de actualizar de Idproducto puedes poner

Antes=dlookup("existencias","productos","idproducto=" & me.idproducto & "")

Y en el evento Después de actualizar del cuadro de texto Cantidad puedes poner

Despues=Antes-cantidad

docmd.setwarnings false

docmd.runsql"Update Productos set Existencias=" & me.despues & " where Idproducto=" & me.idproducto & ""

Después de el rollo la explicación

1º Ponme en el control Antes las existencias que hay en la tabla Productos de ese Idproducto

2º Pon en el cuadro de texto Después la diferencia entre lo que había antes y lo que se ha gastado

3º Actualizame las existencias de ese Idproducto en la tabla Productos a las que quedan

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas