Compartir a través de


Evento Form.AfterDelConfirm (Access)

El evento AfterDelConfirm se produce después de que el usuario confirme que las eliminaciones y los registros se eliminan realmente o cuando se cancelan las eliminaciones.

Sintaxis

expresión. AfterDelConfirm (estado)

expresión Variable que representa un objeto Form.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Estado Obligatorio Integer Una constante intrínseca que indica si se ha eliminado un registro. acDeleteOK indica que la eliminación se realizó correctamente. acDeleteCancel indica que la eliminación se canceló en Visual Basic. acDeleteUserCancel indica que el usuario canceló la eliminación.

Comentarios

Para ejecutar una macro o procedimiento de evento cuando se produzcan estos eventos, establezca la propiedad AfterDelConfirm en el nombre de la macro o en [procedimiento de evento].

Una vez eliminado un registro, éste se almacena en un búfer temporal.

En una base de datos de Microsoft Access, el evento AfterDelConfirm se produce después de un registro o registros se eliminen realmente o después de que se cancelen las eliminaciones. Si no se cancela el evento BeforeDelConfirm, el evento AfterDelConfirm se produce después de que se muestra el cuadro de diálogo Confirmar eliminación. El evento AfterDelConfirm se produce incluso cuando se cancela el evento BeforeDelConfirm. El procedimiento de evento AfterDelConfirm devuelve información de estado sobre la eliminación. Por ejemplo, puede usar una macro o procedimiento de evento asociado con el evento AfterDelConfirm para volver a calcular los totales afectados por la eliminación de registros.

En un proyecto de Access (.adp), el evento AfterDelConfirm se produce antes de que un registro o registros se eliminen realmente. Para evitar la apertura de transacciones innecesarias en Microsoft SQL Server, Access le pide que confirme la eliminación antes de abrir la transacción. Si confirma la eliminación, Access abre una transacción en SQL Server, emite la instrucción DELETE para eliminar el registro o los registros y desencadena el evento Delete del formulario. Si elige No cuando se le pide que confirme la eliminación, Access no abre una transacción en SQL Server para eliminar el registro y no desencadena el evento Delete del formulario.

Si cancela el evento Delete, el evento AfterDelConfirm no se produce, ni tampoco aparecerá el cuadro de diálogo Confirmar eliminación.

Nota:

[!NOTA] El evento AfterDelConfirm no se produce, ni tampoco aparecerá el cuadro de diálogo Confirmar eliminación si desactiva la casilla de verificación Cambios en los registros en Confirmar en la ficha Edición del cuadro de diálogo Opciones de Access.

Mediante la ejecución de una macro o un procedimiento de evento cuando se produce el evento Delete, puede impedir que se va a eliminar un registro o permitir que se va a eliminar solo en determinadas condiciones. También puede usar un evento Delete para mostrar un cuadro de diálogo que pregunte al usuario si quiere eliminar un registro antes de hacerlo.

Después de eliminar el registro, el foco se mueve al siguiente registro después del registro eliminado y se produce el evento Current para ese registro, seguido de los eventos Enter y GotFocus para el primer control de ese registro.

A continuación, se produce el evento BeforeDelConfirm , justo antes de que Access muestre el cuadro de diálogo Confirmar eliminación que le pide que confirme la eliminación. Después de responder al cuadro de diálogo confirmando la eliminación o cancelándola, se produce el evento AfterDelConfirm.

Es posible eliminar más de un registro a la vez. El evento Delete se produce después de la eliminación de cada registro. De esta forma tendrá acceso a los datos de cada registro antes de su eliminación efectiva, y podrá confirmar o cancelar cada eliminación en la macro o procedimiento de evento Delete. Cuando se elimina más de un registro, el evento Current del registro siguiente al último eliminado y los eventos Enter y GotFocus de su primer control no se producen hasta después de la eliminación de todos los registros. En otras palabras, se produce un evento Delete por cada registro seleccionado, pero ocurre ningún otro evento hasta que se eliminan todos los registros seleccionados. El evento AfterDelConfirm no ocurre hasta que se eliminan todos los registros seleccionados.

Ejemplo:

En el siguiente ejemplo se muestra cómo puede usar el procedimiento de evento BeforeDelConfirm para suprimir el cuadro de diálogo Confirmar eliminación y mostrar un cuadro de diálogo personalizado cuando se elimina un registro. También se muestra cómo puede usar la AfterDelConfirm al procedimiento de evento para mostrar un mensaje que indica si se ha realizado la eliminación de la forma habitual o si ha sido cancelada en Visual Basic o por el usuario.

Private Sub Form_BeforeDelConfirm(Cancel As Integer, _ 
 Response As Integer) 
 ' Suppress default Delete Confirm dialog box. 
 Response = acDataErrContinue 
 ' Display custom dialog box. 
 If MsgBox("Delete this record?", vbOKCancel) = vbCancel Then 
 Cancel = True 
 End If 
End Sub 
 
Private Sub Form_AfterDelConfirm(Status As Integer) 
 Select Case Status 
 Case acDeleteOK 
 MsgBox "Deletion occurred normally." 
 Case acDeleteCancel 
 MsgBox "Programmer canceled the deletion." 
 Case acDeleteUserCancel 
 MsgBox "User canceled the deletion." 
 End Select 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.