Limiter un champ texte

arkansis45250 Messages postés 6 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 15 avril 2005 - 13 avril 2005 à 15:40
arkansis45250 Messages postés 6 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 15 avril 2005 - 15 avril 2005 à 08:04
Bonjour!



je voudrai limiter un champ texte à seulement 2 caractères uniquement numérique et de 0 à 23.

je ne sais pas quelles sont les "properties" à modifier.



merci d'avance

8 réponses

PtitGrumo Messages postés 205 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 28 novembre 2005 2
13 avril 2005 à 15:58
Salut!

Il n'y a pas a ma connaissance de propriété sous Access pour faire cela!
Maintenant si ton champ est directement lié à un champ d'une table de ta base, tu peu alors chamger les propriétés de ton champ au niveau de la table! ceci affectera directement ton champ de saisi ecran!

Sinon en VB la propriété est quelque chose comme Maxlenth

A++
0
arkansis45250 Messages postés 6 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 15 avril 2005
13 avril 2005 à 16:11
j'ai trouvé pour limiter à 2 caractères (c'est bien maxlength) mais je
ne trouve pas pour définr une plage de valeurs (ex: 00 à 23) et
uniquement numérique.



merci!



@+
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
13 avril 2005 à 16:19
Salut, sous access, on peut limiter la taille du champ texte avec la propriété "Taille du champ" mais tu ne pourras pas limiter le stockage à des valeurs de 0 à 23. Ca il faut que tu le gères avant l'enregistrement.
Dans une textbox, la propriété Maxlenth te permet de limiter la saisie au nb de car que tu veux mais, encore une fois, il faut que tu contrôles ce qui est saisi, par exemple pour ton cas :

Private Sub Text1_KeyPress(KeyAscii As Integer)
' on ne permet que des chiffres et les retours arrière, suppression, ....
If KeyAscii > 31 And (KeyAscii < 48 Or KeyAscii > 57) Then
KeyAscii = 0
End If
' on teste si c'est le 1er car ou non
If Len(Text1) = 0 Then 'si 1er car
If KeyAscii > 50 Then 'si > à 2
KeyAscii = 0
End If
Else 'si 2ème car
If Text1 = "2" Then 'si 1er car est 2
If KeyAscii > 51 Then 'si > 3
KeyAscii = 0
End If
End If
End If
End Sub


J'espère que ça t'ira.

Loup Gris
0
arkansis45250 Messages postés 6 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 15 avril 2005
13 avril 2005 à 16:53
Merci pour ta proposition mais je n'utilise pas access, je suis uniquement sous VB6!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PtitGrumo Messages postés 205 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 28 novembre 2005 2
13 avril 2005 à 22:55
Re,

Bon voila sous VB6 ce que je te propose!

Tu peu jouer sur l'évènement LostFocus de ton objet! Je ne sais pas si tu vois ce que c'est mais cette fonctio nce lance lorsque ton textBox perd la main.

Ainsi tu peu écrire:

Private sub monTextBox_lostFocus()
If cint(monTextBox.text)<0 and cint(monTextBox.text)>0 then
msgbox "Vous devez saisir une valeur entre 0 et 23"
monTextBox.setFocus
end if
end sub

Et voilà

A++

PtitGrumo les pieds dans l'eau
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
13 avril 2005 à 23:21
Private Sub Text1_Change()
Dim s As String
Dim v As Integer
s = Trim$(Text1.Text)
v = Val(s)
If s <> "" And CStr(v) <> s And "0" & CStr(v) <> s Then
MsgBox "Veuiller entrer une valeur numérique svp"
Text1.Text = ""
End If
If v < 0 Or v > 23 Then
MsgBox "veuillez entrer une valeur entre 0 et 23"
Text1.Text = ""
End If
End Sub

Daniel
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
14 avril 2005 à 00:37
arkansis45250> le code que je t'ai proposé (en bleu) est en vb6

Loup Gris
0
arkansis45250 Messages postés 6 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 15 avril 2005
15 avril 2005 à 08:04
merci beaucoup!
0
Rejoignez-nous