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