Comment vérifier le contenu de plusieurs champs d'un formulaire
lepoitevin86
Messages postés
14
Statut
Membre
-
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en ACCESS 2007
Dans un formulaire Nommé F_Toiles j'ai 3 champs contrôles "Num_Objet1", "Num_Objet2" et "Num_Objet3". Je veux controler qu'il ne doit pas y avoir la même valeur dans les trois champs, mais les champs "Num_Objet2" et "Num_Objet3" peuvent ne pas être renseignés.
Sur quel evenement faut-il mettre le contrôle et quelle est la syntaxe
Merci de votre aide
Je suis en ACCESS 2007
Dans un formulaire Nommé F_Toiles j'ai 3 champs contrôles "Num_Objet1", "Num_Objet2" et "Num_Objet3". Je veux controler qu'il ne doit pas y avoir la même valeur dans les trois champs, mais les champs "Num_Objet2" et "Num_Objet3" peuvent ne pas être renseignés.
Sur quel evenement faut-il mettre le contrôle et quelle est la syntaxe
Merci de votre aide
A voir également:
- Comment vérifier le contenu de plusieurs champs d'un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Verifier compatibilite windows 11 - Guide
- Formulaire de reclamation instagram - Guide
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
3 réponses
Bonjour,
Un exemple de code.
A vous d'adapter l'action a faire en cas d'egalite de champ.
Un exemple de code.
A vous d'adapter l'action a faire en cas d'egalite de champ.
Private Sub Num_Objet1_AfterUpdate()
If Me.Num_Objet1 = Me.Num_Objet2 Then
MsgBox "Egalite champ 1 et 2"
ElseIf Me.Num_Objet1 = Me.Num_Objet3 Then
MsgBox "Egalite champ 1 et 3"
Else
End If
End Sub
Private Sub Num_Objet2_AfterUpdate()
If Me.Num_Objet2 = Me.Num_Objet1 Then
MsgBox "Egalite champ 2 et 1"
ElseIf Me.Num_Objet2 = Me.Num_Objet3 Then
MsgBox "Egalite champ 2 et 3"
Else
End If
End Sub
Private Sub Num_Objet3_AfterUpdate()
If Me.Num_Objet3 = Me.Num_Objet1 Then
MsgBox "Egalite champ 3 et 1"
ElseIf Me.Num_Objet3 = Me.Num_Objet2 Then
MsgBox "Egalite champ 3 et 2"
Else
End If
End Sub
Bonjour,
Mais ma question reste sans réponse Non, vous avez la reponse: apres mise a jour tetxbox, vous devez mettre le code approprie apres ou a la place des lignes de msgbox ex: raz de la textbox en defaut et garder le focus sur cette textbox pour resaisir.
Bon courage
Mais ma question reste sans réponse Non, vous avez la reponse: apres mise a jour tetxbox, vous devez mettre le code approprie apres ou a la place des lignes de msgbox ex: raz de la textbox en defaut et garder le focus sur cette textbox pour resaisir.
Bon courage
Re,
Raz textbox:
Il faut au moins un controle supplementaire: textbox1 pas vide. Mais je ne sais pas comment est votre fichier, donc je ne sais pas comment vous aider!!
Raz textbox:
Private Sub Num_Objet1_AfterUpdate()
If Me.Num_Objet1 = Me.Num_Objet2 Then
MsgBox "Egalite champ 1 et 2"
Num_Objet1 = ""
ElseIf Me.Num_Objet1 = Me.Num_Objet3 Then
MsgBox "Egalite champ 1 et 3"
Num_Objet1 = ""
Else
End If
End Sub
Private Sub Num_Objet2_AfterUpdate()
If Me.Num_Objet2 = Me.Num_Objet1 Then
MsgBox "Egalite champ 2 et 1"
Num_Objet2 = ""
ElseIf Me.Num_Objet2 = Me.Num_Objet3 Then
MsgBox "Egalite champ 2 et 3"
Num_Objet2 = ""
Else
End If
End Sub
Private Sub Num_Objet3_AfterUpdate()
If Me.Num_Objet3 = Me.Num_Objet1 Then
MsgBox "Egalite champ 3 et 1"
Num_Objet3 = ""
ElseIf Me.Num_Objet3 = Me.Num_Objet2 Then
MsgBox "Egalite champ 3 et 2"
Num_Objet3 = ""
Else
End If
End Sub
Il faut au moins un controle supplementaire: textbox1 pas vide. Mais je ne sais pas comment est votre fichier, donc je ne sais pas comment vous aider!!
Bonjour f894009
Merci pour le script,
Il ne me reste plus qu'à positionner le curseur sur le bon contrôle, car si j'ai un doublon sur le 2eme contrôle , j'ai bien le message d'erreur mais après avoir fait [OK] le curseur se positionne sur le 3eme contrôle. J'ai essayé la fonction GetFocus sans résultat.
Si tu as une idée et un exemple je suis preneur;
Merci
Merci pour le script,
Il ne me reste plus qu'à positionner le curseur sur le bon contrôle, car si j'ai un doublon sur le 2eme contrôle , j'ai bien le message d'erreur mais après avoir fait [OK] le curseur se positionne sur le 3eme contrôle. J'ai essayé la fonction GetFocus sans résultat.
Si tu as une idée et un exemple je suis preneur;
Merci
Bonjour,
A voir, test fait sur la reception du focus:
A voir, test fait sur la reception du focus:
Private Sub Num_Objet1_GotFocus()
If Me.Num_Objet1 = Me.Num_Objet2 Then
MsgBox "Egalite champ 1 et 2"
Num_Objet1 = ""
Num_Objet1.SetFocus
ElseIf Me.Num_Objet1 = Me.Num_Objet3 Then
MsgBox "Egalite champ 1 et 3"
Num_Objet1 = ""
Num_Objet1.SetFocus
Else
End If
End Sub
Private Sub Num_Objet2_GotFocus()
If Me.Num_Objet2 = Me.Num_Objet1 Then
MsgBox "Egalite champ 2 et 1"
Num_Objet2 = ""
Num_Objet2.SetFocus
ElseIf Me.Num_Objet2 = Me.Num_Objet3 Then
MsgBox "Egalite champ 2 et 3"
Num_Objet2 = ""
Forms!formulaire1!Num_Objet2.SetFocus
Else
End If
End Sub
Private Sub Num_Objet3_GotFocus()
If Me.Num_Objet2 = Me.Num_Objet1 Then
MsgBox "Egalite champ 2 et 1"
Num_Objet2 = ""
Num_Objet2.SetFocus
ElseIf Me.Num_Objet2 = Me.Num_Objet3 Then
MsgBox "Egalite champ 2 et 3"
Num_Objet2 = ""
Num_Objet2.SetFocus
Else
End If
End Sub
Le code est bon, j'obtiens bien un message quand 2 champs sont identiques mais malgré tout après avoir répondu ok au message d'erreur, si je passe à l'enregistrement suivant ou si je fais ajout d'enregistrement access ne bloque pas l'utilisateur.
Sur quel événement faut t'il tester pour valider le formulaire ?
Merci de ta réponse et surtout très bon reveillon
Comme je l'ai ecrit, a vous d'ajouter le code en fonction de ce que vous voulez faire!!!!
Mais ma question reste sans réponse
Bonne et heureuse année
Sur quel événement faut t'il tester pour valider le formulaire ?