Registrar Salidas De Inventario Con Varias Tablas ACCESS

Tengo Una Tabla Productos (Inventario) En El Cual Tengo Registrado " Entradas" "Salidas" e Inventario Total, Sin Embargo Existe Una Tabla ("X") Que Debería Sacar Productos De La Existencia
Aquí La Pregunta
Como Consigo Que Las Salidas Que Registre En ("X") Se Vean Reflejadas En Inventario

1 respuesta

Respuesta
2

Mariano, si me lo permites, yo no lo haría así. En la tabla Productos dejaría sólo, por ejemplo, IdProducto, Nombre, Existencias. Luego haría una tabla, que no sé si será esa X que citas, donde reflejaría las entradas o salidas. Y en algún evento pondría algo, más o menos, como

If loquesea="entrada" then

docmd.runsql"update productos set existencias=existencias +...

else 

docmd.runsql"update Productos set existencias=existencias -.....

end if

Pero al no saber como tienes construidas las tablas no puedo concretar más.

Mejor con imágenes.

Si tengo la tabla Productos

Y una tabla Movimientos donde se van a reflejar las entradas y salidas

Con ella hago un formulario. No le hagas caso a los cuadros de texto

Si anoto una entrada me aumentan las existencias y la tabla Productos me queda

Si lo que reflejo es una Salida( me disminuyen las existencias)

La tabla Productos me queda

Con lo cual las tengo siempre actualizadas.

¡Gracias!
Una Excelente Respuesta
Estoy Trabajando En Ello, Una Duda Más
Por Ejemplo

Private Sub REME_CantidadSalida_Exit(Cancel As Integer)
DoCmd.RunSQL "Update Productos Set Existencia = ExistenciaD = Existencia-CantidadSalida"
End Sub

Como Logro Que Se Referencie A Un Podructo Especifico, Porque Me Actualiza Todos Los Registros :/

Tengo que pedir perdón yo. No me acordé de ponerte el código del formulario

Es

Private Sub Cantidad_AfterUpdate()
If Concepto = "entrada" Then
Después = Nz([Antes]) + Cantidad
Subtotal = Cantidad * Precio
DoCmd.SetWarnings False
DoCmd.RunSQL "update productos set precio=" & Me.Precio & ",existencias=" & Me.Después & " where idproducto=" & Me.IdProducto & ""
ElseIf Concepto = "salida" Then
Después = Antes - Cantidad
Subtotal = Cantidad * Precio
DoCmd.RunSQL "update productos set existencias=" & Me.Después & " where idproducto=" & Me.IdProducto & ""
End If
DoCmd.RunCommand acCmdSaveRecord
Saldo = Nz(DSum("subtotal", "movimientos", "concepto=""Salida""")) - Nz(DSum("subtotal", "movimientos", "concepto=""entrada"""))
End Sub

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

La pregunta no admite más respuestas

Más respuestas relacionadas