martes, 14 de agosto de 2012

Problema con Función SiInm de Access 2007


Me encanto esta solución encontrada en : SOLUCION DE CASUISTICAS TECNICAS

La función SiInm es equivalente a la función Si de excel, es decir, se compone de una expresión de consulta, una sección que cumple la condición y una que no la cumple. Así tenemos que:
- SiInm ( Expresión, Cumple, No Cumple )
El problema es que en access 2007 no reconocía la función que utilicé
- SiInm ( [aHoy] > 1 , 1 , [aHoy])
Esto es si el campo [aHoy] es mayor a 1, deberá dejar 1 y si no es mayor, dejará el valor que se obtenga en este campo. Posteriormente este valor lo pasábamos a formato porcentaje. Lamentablemente no reconocía esta función de ninguna forma.
La solución:
- SiInm ( ([aHoy]>1), (1), ([aHoy]) )
A cada sección de la función se le debe agregar paréntesis. El motivo es desconocido, ya que ni siquiera en las páginas de microsoft aparece esta solución, de hecho en los libros tampoco.
Ahora bien, lo bueno de esta función, y que al igual que excel, también se pueden utilizar funciones anidades condicionales, como por ejemplo:
- SiInm ( Exp, Cumple, SiInm( Exp, Cumple, no Cumple) ), pero ojo, que siempre deberá agregar los paréntesis interiorres en cada sección para que funcione correctamente.

No hay comentarios:

Publicar un comentario