Juan, honestamente, no entiendo eso de "con una sola tabla..."Pero por si puede darte una idea. Si tengo una tabla Productos, más o menos como
Y tengo otra tabla Cortes como
Con esta última hago un formulario, donde el control Idproducto lo he convertido en un combinado con 4 columnas, IdProducto, Tipo, Largo y Ancho y voy a seleccionar el primero
Anoto la cantidad y el largo del corte(el código comprueba que el corte es menor que el largo de la tabla y por tanto sobran trozos)Puedes ver que el cursor aún está en el control Largo
Cuando pulso Enter
Me dice que sobran 25 trozos con un largo de 7. Ahora escribo el ancho del corte. Puedes ver que el cursor aún está en Ancho
Cuando pulso Enter
Por cierto, la tabla Productos me la ha dejado con 25 menos de ese producto
El código del evento Después de actualizar del cuadro de texto Largo es
Private Sub Largo_AfterUpdate()
If Largo <= IdProducto.Column(2) Then
LargoSobra = IdProducto.Column(2) - Largo
CantidadSobra = Cantidad
End If
End Sub
El del evento Después de actualizar del cuadro de texto Cantidad es
Private Sub Cantidad_AfterUpdate()
DoCmd.RunSQL "update productos set existencias=existencias-cantidad where idproducto=" & Me.IdProducto & ""
End Sub
Y por último, el código del evento Después de actualizar del cuadro de texto Ancho es
Private Sub Ancho_AfterUpdate()
AnchoSobra = IdProducto.Column(3) - Ancho
End Sub