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.

1 Respuesta

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