Alors en fait il faut faire du code en VBA c'est a dire un petit peu plus pousse que l'edition directe de formulaires
Il faut que tu cliques droit sur le champ ou les gens vont entrer le commentaire, Proprietes > Evenement > BeforeUpdate et la tu cliques sur les 3 petits points a droite et choisis Code.
Ca va t'ouvrir une nouvelle fenetre avec le code en VBA qui correspond a ce formulaire, et ca a du t'ecrire deja automatiquement
1 2 3
| Private Sub Commentaire_BeforeUpdate(Cancel As Integer)
End Sub |
Ca, c'est le code qu'il va executer a chaque fois avant d'updater la valeur du champ commentaire il reste plus qu'a remplir le trou au milieu avec ce que tu veux lui faire faire ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
En l'occurence tu veux faire un test: est-ce que la valeur entree contient "http". Pour ca on utilise une fonction "LIKE": "expression1 LIKE expression2" teste si l'expression1 est egale a l'expression2 et renvoie True ou False. Pour dire blablabla on remplace par * (ca veut dire n'importe quel caractere repete n'importe quel nombre de fois) et comme on veut pouvoir tester s'il y a du blabla avant et apres le http on va mettre :
commentaire.value LIKE "*http*"
en supposant que ton champ s'appelle commentaire (.value c'est pour chercher la valeur entree).
Si le commentaire contient http, on peut supposer que c'est un lien... donc on peut envoyer un message d'erreur par exemple, et surtout empecher qu'il sauve la valeur en utilisant Cancel = True (ca veut dire qu'il va faire cancel du update donc ne pas enregistrer la valeur)
Du coup ca va faire au total:
1 2 3 4 5 6
| Private Sub Comment_BeforeUpdate(Cancel As Integer)
If (Comment.Value Like "*http*") Then 'Si c'est vrai
MsgBox "pas de liens!" 'fais un message d'erreur
Cancel = True 'empeche la sauvegarde (l'update) du commentaire
End If
End Sub |
Apres tu n'as plus qu'a tester dans le formulaire
Dis moi si ca marche!
Partager