Je veux créer une règle de validation dans l'accès à un champ qui permet seulement des valeurs qui commencant par la Haute J'ai essayé ce code : StrComp (UCase (right ([Nume], 1)), right ([Nume], 1) = 0, mais cela ne fonctionne pasCréer une règle de validation d'accès « commencer par lettre majuscule »
Répondre
Que signifie "ne fonctionne pas" signifie - message d'erreur, mauvais résultat, rien ne se passe?
Si vous voulez tester la lettre de départ, utilisez Left(), pas Right(). L'expression manque paren de fermeture et aussi besoin de comparer le paramètre de la méthode:
StrComp(UCase(Left([Nume],1)), Left([Nume],1), 0) = 0
Il fonctionne dans la propriété ValidationRule sur le terrain dans le tableau.
N'empêche pas les lettres majuscules dans d'autres positions. Il n'y a pas de fonction intrinsèque dans Access pour le cas de phrase. Considérez:
Ucase(Left(mystring,1)) & LCase(Mid(mystring, 2))
Il existe une fonction StrConv(). Cela convertira la première lettre de chaque mot en majuscule.
Ma préférence serait la procédure VBA pour assurer la saisie de l'utilisateur sous une forme correcte au lieu d'un utilisateur agaçant avec un claquement de main, ce qui les oblige à entrer à nouveau les entrées et à ralentir la productivité. L'expression ci-dessus pourrait servir à cette fin.
Je ne pense pas que vous puissiez le faire sur le terrain, mais vous pouvez au tableau règle de validation de niveau:
Asc([Nume])=Asc(UCase([Nume]))
Il a montré un message d'erreur, mais maintenant il fonctionne correctement. Merci! –
L'expression plus simple de Gustav donnera le même résultat (n'a pas vu avant de poster). Voir la réponse révisée. – June7