Saltar al contenido

Salir del Cancel en el evento beforeUpdate


Recommended Posts

publicado

Hola a todos;

Una duda que no soy capaz de resolver.

Tengo dos textbox en un formulario y en el evento beforeUpdate una validación simple.

También estoy usando en el evento KeyDown la tecla "F12" que una vez pulsada me retrocede y borra lo que tenía en el anterior textbox

Si la validación no se cumple en el textbox2 me arroja un error porque no puede salirse del cancel=true y llevar el foco al textbox1.

¿Es posible salirse de ese cancel=true pulsando la tecla F12, o como podría depurar ese error?.

Saludos a todos.

MCancel.xlsm

publicado
hace 5 horas, JSDJSD dijo:

Hola y gracias por responder @JSDJSD

He visto la propuesta y ya lo había planteado así y no es lo que buscaba.

Cuando la cantidad ingresada en el textbox2 no es correcta quiero que no se salga del textBox2 y el cancel=true esta correcto, lo que quiero conseguir es salir de ese bloqueo pulsando la tecla F12  o la tecla ctrl también me vale y no se como  programarlo.

Imagino que igual no es posible.

Si se te ocurre algo me cuentas y si no no te preocupes replantearé de otra manera.

Muchas gracias de formas.

 

publicado

Hola Benito

A mí no me queda claro tu dilema, es decir, por ejemplo, si el Textbox2 es correcto ¿qué debe ocurrir exactamente y con detalle si presionas F12? y si el Textbox2 es incorrecto ¿qué debe ocurrir exactamente y con detalle si presionas F12?

Saludos

publicado
hace 2 horas, Abraham Valencia dijo:

Hola Benito

A mí no me queda claro tu dilema, es decir, por ejemplo, si el Textbox2 es correcto ¿qué debe ocurrir exactamente y con detalle si presionas F12? y si el Textbox2 es incorrecto ¿qué debe ocurrir exactamente y con detalle si presionas F12?

Saludos

Hola Abraham;

Respondo a tus preguntas:

1.-Sí el valor del textbox2 es correcto ejecuta una macro y el foco pasaría al siguiente. En este caso sólo he puesto 2 para el ejemplo pero serán más.

El pulsar la tecla F12, ctrl o Esc sólo la uso para retroceder de un textbox a otro. Sólo debe retroceder uno de cada vez. Si estuviese en el 3 retrocedería hasta el 2 y no al 1.

2.- Si el valor no es correcto  debe actuar el cancel=true del evento, entonces es ahí la situación donde quiero usar F12,ctrl o Esc para romper ese cancel=true y posteriormente borrar el contenido del textbox en el que estoy para después volver  al textbox anterior, salvo que ya no existan anteriores O la otra situación sería corregir el valor y ya estaría en la situación 1.

 

Gracias y saludos Abraham.

Espero haberme explicado mejor.

 

publicado

Como siempre, te complicas la vida innecesariamente, usa Avance/Retroeceso de campo que para eso están.

También puedes usar el evento Change  en lugar de los que usas, o lo más normal, usar un botón de validación.

publicado
hace 5 horas, JSDJSD dijo:

Te dejo una posible soluciónimage.thumb.gif.7bc91fa0b3113ac3460cec7252692ea5.gif

MCancel.xlsm 36.97 kB · 1 descarga

Hola @JSDJSD, gracias nuevamente por tú propuesta.

Está muy bien, pero como comentaba quería controlar el cancel=true mediante la pulsación de una tecla y así poder interrumpir la ejecución de la macro y si pulso la tecla F12 puedo retroceder que es para lo que la quiero usar.

He conseguido algo, igual no es muy ortodoxo pero realiza el proceso como mas o menos quería. 

Y he controlado el error si pulso primero F12 sin haber cancelado antes con la tecla Esc.

Adjunto macro.

Saludos y gracias nuevamente.

 

 

MCancel.xlsm

publicado
hace 3 horas, Antoni dijo:

Como siempre, te complicas la vida innecesariamente, usa Avance/Retroeceso de campo que para eso están.

También puedes usar el evento Change  en lugar de los que usas, o lo más normal, usar un botón de validación.

Hola Antoni, gracias por los consejos pero estoy tratando de usar en un formulario procesos similares a los que uso en otro programa de ahí a que quiera usar las teclas  F1, F2 , etc.

Tienes razón, a veces me complico más de la cuenta.

Saludos y gracias por tus buenos consejos.

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.