Comment vérifier le contenu de plusieurs champs d'un formulaire
lepoitevin86
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 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 - Guide
- Verifier compatibilite windows 11 - Guide
- Verifier un lien - Guide
- Formulaire de reclamation instagram - 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 ?