Qué instrucción puedo usar para validar un campo que quedo nulo cuando se pasa con enter por equivocación

En este momento estoy trabajando un formulario que tiene 3 campos que tiene la tabla P INVENTARIOS SUCURSALES el campo en cuestión es PRENDAS y de este deseo hacer lo siguiente:

1. Que cuando el usuario pasa por este campo y por equivocación digita enter el sistema lo retenga y no le permita avanzar hasta tanto no escriba un valor que pueda ser cero, uno o un número mayor a este pero que no llegue a 1000

Que acciones he intentado pero me han fallado.

1. Hice un condicional donde indico que si valor es cero me pregunte y a cambio doy una respuesta si o no y según la respuesta haga lo que tenga que hacer.

2. Que no permita valores nulos y cuando eso pase me genera un mensaje que alerte al usuario lo que está intentando hacer.

3. Intenté usar restrincción en la propiedad del campo desde la estructura de la tabla pero me saca mensajes cada nada pero igual también permite pasar con enter

4. Intenté otra opción con el manejo de código ascii y conocí que la tecla enter está definida con el número 165 pero no se como establecerla en el momento de hacer un IF

1 respuesta

Respuesta
3

Pon los siguientes eventos en tu userform

Private Sub Prendas_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    'valida el campo después de salir. Valores permitidos de 0 a 999
    If Not (Prendas.Value >= 0 And Prendas.Value < 1000) Then
        MsgBox "El campo es obligatorio. Valores permitidos de 0 a 999", vbExclamation
        Cancel = True
    End If
End Sub
'
Private Sub Prendas_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por.Dante Amor
    'valida solamente números en el campo
    If Not (KeyAscii >= 48 And KeyAscii <= 57) Then KeyAscii = 0
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas