
Répondre à: Contrôle de champs "texte" pour plaque d'immatriculation
Hello Jean ,
Dans ce cas de figure, on peut utiliser les fonctions :
IsMatch() : Pour s’assurer qu’une chaîne respecte un certain format
Upper() : pour transformer les minuscules en majuscules
Right() et Left() : Pour extraire des caractères d’une chaîne
Substitute() : Pour remplacer des caractères dans une chaîne
Tu peux ajouter un label texte pour indiquer si la saisie est correcte (attention syntaxe en anglais) :
If(IsMatch(n With({ // On nomme des constantes pour simplifier le la formule qui suitn Immat:TextInputSaisie.Text,n Sep1:Left(TextInputSaisie.Text,3),n Sep2:Right(TextInputSaisie.Text,3)},nn Upper( // on transofrme les minuscules en majusculesn Substitute( n Substitute( n Immat,Sep1,Left(Sep1,2)&"-"),// On remplace les 3 premiers caractères par les 2 premiers suivi de "-" = on remplace le 3eme caractère par un tiretn Sep2,"-"&Right(Sep2,2) // On remplace les 3 derniers caractères par un "-", suivi par les 2 derniers = on remplace le 7eme caractère par un tiretn ))),n Match.Letter&Match.Letter&Match.Hyphen&Match.Digit&Match.Digit&Match.Digit&Match.Hyphen&Match.Letter&Match.Letter), // On verifie que le tout correspond au format : 2 lettres, tiret, 3 chiffres, tiret, deux lettresn "Format OK" ,// Si ouin "Merci de respecter le format ''AA-000-AA''" ) //Sinon
ce qui devrait donner :
Tu peux ensuite utiliser le IsMatch et son contenu pour conditionner l’update du datacard
CommentID=5M4aIydMuSvUrQX, PostID=erpIzqrXOw59kfW