Como poner un aviso de vencimiento al llegar a una determinada fecha.

En el formulario que estoy creando tengo una fecha de vencimiento

PagoAsta y una fecha del día =Fecha(), también un cuadro de texto donde me aparecen los días que faltan para el vencimiento Texto80  con la instrucción =DifFecha("d";[FechaDia];[PagoAsta]) ,lo que quisiera es poner un aviso que apareciera cuando falten x días  para la fecha a vencer.

1 respuesta

Respuesta
2

Aquí tienes explicada paso a paso una forma de hacerlo: http://neckkito.xyz/nck/index.php/ejemplos/13-formularios/59-aviso-automatico-al-abrir-un-formulario

Pero se me ocurren algunas otras formas de "avisar", como por ejemplo una etiqueta en el propio formulario, que se coloree el campo PagoAsta...

Saludos: yo tenia pensado crear una etiqueta intermitente que saltara al abrir el formulario cuando faltara por días para el vencimiento, he estado probando pero no lo consigo, ¿es posible?

Gracias.

Ahi tienes un ejemplo: http://www.filebig.net/files/8ZTCPrhN2z 

Gracias pero esto no funciona

o no se como.

Pues no sé por qué motivo te da ese error, porque en los campos FechaDia y Vencimiento he usado exactamente las expresiones que citas en tu pregunta. Además el ejemplo está hecho en un access en español, como creo que lo es el tuyo...

De todas formas, si copias el código a tu Bd (cambiando los nombres a los que tu tengas) no deberías tener problema en ver como funciona

Por cierto, ¿tienes la BD de ejemplo en una ubicación segura, o habilitada la ejecución de código?

Otra cosa, a ver si doy con el problema..., si en el aviso del error 13 le das a "depurar", ¿en qué línea te marca el error?

Te agradezco la ayuda,

No me has respondido a lo que te pregunté para seguir ayudándote, pero como no me gusta dejarte sin solución, te dejo de nuevo el ejemplo hecho en un Access 2007 y guardado con formato access 2007-2016 y con formato access 2000-2003 (y comprobado en varios pcs que funciona):

http://www.filebig.net/files/d67bZdgeD3 

http://www.filebig.net/files/kktqDgK2W7 

El formulario solo tiene programados dos eventos del formulario:

1º/ "Al activar registro":

Private Sub Form_Current()
If Me.Texto80 < 5 Then
Me.Etiqueta8.Visible = True
Me.TimerInterval = 500
Else
Me.Etiqueta8.Visible = False
Me.TimerInterval = 0
End If
End Sub

que mira si el cuadro Texto80 es menor que 5, en cuyo caso muestra una etiqueta y establece un intervalo de cronómetro de medio segundo, y si es mayor o igual que 5, oculta la etiqueta y reinicia el cronómetro a 0.

2º/ "al cronómetro"

Private Sub Form_Timer()
Dim vRojo As Integer, vAzul As Integer, vVerde As Integer
Randomize
vRojo = Int(Rnd * 255)
vVerde = Int(Rnd * 255)
vAzul = Int(Rnd * 255)
Me.Etiqueta8.BackColor = RGB(vRojo, vVerde, vAzul)
End Sub

que genera un color aleatorio y se lo pone como fondo a la etiqueta.

Muchas gracias, funciona perfecto, pero abusando de tu amabilidad podría ser que solo apareciera en un color rojo por ejemplo.

Saludos.

En el evento timer simplemente pon esta línea: Me.etiqueta8.backcolor=vbred

O, si quieres otro tono de rojo, tendrás que averiguar el código rgb de ese color y aplicarlo, por ejemplo (sin saber que color pongo):

Me.etiqueta8.backcolor=rgb(54,70,180)

Perdona tanta molestia, al poner solo un color no hace el intermitente.

Obviamente, para que haga el parpadeo, necesitas dos colores...

Que línea debo modificar para dos colores.

Con un color puedes hacerlo si la muestras y ocultas, y el color de fondo se lo pones a la etiqueta en su formato ( dentro del menú propiedades). El código sería :

Me.etiqueta8. Visible = Not Me.etiqueta8. Visible

Una y mil gracias por tu ayuda.

Perfecto.

Veo que lo tienes resuelto, pero si lo quieres hacer con dos colores (no había visto tu anterior respuesta), puedes hacerlo así:

If Me.Etiqueta8.BackColor=vbRed Then

Me.Etiqueta8.BackColor=vbYellow

Else

Me.Etiqueta8.BackColor=vbRed

End If

Con lo que te alternará entre rojo y amarillo (o los colores que tu elijas).

PD: si quedaste satisfecho con la solución (soluciones, en este caso), te quedaría agradecido si cambiases la valoración.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas