arkansis45250
Messages postés6Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention15 avril 2005
-
13 avril 2005 à 15:40
arkansis45250
Messages postés6Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention15 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.
PtitGrumo
Messages postés205Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention28 novembre 20052 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
arkansis45250
Messages postés6Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention15 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.
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 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
PtitGrumo
Messages postés205Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention28 novembre 20052 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
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 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