Agregar días a una fecha con la condición Siinm

Tengo una consulta que valida si la fecha real es 0 (Domingo), si es 0 le sumara +1 día para convertirlo en lunes, y si no es cero mantendrá la fecha real; todo esto en un nuevo campo llamado fecha nueva.

He intentado con estos dos códigos:

fecha_nueva: SiInm(DíaSemana([fecha_reall]=0),[fecha_real]+1,[fecha_real])

fecha_nueva: SiInm(DíaSemana([fecha_real]=0),AgregFecha("d",1,[fecha_real]),[fecha_real)

Pero al ejecutarlo me da el siguiente resultado.

fecha_real fecha_nueva
20/06/2014 21/06/2014
21/06/2014 22/06/2014
22/06/2014 23/06/2014
23/06/2014 24/06/2014

Como podrán observar aun sin ser domingo le esta sumando +1 día sin respetar la condición .

¿Qué podría estar haciendo mal?

1 respuesta

Respuesta
1

La función DíaSemana devuelve 1 si es domingo (2 para lunes... y 7 para sábado), y no 0, por lo que en tu SiInm tendrás que cambiar el 0 por 1:

fecha_nueva: SiInm(DíaSemana([fecha_reall]=1),[fecha_real]+1,[fecha_real])

Gracias Experto por el interés prestado.

Recuerdo haber leído que access lee domingo como 0, lunes como 1, martes como 2, etc.

De todas manera hice la prueba poniendo 1; pero el resultado es el mismo, me esta sumando mas 1 día a todos las fechas.

O quizás haya alguna otra alternativa.????

Gracias por tu apoyo experto.

Oh!, que fallo más tonto, no me fijé que tienes mal los resultados de la función SiInm.

La sintaxis de esta función es: SiInm(expresión, parteverdadera, partefalsa)

Por tanto, tu expresión está mal, pues debería ser así:

fecha_nueva: SiInm(DíaSemana([fecha_real])=1;[fecha_real];[fecha_real]+1)

Además, tenías mal colocado el paréntesis de la función DiaSemana.

Comprobado que funciona.

Te dejo aquí la ayuda de access sobre la función DíaSemana: http://office.microsoft.com/es-es/access-help/funcion-diasemana-HA001228933.aspx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas