Access - Ayuda con Campos Vacios y Set Focus

   
Vista:

Ayuda con Campos Vacios y Set Focus

Publicado por leoncito (1 intervención) el 10/08/2016 16:52:36
hola gente ...espero puedan ayudarme
hay un campo (FechaPago) que quiero que se complete si los otros 4 campos no son vacios .. me muestre un mensaje "complete la fecha" y me posicione en ese campo con set focus ...
como estoy trabajando con una tabla de referencia cruzada con fechas... si ese campo me queda vacio o se borra sin querer (ha pasado) la tabla de ref. cruz. me indica error y me tengo que poner a buscar cual es la fecha que falta...

los campos estan en un subformulario y son:

.FechaPago
.FormaPago
.Cuotas
.Adelanto
.PagoTotal

gentilmente en su momento me pasaron el siguiente código pero el problema es que se produce un bucle al querer pasar al formulario principal o al intentar ir a otro campo en el mismo subformulario.. o al salir de este

1
2
3
4
5
6
7
8
9
Private Sub FechaPago_Exit(Cancel As Integer)
'Si hay fecha valida, Cancel = False
Cancel = Not IsDate(Me![FechaPago])
'Si Cancel es FALSE se finaliza
If Not Cancel Then Exit Sub
'Cancel es True, se envía el mensaje y se aborta la salida
Beep
MsgBox "INGRESE LA FECHA", vbInformation, "¡¡¡Preste Atención!!!"
End Sub

se me ocurre poner el código en cada campo despues de actualizar .. y siempre y cuando alguno de esos campos tenga algún dato me muestre la advertencia y me posicione al campo fecha para completar .. es decir si se activa ese registro con algún dato entonces que me obligue a poner la fecha.. alguna idea... yo digo poner en cada campo algún codigo, seguramente alguien sabra ponerlo en el formulario .. en realidad, en el contento general es un subformulario .. si alguien me puede dar una mano.. agradecido.. 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
Imágen de perfil de Neckkito

Ayuda con Campos Vacios y Set Focus

Publicado por Neckkito (1104 intervenciones) el 12/08/2016 11:24:25
Hola! Personalmente no acabo de entender tu explicación, ni me puedo imaginar exactamente que estás haciendo.

Si el problema es que no te deja salir del campo porque está vacío cambia tu código por este:

1
2
3
4
5
6
7
8
9
10
11
Private Sub FechaPago_Exit(Cancel As Integer)
Dim resp as integer
'Si hay fecha valida, Cancel = False
Cancel = Not IsDate(Me![FechaPago])
'Si Cancel es FALSE se finaliza
If Not Cancel Then Exit Sub
'Cancel es True, se envía el mensaje y se aborta la salida
Beep
resp= MsgBox ("SERÍA RECOMENDABLE INGRESAR LA FECHA. ¿Seguro que quiere salir sin ingresarla?", vbInformation+vbyesno, "¡¡¡Preste Atención!!!")
If resp=vbyes then cancel=false
End Sub

Lo he escrito a vuelapluma. Imagino que no debería darte ningún problema.

Saludos,

Neckkito
http://bit.ly/neckkito
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