Ayuda para realizar comparación de datos de fechas de tablas en base de datos implementada en access

Estoy realizando una base de datos en Access 2007 y en ésta he creado un formulario en donde tengo dos campos de fechas: FECHA PAGO (que es la fecha del día que una persona realiza un pago) y FECHA VENCIMIENTO (que es la fecha limite de pago definida para que la persona realice su pago).
Ya tengo un campo que se llama DÍAS VENCIDOS el cual muestra los días vencidos que la persona tiene por no haber pagado a tiempo, dependiendo de los campos FECHA PAGO y FECHA VENCIMIENTO. Es decir, si hoy 11/05/2011 (FECHA PAGO) el usuario viene a pagar y la Fecha limite de pago (FECHA VENCIMIENTO) era 30/03/2011, en el campo DÍAS VENCIDOS me da un total de 42 días vencidos.
Hasta aquí todo va bien.
El problema es:
Si el usuario viene a pagar hoy 11/05/2011 (FECHA PAGO) y la fecha limite de pago (FECHA VENCIMIENTO) es mañana 12/05/2011, el resultado sería -1 DÍAS VENCIDOS, por lo tanto ¿Cómo hago para que en el resultado de DÍAS VENCIDOS siempre me de CERO cuando la FECHA VENCIMIENTO sea Mayor a al FECHA PAGO? ; Ya que el campo DÍAS VENCIDOS lo debo multiplicar por otros campos y al dar el resultado Negativo me arruina el proceso que debo seguir.
O sea, como hago para validar en el campo DÍAS VENCIDOS que la FECHA VENCIMIENTO sea > a la FECHA PAGO. Es decir: Si FECHA VENCIMIENTO > FECHA PAGO entonces resultado es 0.

1 respuesta

Respuesta
1
Para estos casos te puede apoyar la función SiInm() y DifFecha()
Supuesto: Ya tienes un formulario basado en la tabla donde tienes los campos [FECHA PAGO] Y [FECHA VENCIMIENTO]
**** PROCEDIMIENTO:
1. En vista deseño del formulario, crea un nuevo control Cuadro de Texto, te a las propiedades de éste y en la ficha Datos en Origen del Control escribes esto:
=SiInm([FECHA PAGO]>[FECHA VENCIMEINTO],DifFecha("d",[FECHA VENCIMEINTO],[FECHA PAGO]),0)
2. Listo! En vista formulario verás que, por ejemplo, si la fecha de vencimiento es el 11/May/11 pero te pagaron el 08/May/11 aparecerá un 0.
De hecho si te pagan el mismo día que la fecha de vencimiento también será 0
*Nota: Si quieres poner esto en una consulta basada en la tabla, en vista diseño de la consulta en un nuevo campo escribes:
Días vencidos: siinm([fecha pago]>[fecha vencimeinto], diffecha("d",[fecha vencimeinto],[fecha pago]), 0)
Me comentas cómo te fue
Betomejia
Gracias experto.
Eres el número 1... tu respuesta funciona 100% lo que necesitaba era lo de la nota que colocaste allá arriba:
*Nota: Si quieres poner esto en una consulta basada en la tabla, en vista diseño de la consulta en un nuevo campo escribes:
Días vencidos: siinm([fecha pago]>[fecha vencimeinto], diffecha("d",[fecha vencimeinto],[fecha pago]), 0)
De ésta manera puedo matar dos pájaros con un solo tiro... Hallo la cantidad de días vencidos y muestro si la fecha vencimiento es mayor a la fecha pago.
Eres GRANDE!
En esta comunidad estamos para apoyarnos.
Si este tema ha sido concluido puedes cerrar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas