Es posible cambar el valor dado por una condición difffecha

Saludos te comento tengo una consulta donde he logrado me de el valor de los días transcurridos entre dos campos ( fecha del) a (fecha al) usando comando difffecha,
hora tengo el problema que en fechas iguales el valor da cero días, lo que es correcto si buscamos los días trascurridos, pero es necesario para mi trabajo que ese valor
sea 1, como lo condiciono a que si me da valor cero ponga el valor 1.

1 Respuesta

Respuesta
1

Como no veo muy claro cómo utilizas la función (el contexto, me refiero) te doy una solución genérica, que espero puedas adaptar sin problemas.

Utiliza un Iif (SiInm) para saber qué valor te retorna la función, y operas en consecuencia.

Por ejemplo, llamemos [vDias] al campo que te recoge el resultado de la función.

Si operas en una consulta (objeto consulta de Access) añadirías un nuevo campo calculado en el grid de la consulta escribiendo en la línea superior (la correspondiente a "Campo:") la siguiente expresión:

vDias2: iif([vDias]=0;1;[vDias])

Lo cual significa:

Si vDias es igual a cero -> me escribes un 1

Si vDias no es igual a cero -> me escribes el valor de vDias

A ver si te funciona. Ya me dirás.

grandioso lo imaginaba, pero ahora viene un detalle técnico, a donde inserto el Siinm, lo que tengo es : DÍAS DE COMISIÓN: DifFecha("d",[FECHA DEL],[FECHA AL]), imagino que ponerlo después de eso, lo he intentado seprandolos con paréntesis y punto y coma , pero me marca error...alguna idea???

Como te comentaba, puedes añadir un nuevo campo calculado en una columna en blanco de tu consulta, y trabajar desde esa columna con los resultados. Por ejemplo, podrías escribir:

DIASCOMISION: iif([DÍAS DE COMISIÓN]=0;1;[DÍAS DE COMISIÓN])

Si lo quieres poner directamente en el campo DÍAS DE COMISIÓN deberías escribir:

DÍAS DE COMISIÓN: Iif (DifFecha("d";[FECHA DEL];[FECHA AL])=0;1;DifFecha("d";[FECHA DEL];[FECHA AL]))

excelente¡¡¡¡ funciono de maravilla, en access 2003 que estoy usado solo cambia la sintaxis en lugar de punto y coma (;) solo pongo una coma(,) y listo...magifico mereces un excelente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas