Formulario: Abrir con registro nuevo:
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
End Sub
Registros: Buscar el último registro relacionado a un id. DLast()
Private Sub id_producto_AfterUpdate()
saldo_antes = DLast("[saldofinal]", "BodegaPrincipal", "BodegaPrincipal.[id_producto] = " & id_producto)
End Sub
Operaciones: Validar un retiro cuando hay saldo/existencia
Private Sub Retiro_AfterUpdate()
If existencias < retiro Then
retiro = 0
End If
saldofinal = saldoanterior - retiro
End Sub
Evento: Ejecutar consulta con click en botón
Private Sub Bt_anexar_Click()
If anexado = False Then
Me.Refresh
DoCmd.OpenQuery "c_anexaordenretiro2", , acReadOnly
anexado = True
Me.Refresh
End If
End Sub
Funciones y procedimientos
Function saldoactualiza()
saldoactualiza = saldo_antes + ingreso - retiro
End Function
Private Sub id_producto_AfterUpdate()
saldo_antes = DLast("[saldo_final]", "Inventario", "Inventario.[id_producto] =" & Id_producto)
saldo_final = saldoactualiza()
End Sub
Private Sub ingreso_AfterUpdate()
saldo_final = saldoactualiza()
End Sub
Private Sub retiro_AfterUpdate()
saldo_final = saldoactualiza()
End Sub
Palabras reservadas en Access VBA
no se usan como nombre de campo, casilla de texto, etc:
valor value
https://learn.microsoft.com/es-es/office/troubleshoot/access/reserved-words
