Reducir el Stock Consumido

A ver, tengo la tabla_Inventario:
Referencia Descripcion Ubicacion Proveedor Fabricante Ref_Fabricante Stock Stock_Min Coste_Ud Fecha_Alta
RMF0400023 CONECTOR NEUMÁTICO LEGRIS MOLDE TERMO ARM22A3015 AR SISTEMAS LEGRIS LEGRO0149 2 1 10 15/01/2011
rmf0301125 uniones rápidas instalación aire prensa arm21c1021 mitjavila transair 80166054034 5 2 25
Tengo creado un formulario llamado Consumo en el que tengo 2 cuadros de texto, que son Ref_Consumida y Cantidad_Consumida. Pues quiero que al introducir los datos y pulsar el botón, de la referencia indicada (Ref_Consumida), me descuente al Stock de la tabla inventario la Cantidad_Consumida.
Ejemplo imaginate que quiero consumir del almacen 1 pieza del conector neumático, pues quiero que al poner la referencia RMF0400023 en el cuadro Ref_Consumida e indicar 1 en Cantidad_Consumida, me guarde en la Tabla_Inventario el Stock actualizado que seria 2(que había anteriormente)-1 (Cantidad_Consumida)=1.
Además si una vez buscado Mediante el formulario Buscar_Pieza quieres consumir la pieza buscada le des a un boto y que el automáticamente ponga en el cuadro de texto Ref_Consumida, la Ref_Encontrada que había obtenido del otro formulario. Esta última parte supongo que será un poco más complicada. Si no puedes hacerlo, lo que más me interesa es la otra parte.
Respuesta
1
El código sería:
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Select Referencia, Stock From Tabla_Inventario where referencia='" & Form!Ref_Consumida.Value & "'")
If Not rs.EOF Then
DoCmd.RunSQL "Update Tabla_Inventario Set Stock=" & rs!Stock & "-" & Form!Cantidad_Consumida.Value & " where referencia='" & Form!Ref_Consumida.Value & "'"
Else
MsgBox "Referencia no existe"
End If
Para que un valor seleccionado en cualquier control, te sirva para todo el proyecto lo tendrás que igualar a una variable (la llamaremos vRef) y esta variable la tenemos que declarar como pública (para poderla utilizar en cualquier sitio de la BD. En la pestaña módulos abres uno nuevo y pones Public vRef as string, lo cierras y lo guardas con el nombre que quieras.
En el formulario donde tienes la Ref_Encontrada tendrás que igualar el valor de esta a la variable. Si el Ref_Encontrada es un cuadro combinado pues pondrías en la acción al hacer clic el código:
Me.Refresh
vRef=Form!Ref_Encontrada.Value
En el otro formulario, en el que tienes la Ref_Consumida pondrías, en la acción Al cargar el formulario:
Me.Ref_Consumida.Value = vRef
Me. Refresh

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas