Partager via


Événement Form.Delete (Access)

Se produit lorsque l’utilisateur effectue une action, comme appuyer sur la touche Suppr, pour supprimer un enregistrement, mais avant que l’enregistrement ne soit réellement supprimé.

Syntaxe

expression. Supprimer (Annuler)

expressionVariable qui représente un objetForm.

Parameters

Nom Requis/Facultatif Type de données Description
Cancel Obligatoire Integer Le paramètre détermine si l'événement Delete se produit. La définition de l’argument Cancel sur True (1) annule l’événement Delete .

Remarques

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

Lorsqu'un enregistrement est supprimé, il est stocké dans un tampon temporaire. L'événement BeforeDelConfirm a lieu après l'événement Delete (ou, si vous avez supprimé plusieurs enregistrements, après un événement Delete de tous les enregistrements), mais avant que la boîte de dialogue Confirmation de la suppression ne s'affiche. 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.

L'événement AfterDelConfirm se produit après la suppression réelle de l'enregistrement ou après l'annulation de la 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é. La procédure événementielle AfterDelConfirm retourne des informations d'état à propos de la suppression. Vous pouvez, par exemple, utiliser une macro ou une procédure événementielle associée à l'événement AprèsSuppression pour recalculer les totaux affectés par la suppression d'enregistrements.

Si vous annulez l'événement Delete , les événements BeforeDelConfirm et AfterDelConfirm ne se produisent pas et la boîte de dialogue Confirmation de la suppression n'est pas affichée.

Remarque

Les événements BeforeDelConfirm et AfterDelConfirm ne se produisent pas et la boîte de dialogue Supprimer Confirmer ne s’affiche pas si vous désactivez la case à cocher Modifications d’enregistrement sous Confirmer sous l’onglet Avancé de la boîte de dialogue Options Access , disponible en cliquant sur le bouton Microsoft Office, puis en choisissant 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é.

Pour supprimer un enregistrement, vous pouvez choisir Supprimer l’enregistrement dans le menu Modifier . Vous supprimez ainsi l'enregistrement actif (celui indiqué par le sélecteur d'enregistrement). Vous pouvez également choisir le sélecteur d’enregistrement ou sélectionner un enregistrement dans le menu Modifier pour sélectionner l’enregistrement, puis appuyer sur la touche Suppr pour le supprimer. Si vous choisissez Supprimer l’enregistrement, le sélecteur d’enregistrement de l’enregistrement actif ou Sélectionner un enregistrement, les événements Exit et LostFocus pour le contrôle sur lequel le focus se produit. Si vous avez modifié des données dans l’enregistrement, les événements BeforeUpdate et AfterUpdate de l’enregistrement se produisent avant les événements Exit et LostFocus . Si vous choisissez le sélecteur d’enregistrement d’un autre enregistrement, l’événement Current pour cet enregistrement se produit également.

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, immédiatement avant que Microsoft Access affiche la boîte de dialogue Confirmer la suppression vous invitant à 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 de l’enregistrement suivant le dernier enregistrement supprimé et les événements Enter et GotFocus du premier contrôle de cet enregistrement ne se produisent pas tant que tous les enregistrements n’ont pas été 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. Les événements BeforeDelConfirm et AfterDelConfirm ne se produisent pas tant que tous les enregistrements sélectionnés n'ont pas été supprimés.

Exemple

Cet exemple vous montre comment empêcher un utilisateur de supprimer les enregistrements d'une table. Pour essayer cet exemple, ajoutez la procédure événementielle suivante à un formulaire basé sur une table. Basculez vers le mode Feuille de données du formulaire et essayez de supprimer un enregistrement.

Private Sub Form_Delete(Cancel As Integer) 
    Cancel = True 
    MsgBox "This record can't be deleted." 
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.