Evento Form. BeforeDelConfirm (Access)Form.BeforeDelConfirm event (Access)

El evento BeforeDelConfirm se produce después de que el usuario elimine del búfer uno o más registros, pero antes de que Microsoft Access muestra un cuadro de diálogo solicitando al usuario que confirme las eliminaciones.The BeforeDelConfirm event occurs after the user deletes to the buffer one or more records, but before Microsoft Access displays a dialog box asking the user to confirm the deletions.

SintaxisSyntax

expresión. BeforeDelConfirm (Cancelar, respuesta)expression.BeforeDelConfirm (Cancel, Response)

expresión Variable que representa un objeto Form.expression A variable that represents a Form object.

ParámetrosParameters

NombreName Obligatorio/opcionalRequired/Optional Tipo de datosData type DescripciónDescription
CancelCancel NecesarioRequired IntegerInteger La opción determina si se produce el evento BeforeDelConfirm.The setting determines if the BeforeDelConfirm event occurs. Si el argumento de Cancel se establece en True cancela el evento BeforeDelConfirm e impide que aparezca el cuadro de diálogo Confirmar eliminación.Setting the Cancel argument to True cancels the BeforeDelConfirm event and prevents the Delete Confirm dialog box from being displayed. Si se cancela el evento, se restauran los registros originales, pero el evento AfterDelConfirm se sigue produciendo.If the event is canceled, the original records are restored, but the AfterDelConfirm event still occurs. Si Cancel se establece en True, se omite el argumento de Response.If Cancel is set to True, the Response argument is ignored. Si Cancel se establece en false (0), que es el valor predeterminado, el valor del argumento Response lo usa Access para determinar el tipo de respuesta al evento Delete .If Cancel is set to False (0), which it is by default, the value in the Response argument is used by Access to determine the type of response to the Delete event.
ResponseResponse ObligatorioRequired IntegerInteger Una constante intrínseca que determina si Access muestra el cuadro de diálogo Confirmar eliminación que pregunta si se debe eliminar el registro.An intrinsic constant that determines whether Access displays the Delete Confirm dialog box asking if the record should be deleted. acDataErrContinue continúa sin mostrar el cuadro de diálogo Confirmar eliminación.acDataErrContinue continues without displaying the Delete Confirm dialog box. Si se establece el argumento de Cancel en False y el argumento de Response en acDataErrContinue permite que Microsoft Access elimine registros sin preguntar al usuario.Setting the Cancel argument to False and the Response argument to acDataErrContinue enables Microsoft Access to delete records without prompting the user. acDataErrDisplay muestra el cuadro de diálogo Confirmar eliminación.acDataErrDisplay displays the Delete Confirm dialog box. El valor predeterminado es acDataErrDisplay.The default value is acDataErrDisplay.

ComentariosRemarks

Para ejecutar una macro o procedimiento de evento cuando se produzcan estos eventos, establezca la propiedad BeforeDelConfirm en el nombre de la macro o en [procedimiento de evento].To run a macro or event procedure when these events occur, set the BeforeDelConfirm property to the name of the macro or to [Event Procedure].

Después de elimina un registro, se almacena en un búfer temporal.After a record is deleted, it's stored in a temporary buffer. En una base de datos de Access, el evento BeforeDelConfirm se produce después del evento Delete (o, si se ha eliminado más de un registro, después de que se eliminen todos los registros, se producirá un evento Delete para cada registro), pero antes de la **eliminación **Se muestra el cuadro de diálogo confirmar.In an Access database , the BeforeDelConfirm event occurs after the Delete event (or if you've deleted more than one record, after all the records are deleted, with a Delete event occurring for each record), but before the Delete Confirm dialog box is displayed. Al cancelar el evento BeforeDelConfirm se restaura el registro o registros del búfer y se evita que aparezca el cuadro de diálogo Confirmar eliminación.Canceling the BeforeDelConfirm event restores the record or records from the buffer and prevents the Delete Confirm dialog box from being displayed.

En una base de datos de Access, el evento AfterDelConfirm se produce después de que un registro o registros se eliminen realmente o después de que se cancelen las eliminaciones o eliminaciones.In an Access database, the AfterDelConfirm event occurs after a record or records are actually deleted or after a deletion or deletions are canceled. Si no se cancela el evento BeforeDelConfirm, se producirá el evento AfterDelConfirm después de que aparezca el cuadro de diálogo Confirmar eliminación.If the BeforeDelConfirm event isn't canceled, the AfterDelConfirm event occurs after the Delete Confirm dialog box is displayed. El evento AfterDelConfirm se produce incluso cuando se cancela el evento BeforeDelConfirm.The AfterDelConfirm event occurs even if the BeforeDelConfirm event is canceled.

Si cancela el evento Delete , el evento BeforeDelConfirm no se producirá, ni tampoco aparecerá el cuadro de diálogo Confirmar eliminación .If you cancel the Delete event, the BeforeDelConfirm event does not occur, and the Delete Confirm dialog box isn't displayed.

En un proyecto de Access (. ADP), el evento BeforeDelConfirm se produce antes del evento Delete .In an Access project (.adp), the BeforeDelConfirm event occurs before the Delete event. Para evitar que se abran transacciones innecesarias en Microsoft SQL Server, Access le pedirá que confirme la eliminación antes de abrir la transacción.To avoid opening unnecessary transactions on Microsoft SQL Server, Access prompts you to confirm the deletion before opening the transaction. Si confirma la eliminación, Access abre una transacción en SQL Server, emite la instrucción DELETE para eliminar el registro o registros y desencadena el evento Delete del formulario.If you confirm the deletion, Access opens a transaction on SQL Server, issues the DELETE statement to delete the record or records, and fires the form's Delete event. Si elige no cuando se le pide que confirme la eliminación, Access no abre ninguna transacción en SQL Server para eliminar el registro y no desencadena el evento Delete del formulario.If you choose No when prompted to confirm the deletion, Access does not open a transaction on SQL Server to delete the record and does not fire the form's Delete event.

Nota

[!NOTA] El evento BeforeDelConfirm 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.The BeforeDelConfirm event does not occur and the Delete Confirm dialog box isn't displayed if you clear the Record Changescheck box under Confirm on the Editing tab of the Access Options dialog box.

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.By running a macro or an event procedure when the Delete event occurs, you can prevent a record from being deleted or allow a record to be deleted only under certain conditions. 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.You can also use a Delete event to display a dialog box asking whether the user wants to delete a record before it's deleted.

Una vez eliminado el registro, el enfoque se desplaza al Registro siguiente, seguido de los eventos Enter y **** GotFocus para el primer control de ese registro y, a continuación, los eventos Enter y GotFocus del primer control.After you delete the record, the focus moves to the next record following the deleted record, and the Current event for that record occurs, followed by the Enter and GotFocus events for the first control in that record.

A continuación, el evento BeforeDelConfirm se produce, justo antes de que Access muestre el cuadro de diálogo Confirmar eliminación que le pide que confirme la eliminación.The BeforeDelConfirm event then occurs, just before Access displays the Delete Confirm dialog box asking you to confirm the deletion. Después de responder al cuadro de diálogo confirmando la eliminación o cancelándola, se produce el evento AfterDelConfirm.After you respond to the dialog box by confirming or canceling the deletion, the AfterDelConfirm event occurs.

Es posible eliminar más de un registro a la vez.You can delete one or more records at a time. El evento Delete se produce después de la eliminación de cada registro.The Delete event occurs after each record is deleted. 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.This enables you to access the data in each record before it's actually deleted, and selectively confirm or cancel each deletion in the Delete macro or event procedure. 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.When you delete more than one record, the Current event for the record following the last deleted record and the Enter and GotFocus events for the first control in this record don't occur until all the records are deleted. 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.In other words, a Delete event occurs for each selected record, but no other events occur until all the selected records are deleted. El evento BeforeDelConfirm no se produce hasta que se eliminan todos los registros seleccionados.The BeforeDelConfirm event does not occur until all the selected records are deleted.

EjemploExample

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.The following example shows how you can use the BeforeDelConfirm event procedure to suppress the Delete Confirm dialog box and display a custom dialog box when a record is deleted. 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.It also shows how you can use the AfterDelConfirm event procedure to display a message indicating whether the deletion progressed in the usual way or whether it was canceled in Visual Basic or by the user.

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 comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.