Rangos de fecha en consulta access

Tengo un registro con una fecha

Lo que quiero es que al mostrar el registro si a su fecha le faltan 30 dias para la fecha actual que me aparezca un mensaje de renovar

Pero si la fecha del registro ya se paso de la fecha actual que me muestre un mensaje que diga ya venció

3 respuestas

Respuesta
1

Ok. ¿Pero en donde tienes el registro en tabla o formulario? Explica un poco mejor lo que quieres hacer.

Por ejemplo en un cuadro de texto pongo un fecha y un boton de llamado validar. Al teclear una fecha y dar click a validar, me arrojara un mensaje renovar o vencido(dependiendo la fecha que ponga).

Por ejemplo :

If Me.CampoFecha >= Date()-30 And Me.CampoFecha <= Date() Then
   Msgbox "Renovar"
elseif Me.CampoFecha > Date() Then
   Msgbox "Vencido"
End if

hola gracias lo que me mandaste es lo que buscaba

Una duda como hago para que si esta en blanco la fecha me diga no aplica

¿Y si en lugar de que me aparezca un mensaje que me aparezca en un cuadro de texto como seria?

Muchas gracias por la ayuda

Ese cuadro de texto solo me serviría de validación no se va a guardar en una tabla

Gracias

¿A qué te refieres con un cuadro de texto? ¿O te refieres a una etiqueta?

If Me.CampoFecha >= Date()-30 And Me.CampoFecha <= Date() Then
   Msgbox "Renovar"
elseif Me.CampoFecha > Date() Then
   Msgbox "Vencido"
elseif IsNull(Me.CampoFecha) Then
   Msgbox "No aplica"
End if

asi quedaria el mensaje de no aplica

Hola gracias si me refiero a una etiqueta

Si se puede.

creas tu etiqueta y la pones en visible = no

En el evento al perder el enfoque va lo que se muestras en la imagen. Abajo el código

Private Sub fecha_LostFocus()
   If IsNull(Me.fecha) Then
        Me.Etiqueta.Visible = True
   Else
        Me.Etiqueta.Visible = False
   End If
End Sub

Si mi cuadro de texto fecha al perder en enfoque es null ,mostrara la etiqueta . Si no es null 

desaparece la etiqueta.

En la imagen se muestra la etiqueta por que mi cuadro fecha perdió el enfoque y estaba null.

Aquí desaparece por ya esta lleno.

Si tienes duda me dices.

Ayúdame con una suscripción a mi canal por favor. Es de ejercicios de Vba Access regalo el código en la descripción de cada video.

Respuesta

DateDiff("d", Date(),[DueDate])

En este link te muestra la solución a tu problema

Restar fecha

Ahí encontraras como resta una fecha de otra y obtener si ya se venció o no

Respuesta

Si tiene que ser exactamente 30 días antes de la fecha actual puedes poner

If fecha=date-30 then

Msgbox"Renovar"

...

Pero, en ese caso, al día siguiente, que es 29 días menor, ya no cumpliría la condición y por tanto no te aparecería nada.

Si, por el contrario, la fecha tiene que ser obligatoriamente menor de 30 días, entonces podrías poner

If fecha<=date-30

Pero, estarías en la misma situación anterior

Por eso, antes de nada deberías pensar como quieres exactamente que te haga el cálculo.

Pero siempre, siempre, pon la instrucción en el evento Al activar el registro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas