Salir o cancelar sin que se guarde el registro en Access
En mi BD cuando se carga un NUEVO registro hay datos que son obligatorios y que bloquean la continuación hasta que sean completados. Pero hay usuarios que, o porque se equivocaron o porque no conocen los datos a completar y al ver que se quedan bloqueados en esa etapa cierran la base o apagan el Pc para "desbloquearse". Esto genera un registro con faltante de datos que si uno pasa por encima de ellos se vuelve a generar el bloqueo.
La idea sería que en los cuadros de diálogo (msg box) que se abren hubiera además del botón aceptar otro que dijera anular registro, volviendo al formulario para poder continuar usando la BD normalmente y evitando esos registros incompletos.
La función que se está usando es esta:
Public Function ControlesNulosEnForm(Frm As Form, Cancel As Integer) As Boolean
On Error GoTo ControlesNulosEnForm_TratamientoErrores
For Each Ctrl In Frm.Controls
If TypeOf Ctrl Is TextBox Or TypeOf Ctrl Is ComboBox Then
If Left(Ctrl.Name, 4) = "TBox" Or Left(Ctrl.Name, 4) = "CBox" Then
If Not IsNull(Ctrl.Value) Then
Ctrl.BackColor = RGB(225, 250, 225)
ControlesNulosEnForm = False
Else
ControlesNulosEnForm = True
Ctrl.BackColor = RGB(255, 255, 0)
Ctrl.SetFocus
Ctrl.Locked = False
MsgBox "Campo Vacío, Debe " & vbCrLf & "Rellenar Campo: " & Ctrl.Name, vbExclamation, "NO CONTINÚE"
Cancel = True
End
Exit Function
End If
End If
End If
Next Ctrl
ControlesNulosEnForm_Salir:
On Error GoTo 0
Exit Function
ControlesNulosEnForm_TratamientoErrores:
MsgBox "Error " & Err & " en Function.: ControlesNulosEnForm de Documento VBA: MdlControles (" & Err.Description & ")", vbCritical + vbOKOnly, "ATENCION"
Resume ControlesNulosEnForm_Salir
End Function