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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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