Access - Limitar dolo dos cifras en un campo

   
Vista:

Limitar dolo dos cifras en un campo

Publicado por Dolor de cabeza (4 intervenciones) el 25/10/2007 10:11:59
Hola a todos:

No se si esto se podrá hacer y si se puede cómo.

Tengo un campo numérico en el cual solo voy a meter dos cifras o 0 o 1. Lo que quiero es que si meto un 3, 8, 24... no me deje, sólo me admita el número 0 o el 1.

¿Eso como se podría hacer?

Gracias y un saludo a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Limitar dolo dos cifras en un campo

Publicado por xavi (92 intervenciones) el 25/10/2007 13:54:41
Hola,

Happy publicó una función que limita la introducción de caracteres en un cuadro de texto a los numericos.

Con una ligerisima adaptación, te puede servir

La puedes ver aqui: http://www.llodax.com/smf/index.php?topic=89.0

Un saludo
Xavi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Limitar dolo dos cifras en un campo

Publicado por Dolor de cabeza (4 intervenciones) el 25/10/2007 14:42:41
No me deja entrar, ya que tienes que ser un usuario registrado, si fueses tan amable de explicarme el contenido...

Gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Limitar dolo dos cifras en un campo

Publicado por xavi (92 intervenciones) el 25/10/2007 16:51:50
Tampoco pido tanto al solicitar el registro, ¿verdad?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Limitar dolo dos cifras en un campo

Publicado por Arturo (9 intervenciones) el 07/11/2007 08:34:20
Esto funciona seguro. Utiliza el evento PULSAR UNA TECLA del campo de texto

txtcodigo es el campo donde se introducen los valores

Private Sub TxtCodigo_KeyPress(KeyAscii As Integer)

If KeyAscii <> 13 Then
if chr(keyascii) < "0" or _
chr(keyascii) > "1" then
KeyAscii = 0
End If

End Sub

Con esto lo que haces es cambiar a Nulo el valor pulsado.

Utilizo el Chr(keyascii) para convertir a caracter el valor ascii de la tecla pulsada. Si te sabes los codigops ascii del 0 y del 1 (reo que son 30 y 31)

codificalo como

Private Sub TxtCodigo_KeyPress(KeyAscii As Integer)

If KeyAscii <> 13 Then
if keyascii) < 30 or _
keyascii > 31 then
KeyAscii = 0
End If

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Limitar dolo dos cifras en un campo

Publicado por Enrique (1299 intervenciones) el 25/10/2007 17:57:36
En el Procedimiento de Evento "Al presionar una tecla" del cuadro de Texto:

Private Sub Texto1_KeyPress(KeyAscii As Integer)
Dim NCarac As Integer
NCarac = 1
If InStr("01", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then KeyAscii = 0
If Len(Texto1.Text) >= NCarac And Texto1.SelStart = 0 Then Exit Sub
If Len(Texto1.Text) >= NCarac And KeyAscii <> 8 Then KeyAscii = 0
End Sub

Sutituye Texto1 (está 4 veces) por el Nombre de tu campo. Con esto solo podrás introducir en el cuadro de texto o el Cero o el Uno pero no los dos, porque el cuadro está limitado a 1 carácter y además solo funcionará la Tecla "Retroceso" e "Intro". Si necesitas introducir por ejemplo el número 10, pones NCarac = 2, si es el 100 o el 101 lo pones = 3, etc.

Un saludo
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Limitar dolo dos cifras en un campo

Publicado por Dolor de cabeza (4 intervenciones) el 29/10/2007 08:26:17
Gracias Enrique lo probaré.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar