Événement Form.Dirty (Access)
L'événement Dirty se produit lorsque le contenu du contrôle spécifié est modifié.
Syntaxe
expression. Dirty (Cancel)
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 Dirty se produit. La définition de l’argument Cancel sur True (1) annule l’événement Dirty . |
Remarques
Quand vous tapez un caractère directement dans la zone de texte ou une zone de liste déroulante ou en modifiant la propriété Text du contrôle à l'aide d'une macro ou Visual Basic sont des exemples de cet événement.
Modification d'un enregistrement dans un formulaire à l'aide d'une macro ou Visual Basic ne déclenche pas cet événement. Vous devez taper les données directement dans l'enregistrement ou définir la propriété Text du contrôle.
Cet événement ne s'applique qu'aux formulaires liés, et non à un formulaire indépendant ou un état.
Pour exécuter une macro ou une procédure événementielle lorsque cet événement se produit, définissez la propriété OnDirty sur le nom de la macro ou [procédure événementielle].
En exécutant une macro ou une procédure événementielle lorsqu’un événement Dirty se produit, vous pouvez déterminer si l’enregistrement peut être modifié. Vous pouvez également afficher un message et demander la permission de modifier les données.
La modification des données d’un enregistrement à l’aide du clavier entraîne la survenue d’événements de clavier en plus des événements de contrôle comme l’événement Dirty . Par exemple, si vous vous placez sur un nouvel enregistrement et que vous tapez un caractère ANSI dans une zone de texte de l'enregistrement, les événements suivants se produisent dans cet ordre :
KeyDown → KeyPress → BeforeInsert → Dirty → KeyUp
Les événements BeforeUpdate et AfterUpdate d’un enregistrement se produisent après avoir entré les données nouvelles ou modifiées dans l’enregistrement et déplacé vers un autre enregistrement (ou choisissez Enregistrer l’enregistrement dans le menu Enregistrements ), et donc après l’événement Dirty pour l’enregistrement.
L’annulation de l’événement Dirty entraîne la restauration des modifications apportées à l’enregistrement actif. Cela équivaut à appuyer sur la touche Échap.
Exemple
L’exemple suivant active le bouton btnUndo lorsque les données sont modifiées. La sous-routine UndoEdits( ) est appelée à partir de l’événement Dirty des contrôles de zone de texte. Cliquez sur le bouton btnUndo activé pour restaurer la valeur d’origine du contrôle à l’aide de la propriété OldValue .
Private Sub Form_Dirty()
If Me.Dirty Then
Me!btnUndo.Enabled = True ' Enable button.
Else
Me!btnUndo.Enabled = False ' Disable button.
End If
End Sub
Sub btnUndo_Click()
Dim ctlC As Control
' For each control.
For Each ctlC in Me.Controls
If ctlC.ControlType = acTextBox Then
' Restore Old Value.
ctlC.Value = ctlC.OldValue
End If
Next ctlC
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.