Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Controle actif

1 réponse
Avatar
Myriam
Bonjour,
Dans un formulaire j’ai plusieurs champs qui ont la propriété ‘nul interdit’
J’ai inséré le code suivant
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Dim ControleActif As Control
Dim strControleActif As String
Set ControleActif = Screen.ActiveControl
strControleActif = ControleActif.Name
If strControleActif = "Champ1" Then
Me.Undo
Response = acDataErrContinue
End If
End Sub
Cela marche mais ensuite…
Je voudrais donner une valeur à ce champ (la valeur par défaut) mais je
reçois alors l’erreur suivante :
"La macro ou fonction attribuée à la propriété AvantMAJ ou Valide si pour ce
champ empêche d’enregistrer les données pour ce champ". Si je veux mettre le
focus sur un autre champ de ce formulaire j’ai l’erreur : "Vous devez
enregistrer le champ avant d’exécuter l’action AtteindreContrôle, la méthode
GoToControl ou la méthode SetFocus." Mais pas si je donne une valeur à un
autre champ cela marche. Quelqu’un peut-il m’expliquer cela ?
Merci d’avance

1 réponse

Avatar
Chrysostome
D"après ce que j'ai compris, c'est qu'en remplissant un autre champs, tu
crées un nouvel enregistrement, c'est à dire que tu as alors enregistré celui
sur lequel tu te trouvais.
Ceci dit, je n'ai pas saisi la finalité de ton action sur ce champs. Je
pense qu'il serait plus intéressant qu'on y travaille dessus. Parcequ'en
remplissant ce Champs1 tu déclanches le processus, puisque tu dis QUE LE
FOCUS SE TROUVE SUR LE CHAMPS1.

"Myriam" a écrit :

Bonjour,
Dans un formulaire j’ai plusieurs champs qui ont la propriété ‘nul interdit’
J’ai inséré le code suivant
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Dim ControleActif As Control
Dim strControleActif As String
Set ControleActif = Screen.ActiveControl
strControleActif = ControleActif.Name
If strControleActif = "Champ1" Then
Me.Undo
Response = acDataErrContinue
End If
End Sub
Cela marche mais ensuite…
Je voudrais donner une valeur à ce champ (la valeur par défaut) mais je
reçois alors l’erreur suivante :
"La macro ou fonction attribuée à la propriété AvantMAJ ou Valide si pour ce
champ empêche d’enregistrer les données pour ce champ". Si je veux mettre le
focus sur un autre champ de ce formulaire j’ai l’erreur : "Vous devez
enregistrer le champ avant d’exécuter l’action AtteindreContrôle, la méthode
GoToControl ou la méthode SetFocus." Mais pas si je donne une valeur à un
autre champ cela marche. Quelqu’un peut-il m’expliquer cela ?
Merci d’avance