Como condicionar una fecha para que sea retroactiva a 20 días anteriores a la fecha actual

Espero me puedas ayudar con el código para condicionar un campo tipo fecha para que unicamente permita ingresar la fecha actual o anterior hasta un máximo de 20 días, y si no es así no permita al usuario avanzar al campo siguiente.

2 respuestas

Respuesta
2

Si no te quieres "complicar" con macros o código VBA, puedes hacerlo directamente en el diseño de la tabla, en la propiedad "Regla de validación" de tu campo Fecha. Además, puedes personalizar el mensaje usando "Texto de validación".

Te dejo una imagen de cómo lo podrías hacer:

Hacerlo así (en la tabla) tiene un ventaja sobre hacerlo por macro o código en un formulario: da igual desde dónde añadas o modifiques los registros, siempre te examinará la regla de validación para ver si cumple o no.

Un saludo.


     bit.ly/ForoNkSv 

Respuesta
1

No recomiendo usar la Regla de Validación a nivel de tabla cuando se manejan valores que pueden variar, como el caso de su pregunta (20 días antes de la fecha). ¿Qué pasaría sin la el número de días cambia a menos de 20 o más de 20?. ! Tendríamos que editar la tabla !. Y fuera por código igualmente nos toca editarlo. Recomiendo usar una tabla de parámetros y hacer la validación mediante código. Veamos con un ejemplo.

Necesitamos una tabla de parámetros la llamo tblparametros y un formulario lo llamo frmFecha

Ingresamos el parámetro:

Diseñamos el formulario:

Ahora, al campo independiente lo llamo ctrlFecha y en el evento "Antes de Actualizar" ingresamos el siguiente código:

El código permite que se cambie el número de días en la tabla de parámetros y listo. Ejemplo, tomo fecha hoy "02/11/2018", de tal forma que 20 días antes están comprendidos en el rango de fechas "13/10/2018" y "02/11/2018". Veamos gráficamente.

Como se ingresó "12/10/2018" la fecha está antes del "13/10/2018". No cumple.

Como se ingresó "13/10/2018" la fecha si está en el rango. Puede hacer la validación con un campo de fecha de una tabla. Ensaye cambiando en la tabla tblparametros el valor.

Espero responder a su pregunta ya que hacer referencia "con código".

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas