Événement Form.Delete (accès)

Se produit lorsque l’utilisateur effectue une action, par exemple 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.

Paramètres

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

Remarques

Pour exécuter une macro ou une procédure d’événement 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 d’événement].

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 zone case activée Enregistrer les modifications 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 Edition . Vous supprimez ainsi l'enregistrement actif (celui indiqué par le sélecteur d'enregistrement). Vous pouvez également sélectionner le sélecteur d’enregistrement ou sélectionner l’enregistrement dans le menu Edition pour sélectionner l’enregistrement, puis appuyer sur la touche Suppr pour le supprimer. Si vous choisissez l’option Supprimer l’enregistrement, le sélecteur d’enregistrement de l’enregistrement actif, ou Sélectionner l’enregistrement, les événements Exit et LostFocus du contrôle actif se produisent. 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 En cours se produit également pour cet enregistrement.

Une fois l’enregistrement supprimé, le focus passe à l’enregistrement suivant l’enregistrement supprimé et l’événement en cours pour 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 actuel pour l’enregistrement suivant le dernier enregistrement supprimé et les événements Enter et GotFocus pour le 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.