Événement Form.BeforeDelConfirm (Access)

L'événement BeforeDelConfirm se produit après que l'utilisateur a supprimé dans la mémoire tampon un ou plusieurs enregistrements, mais avant que Microsoft Access affiche une boîte de dialogue demandant à l'utilisateur de confirmer la suppression.

Syntaxe

expression. BeforeDelConfirm (Cancel, Response)

expressionVariable qui représente un objetForm.

Parameters

Nom Requis/Facultatif Type de données Description
Cancel Obligatoire Entier Le paramètre détermine si l'événement BeforeDelConfirm se produit. La définition de l'argument Cancel sur True annule l'événement BeforeDelConfirm et empêche l'affichage de la boîte de dialogue Confirmer la suppression. Si l'événement est annulé, les enregistrements originaux sont restaurés, mais l'événement AfterDelConfirm se produit toujours. Si Cancel est défini sur True, l'argument Response est ignorée. Si Cancel est défini sur False (0), ce qui est le cas par défaut, la valeur de l’argument Response est utilisée par Access pour déterminer le type de réponse à l’événement Delete .
Réponse Obligatoire Integer Constante intrinsèque qui détermine si Access affiche la boîte de dialogue Confirmer la suppression demandant si l’enregistrement doit être supprimé. acDataErrContinue continue sans afficher la boîte de dialogue Confirmer la suppression. La définition de l'argument Cancel sur False et l'argument Response à acDataErrContinue permet de supprimer les enregistrements sans intervention de l'utilisateur de Microsoft Access. acDataErrDisplay affiche la boîte de dialogue Confirmer la suppression. La valeur par défaut est acDataErrDisplay.

Remarques

Pour exécuter une macro ou une procédure événementielle lorsque ces événements se produisent, définissez la propriété BeforeDelConfirm sur le nom de la macro ou [procédure événementielle].

Lorsqu'un enregistrement est supprimé, il est stocké dans un tampon temporaire. Dans une base de données Access , l’événement BeforeDelConfirm se produit après l’événement Delete (ou si vous avez supprimé plusieurs enregistrements, une fois tous les enregistrements supprimés, avec un événement Delete qui se produit pour chaque enregistrement), mais avant l’affichage de la boîte de dialogue Confirmer la suppression. Annulation de l'événement BeforeDelConfirm restaure l'ou les enregistrements à partir de la mémoire tampon et empêche l'affichage de la boîte de dialogue Confirmer la suppression.

Dans une base de données Access, l’événement AfterDelConfirm se produit après la suppression effective d’un enregistrement ou d’enregistrements ou après l’annulation d’une suppression ou d’une suppression. Si l'événement BeforeDelConfirm n'est pas annulé, l'événement AfterDelConfirm se produit après l'affichage de la boîte de dialogue Confirmer la suppression. L'événement AfterDelConfirm se produit même si l'événement BeforeDelConfirm est annulé.

Si vous annulez l’événement Delete , l’événement BeforeDelConfirm ne se produit pas et la boîte de dialogue Confirmer la suppression ne s’affiche pas.

Dans un projet Access (.adp), l’événement BeforeDelConfirm se produit avant l’événement Delete . Pour éviter d’ouvrir des transactions inutiles sur Microsoft SQL Server, Access vous invite à confirmer la suppression avant d’ouvrir la transaction. Si vous confirmez la suppression, Access ouvre une transaction sur SQL Server, émet l’instruction DELETE pour supprimer l’enregistrement ou les enregistrements et déclenche l’événement Delete du formulaire. Si vous choisissez Non lorsque vous êtes invité à confirmer la suppression, Access n’ouvre pas de transaction sur SQL Server pour supprimer l’enregistrement et ne déclenche pas l’événement Delete du formulaire.

Remarque

[!REMARQUE] L'événement BeforeDelConfirm ne survient pas et la boîte de dialogue Confirmer la suppression ne s'affiche pas si vous désactivez la case à cocher Modifications des enregistrements sous Confirmer sur l'onglet Édition de la boîte de dialogue Options Access.

En exécutant une macro ou une procédure événementielle lorsque l'événement Delete survient, vous pouvez empêcher la suppression d'un enregistrement ou autoriser un enregistrement à supprimer uniquement sous certaines conditions. Vous pouvez également utiliser un événement de suppression pour afficher une boîte de dialogue vous demandant si l'utilisateur souhaite supprimer un enregistrement avant d'être supprimé.

Une fois l’enregistrement supprimé, le focus se déplace sur l’enregistrement suivant l’enregistrement supprimé, et l’événement Current de cet enregistrement se produit, suivi des événements Enter et GotFocus pour le premier contrôle de cet enregistrement.

L’événement BeforeDelConfirm se produit alors, juste avant qu’Access n’affiche la boîte de dialogue Confirmer la suppression vous demandant de confirmer la suppression. Une fois que vous répondez à la boîte de dialogue confirmé ou annulé la suppression, l'événement AfterDelConfirm se produit.

Vous pouvez supprimer un ou plusieurs enregistrements à la fois. L'événement Delete survient après la suppression de chaque enregistrement. Vous pouvez ainsi accéder aux données de chaque enregistrement avant sa suppression effective et de manière sélective confirmer ou d'annuler chaque suppression de la Supprimer macro ou une procédure événementielle. Lorsque vous supprimez plusieurs enregistrements, l'événement Current pour l'enregistrement situé après le dernier enregistrement supprimé et l' entrée et GotFocus pour le premier contrôle de cet enregistrement ne se produisent pas tant que tous les enregistrements sont supprimés. En d'autres termes, un événement Delete intervient pour chaque enregistrement sélectionné, mais pas d'autres événements se produisent jusqu'à ce que tous les enregistrements sélectionnés sont supprimés. L'événement BeforeDelConfirm ne survient pas jusqu'à ce que tous les enregistrements sélectionnés sont supprimés.

Exemple

L'exemple suivant montre comment vous pouvez utiliser la procédure événementielle BeforeDelConfirm pour afficher une boîte de dialogue personnalisée lorsqu'un enregistrement est supprimé et de supprimer la boîte de dialogue Confirmer la suppression. Il indique également comment vous pouvez utiliser AfterDelConfirm procédure événementielle pour afficher un message indiquant que la suppression s'est déroulée normalement ou si elle a été annulée par l'utilisateur ou dans Visual Basic.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.