Como poder saber cuando un valor esta fuera del rango en un formulario

Quisiera saber si es que se puede de alguna forma crear ciertos parámetros para los valores ingresados en un campo de un formulario. Me explico, por ejemplo si el numero ingresado está entre 18.5 y 24.9 se ponga de color verde indicando que está bien, o me envie un msgbox. O mejor aún en un cuadro de texto escriba, normal, y si el número está entre 25 y 29.9 "Sobrepeso" o un msgbox... ¿Se puede hacer algo así amigos? No sé si me hago entender correctamente...

2

2 respuestas

Respuesta
2

Adrián: Hay varias formas de hacerlo, de entre las cuales te comento una.

En el Evento AfterUpdate o LostFocus y suponiendo que el Cuadro de Texto se llama TxtPeso y otro cuadro donde quieres mostrar el Texto de aviso se llama >> TxtIndica, pones algo así:

Private Sub TxtPeso_LostFocus()
If Me.TxtPeso >= 18.5 And Me.TxtPeso <= 24,9 Then
    Me.TxtIndica = "Normal"
ElseIf Me.TxtPeso >= 25.0 And Me.TxtPeso <= 29,9 Then
    Me.TxtIndica = "Alarma en Peso"
ElseIf Me.TxtPeso >= 30.0 And Me.TxtPeso <= 34,9 Then
    Me.TxtIndica = "Sobrepeso Manifiesto"
'Aquí tantos ElseIf como necesites
'Y el cierre
Else
   MsgBox "La cantidad que has ingresado no corresponde a ningún rango de Peso",vbCritical,"ERROR EN DATO
End If
End Sub

Un saludo >> Jacinto

sabes entiendo el código que me distes pero no sé porque al ingresarlo no hace nada, ya resolvi el tema de los decimales que me daba demasiados, será que el valor en en cuadro de texto me aparece con una coma y en vba no puedo poner el valor con la , sino que debe ser el punto, pero aún así, le puse que fuera desde 18 a 25 pero tampoco hace nada... la verdad que no se que puede ser.

Me voy a responder a mi mismo... era lostfocus() no se porque después de actualizar no me sirve, pero con LostFocus() me resulto... muchas gracias...

Perfecto si el tema está resuelto y aclaro que puse comas y deben ser puntos, como bien dices en VBA. Saludos >> Jacinto

Respuesta
2

Me voy a permitir explicar por encima como funcionan los formularios en Access. Tanto si es único como continuo, sólo tiene "existencia física" el registro activo, los demás son imágenes virtuales. Por eso, en un formulario único sólo "ves" un registro. Si le dices que en función de un valor te ponga un cuadro de texto con un color determinado de fondo, se lo pone a todos.

En este caso le he dicho que si el valor del campo es Alemania, el color del fondo sea rojo, pero como puedes ver se lo pone a todos.

Si le digo que en caso de que su valor sea España, el color de fondo sea amarillo, cuando España sea el registro activo

Observa la punta de flecha de la izquierda, ese es el registro activo, el único que "existe"

El código es

Ahora bien, si en vista diseño selecciono el control Pais y pulso Formato-Formato condicional

Cuando abro el formulario tengo

En tu caso tendrías que poner en la regla del formato condicional

El valor del campo es Entre y le pones los valores del intervalo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas