Vérifier une textbox

Résolu
samuss Messages postés 18 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 8 janvier 2009 - 7 avril 2008 à 02:12
samuss Messages postés 18 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 8 janvier 2009 - 7 avril 2008 à 11:49
Bonjour,
J'ai fais un logiciel de gestion avec vb-access muni d'adodb (pour incorporer du sql) et je voudrais avant de saisir ma requète sql vérifier si un champs est correct ç'est à dire qu'il ne comporte pas de caractères spéciaux, en effet sinon le programme plante. Je sais vérifier si un champs est un nombre ( avec "isnumeric") mais je ne sais pas vérifier si c'est uniquement des lettres (voir des chiffres avec) mais pas de caractères spéciaux ('@_-~^...). Si vous pouviez me filer un coup de pouce !

Merci d'avance, Samus.

3 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
7 avril 2008 à 09:26
Bonjour,
Il te suffit de permettre les caracteres alphabetiques au niveau de ta zone de texte.
sur le keypress de ta zone de caractere.

Private Sub Text1_KeyPress(KeyAscii As Integer)
   if keyascii<65 or keyascii> 90 or keyascii<97 or keyascii>122 then
      msgbox "Erreur dans la saisie"
      Text1.text = vbnullstring
      Text1.SetFocus
   end if
End Sub

Voila...
Bonne programmation

SLB

ps : Pense à valider
3
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
7 avril 2008 à 09:27
Salut,
Regarde ce que fait ceci.

Option Explicit

Private Const INTERDIT As String = "@[{#]*/"

Private Sub Form_Load()

MsgBox TestChaine("BONJOUR 21")
MsgBox TestChaine("BONJOUR 21/")

End Sub<hr />

Private Function TestChaine(strChaine As String) As Boolean
Dim i As Integer
Dim Carac As String

   'Par défaut on dit que la chaine est bonne
   TestChaine = True
   'on va faire une boucle pour chaque
   'caracteres interdit
   For i = 1 To Len(INTERDIT)
       'on extrait le caractere
       Carac = Mid(INTERDIT, i, 1)
       'si le caractere est contenu dans strChaine
       If InStr(1, strChaine, Carac) <> 0 Then
           'la chaine n'est pas bonne
           TestChaine = False
           'on sort de la boucle car inutile de continuer
           Exit For
       End If
   Next
End Function<hr />, ----
[code.aspx?ID=41455 By Renfield]

NOTE, EST TU SUR D'ETRE EN VB.NET
@+: Ju£i?n
Pensez: Réponse acceptée
3
samuss Messages postés 18 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 8 janvier 2009
7 avril 2008 à 11:49
alors merci pour vos réponses, mais j'ai oublié de préciser, je pense que je ne suis pas en vb.net :P, dsl je suis débutant dans la matière.

Pour la réponse de lilith, vb ne reconnait pas la fonction "keyascii", je sais pas pourquoi.

Je viens de réussir à mettre en place la réponse de Julien ! un immense merci qui me sauve plus ou moins la vie ^^. Merci à vous, et à vb france pour votre promptitude dans les réponses. A bientôt pour de nouvelles questions^^.
Samus.
3
Rejoignez-nous