Contador días en Access

He creado un Base de Datos en Access para una biblioteca técnica, donde evidentemente los libros se prestan y tienen un período determinado de préstamo, en este caso 90 días.
Mi problema es que me gustaría que en el formulario donde se recoge el libro prestado, el usuario quién se lo lleva y la fecha de préstamo apareciera un contador de días que me indicara los días que lleva ese libro en manos del usuario en cuestión, para así poder ver los días que lleva de retraso, los días que le quedan...
Se que en la página se ha hablado en otras ocasiones de ésto, pero no es exactamente lo que yo necesito.
Cualquier tipo de información será de mucha ayuda.
Gracias!
{"Lat":37.3786150321154,"Lng":-6.04969024658203}

1 respuesta

Respuesta
1
Te explico un sistema, a ver si es eso lo que necesitas. Debo decirte que este sistema te funcionará cuando consultes los registros del formulario, no cuando des de alta una salida del libro, puesto que sobreentiendo que, en ese momento, no necesitas saber los días de préstamo. Si de todas maneras quisieras que el valor te apareciera en ese momento me lo comentas y te digo qué es lo que tienes que hacer.
Para el proceso voy a suponer que el campo que recoge la fecha de salida del libro se llama [FechaSalida].
Y como estoy inspirado el código te va a reconocer si el valor es superior a 90 días, con lo que te pondrá el valor en rojo si sobrepasa ese periodo ;)
Vámonossss ;)
1.- Con el formulario en vista diseño, añades un cuadro de texto, que será el que te recogerá los días en préstamo.
2.- Sacas las propiedades de ese cuadro de texto y te vas a la pestaña Otras->Nombre, y le escribes ahí txtDias
3.- Ahora sacas las propiedades del formulario y te vas a la pestaña Eventos->Al activar registro... Verás que hay un pequeño botoncito de puntos suspensivos. Si haces click sobre él se te abrirá una ventana. Le dices que quieres generar código.
4.- Se te abrirá el editor de VB, con dos líneas por defecto (Private Sub... y End Sub). No debes tocar esas líneas. En medio de ellas escribes el siguiente código:
...
Private Sub...
'Borramos el posible valor que haya en txtDias y establecemos su color en negro
me.txtDias.value=null
me.txtDias.Forecolor=vbBlack
'Definimos las variables
Dim vAhora as Date, vSalida as Variant
'Asignamos valor a las variables
vAhora = Date
vSalida = me.[FechaSalida].value
'Si no hubiera establecida una fecha de salida salimos del proceso
If isnull(vSalida) then exit sub
'Asignamos el número de días al cuadro de texto
me.txtDias.value = vAhora - vSalida
'Si los días sobrepasan los 90 se marca en rojo
If me.txtDias.Value > 90 then
me.txtDias.Forecolor=vbRed
End if
End Sub
...
Y ya está. Si te sale algún problemilla me comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas