Access - Restringir a sólo un carácter

 
Vista:
sin imagen de perfil

Restringir a sólo un carácter

Publicado por Miguel (53 intervenciones) el 21/10/2014 10:06:03
Hola a tod@s
Sé que igual es una tontería pero no lo tengo claro.
Tengo un campo limitado a un sólo carácter que quiero obligar a que sólo se pueda usar la letra X por parte del usuario en el formulario; cómo lo hago?
Sé que debo usar el evento al bajar una tecla pero no termino de hacer que me funcione.
Gracias por adelantado.
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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Restringir a sólo un carácter

Publicado por Jesús Manuel (134 intervenciones) el 21/10/2014 11:00:11
No crees que es complicado que el usuario sepa que solo tiene que pulsar X si lo que tienes es un cuadro de texto??
Porque no utilizas un control checkbox para hacer esto??


Igualmente el código que puedes utilizar es:


Private Sub TxtCampo_AfterUpdate()
If Me.TxtCampo <> "X" Then
MsgBox "Este control solo admite la letra X", vbInformation, "Tecla erronea"
Me.TxtCampo.Value = ""
Me.TxtCampo.SetFocus
End If
End Sub

En el evento después de actualizar, comprobamos si el valor introducido es distinto de X y en caso de ser distinto:
- Emite un mensaje de información indicando que sólo se puede utilizar la letra X
- Borra el valor introducido
- Mantiene el foco en el campo
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
sin imagen de perfil

Restringir a sólo un carácter

Publicado por Miguel (53 intervenciones) el 21/10/2014 12:38:36
Tienes razón; incluso podría usar el típico valor de true/false.

El problema es que uso ese valor para otra tabla (codetoreplace) que lo que hace es reemplazarlo para sacar un informe en word, y no me admite los campos de chequeo de si/no.

Realmente intento que el valor de un campo se limite a un carácter, que sea "un espacio en blanco" o a una "x" y, que por defecto, el valor predeterminado sea el espacio en blanco.
No sé si se debe hacer a nivel de tabla o de formulario, pero no sé cómo hacerlo.
Gracias por adelantado
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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Restringir a sólo un carácter

Publicado por Jesús Manuel (134 intervenciones) el 21/10/2014 13:06:38
Si sigues considerando la opción del cuadro de texto, puedes ir a la definición de la tabla, y en el campo texto en el que tienes que tener el valor X o espacio blanco(null):

- En la pestaña General, Tamaño del Campo=1
- En la pestaña Búsqueda:
+ Mostrar Control = Cuadro Combinado
+ Tipo de origen de la fila =Lista de valores
+ Origen de la Fila= "";"X"

Si ya tienes creado el formulario elimina el campo de texto y vuelve a introducirlo(Agregar Campos existentes), para que asuma todos los cambios hechos en el diseño de la tabla,

Tendrás un cuadro combinado que te permitirá elegir entre X o null, por defecto el campo no tiene valor, por lo que ya tienes asegurado el null



Con esto te ahorras el código que te había indicado antes, puede que se ya lo has introducido en el formulario tengas que eliminarlo, a pesar de haber eliminado el cuadro de texto.
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
sin imagen de perfil

Restringir a sólo un carácter

Publicado por Miguel (53 intervenciones) el 21/10/2014 14:03:34
Gracias.

La solución ya la había pensado antes pero el valor null (nada) no lo interpreta la otra tabla que reemplaza códigos y el problema es que cuando llega a un campo que no "interpreta" no sigue leyendo o en este caso sustituyendo valores.

Además, el cuadro combinado con la lista de valores para un solo carácter no queda muy elegante ( al reducir el campo mucho, casi que solo se ve la flecha de desplegar); por otro lado, le obligo al usuario a desplegar y elegir.

De la otra forma, sólo debe introducir la X porque por defecto quiero el espacio en blanco.
Menos elegante sería sustituir el espacio en blanco por un guión bajo si no lo consigo...

Gracias de nuevo.
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