Access - Limitar decimales en entrada de campo cuadro de texto

 
Vista:

Limitar decimales en entrada de campo cuadro de texto

Publicado por Fofitólogo (40 intervenciones) el 23/04/2020 12:21:06
Hola,

Me gustaría que en un formulario de una base de datos Access que tengo, en un cuadro de texto "Nota" el usuario sólo pueda insertar un número con máximo 1 decimal. Comentar que ese cuadro de texto está vinculado a un campo de tabla configurado como número "Doble", y lugares decimales "Automático" .

En las propiedades del campo de texto he probado a poner Formato "Número general" y lugares decimales "1" pero esto no me ha servido. Aún con eso deja insertar número con varios decimales en dicho campo.

Agradezco cualquier ayuda con esto. Algo que desde mi desconocimiento me parecía que no debería ser demasiado complicado, pero para lo que no logro ver la forma.

Otra cosa que me interesaría es que en este mismo campo sólo se pudieran insertar valores entre 0 y 10.

Si alguien me pudiera ayudar también con eso, pues genial.

Saludos.
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

Limitar decimales en entrada de campo cuadro de texto

Publicado por Fofitólogo (40 intervenciones) el 23/04/2020 15:13:52
Ok, gracias,

he encontrado la versión en castellano, para mí mucho mejor, ya que en inglés apenas me defiendo:

https://support.office.com/es-es/article/controlar-los-formatos-de-entrada-de-datos-con-m%C3%A1scaras-de-entrada-e125997a-7791-49e5-8672-4a47832de8da

Al intentar aplicar la máscara en la vista Diseño de la tabla en el campo correspondiente (recordar que lo tengo en formato número doble y lugares decimales Automático) le doy al parámetro de Máscara de entrada en los tres puntos suspensivos que aparecen a la derecha y me aparece el siguiente mensaje "El asistente para Máscaras de Entrada sólo funciona con tipos de datos Texto o Fecha".
Aún así pongo tal cual la máscara que me has indicado: 999999.9.
He guardado esa máscara, vuelto al formulario y... todo sigue igual, el usuario sigue pudiendo introducir en el campo "Nota" un número con dos decimales (o más)

No olvides que soy muy ignorante. ¿no podrías desarrollar un poco más? (Estilo Máscaras para Dummiess :))

¿Dónde pondría la máscara de entrada?. He deducido que desde la tabla, por lo que he visto en esa página, pero ni siquiera estoy seguro de que haya que aplicarla ahí.
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
Imágen de perfil de Francisco
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Limitar decimales en entrada de campo cuadro de texto

Publicado por Francisco (212 intervenciones) el 23/04/2020 17:26:16
Hola

En la hoja de propiedades en la ficha Datos en macara de Entrada colocas 99999,9 si esta en español tu Access sino colocas 99999.9, en este caso podrás escribir hasta 5 enteros y un decimal


En la ficha de formato es para representar como quieres la salida, quedaría así

Formato: Numero General
Lugares Decimales: 1

También puede quedar así

Formato: #.##0,0 <- Este es un formato personalizado
Lugares Decimales: Automático

o

Formato: 0,0 <- Este es un formato personalizado
Lugares Decimales: Automático

Recuerda intercambiar los puntos y las comas si la versión de access no es español


En VBA las condiciones son otras siempre el decimal sera punto

1
2
3
4
5
6
7
Private Sub Form_Open(Cancel As Integer)
    Me.Texto0.Format = "#,##0.0"
    Me.Texto2.Format = "#,##0.000"
 
    Me.Texto0.InputMask = "99999.9"
    Me.Texto2.InputMask = "99999.999"
End Sub



Saludos
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

Impedir que se pueda introducir un valor que no esté entre dos límites numéricos

Publicado por Fofitólogo (40 intervenciones) el 23/04/2020 19:38:33
Hola, funcionó, ¡gracias!

He puesto la máscara 90,9 que es la que se ajusta a lo que quiero (y mi Access está en español)

Paso ahora va mi segunda duda con el valor del campo.
Me gustaría que solo se pueda introducir en este campo un valor entre 0 y 10.

¿Cómo podría establecer esa limitación? ¿A través de código?
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

Impedir que se pueda introducir un valor que no esté entre dos límites numéricos

Publicado por Anonimo (3316 intervenciones) el 23/04/2020 22:13:53
Lo has intentado con la opción del propio cuadro de texto 'regla de validacion'
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

Impedir que se pueda introducir un valor que no esté entre dos límites numéricos

Publicado por Fofitólogo (40 intervenciones) el 24/04/2020 18:30:26
Gracias.
Lo he probado. Pero no funciona, o lo que es más probable, no sé cómo aplicar la sintaxis

He probado dos opciones (en la regla de validación):

1) [Nota]>=0 & [Nota]<=10. Con esta aparentemente es como si no hubiera puesto nada. "Traga" todos los valores que introduce el usuario
2) "[Nota]>=0" & "[Nota]<=10" Con esta pasa justo al revés, rechaza todos los valores porque no cumplen la regla de validación.

¿Cómo debería enfocar la regla de validación y con qué sintaxis?

Cualquier ayuda será bienvenida.
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

Impedir que se pueda introducir un valor que no esté entre dos límites numéricos

Publicado por Anonimo (3316 intervenciones) el 24/04/2020 18:50:15
La lógica es muy simple, se supone que se esta validando el valor del propio objeto, lo cual implica que se da por aludido....

un valor de entre 0 y 10 (sin decimales) se expresaría así
>-1 y <11
>= 0 y <=10

Y cualquier otra variante que se pueda plantear, sin perder de vista que se evalúa el contenido del propio campo aplica la regla :

yo siempre me llamo YO, el resto del mundo me llama ……. (ejemplo: yo dije que era …)
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

Impedir que se pueda introducir un valor que no esté entre dos límites numéricos.Solucionado

Publicado por Fofitólogo (40 intervenciones) el 24/04/2020 19:03:42
Estupendo.

Más allá de que sobrara el nombre del campo (Nota) como transmites en tu mensaje, creo que era clave el uso de &.

No sé si por usar versión española o qué pero el & daba error. He probado a poner tal cual tu expresión >= 0 y <=10 y ha funcionado.

Muchas 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
Imágen de perfil de Francisco
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Impedir que se pueda introducir un valor que no esté entre dos límites numéricos.Solucionado

Publicado por Francisco (212 intervenciones) el 25/04/2020 22:37:45
Hola

El ampersand (&) en VBA es para concatenar cadenas

Saludos
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

Impedir que se pueda introducir un valor que no esté entre dos límites numéricos.Solucionado

Publicado por Fofitólogo (40 intervenciones) el 25/04/2020 23:20:09
Ah, Ok, lo confundí

je,je

Saludos
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