Monday, April 05, 2010

Problema con Función SiInm de Access 2007

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.

ILIA Consultores, Soporte Técnico, Desarrollo Web, Páginas Web y Posicionamiento Web.



26 comments:

  1. Anonymous1:45 PM

    Tenia el mismo problema, y se me soluciono con tus indicaciones, Gracias.
    hay que enviarlo al saco de los "misterios sin resolver" de Microsoft

    ReplyDelete
  2. HOlaa. mil gracias.. de vdd te debo una.. ya tengo tiempo con este problema... me salvaste.. muchas graciiaas...!!!!!

    ReplyDelete
  3. Anonymous4:58 PM

    Muuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuchisiiiiiiiiiiiiiiiimas gracias hace mas de una hora buscando esta solucion.... Dios te bendiga!

    ReplyDelete
  4. Mil millones de gracias.

    Estaba que me reventaba la cabeza pensando en una solución, y gracias a tus indicaciones todo salio bien.

    Saludos

    ReplyDelete
  5. Excelente.. qué bueno que siempre hay alguien dispuesto a compartir cosas como esta. Todos deberíamos aprender a hacer lo mismo como una forma de agradecimiento

    ReplyDelete
  6. Ok , si es la solución al problema que teníA!!!

    MUCHAS GRACIAS

    ReplyDelete
  7. Anonymous4:02 PM

    Gracias!!!!!

    ReplyDelete
  8. hey, te pasas de chido bro, no importa cuanta pinche logica tengas, siempre por una tonteria no sale, te agradezco

    ReplyDelete
  9. Anonymous7:52 PM

    Muchas gracias, me salvaste de un problema...que bueno contar con personas que comparten lo que saben.

    ReplyDelete
  10. Anonymous8:34 PM

    les agradezco sus maravillosos conocimiento, Dios los bendiga

    ReplyDelete
  11. Ahhhhhh no puedo creerlo. Me estaba deprimiendo,hasta pense que lo mio era la cocina no la informatica... bueno muchisimas gracias... Excelente Post.

    ReplyDelete
  12. tengo problemas con mi access 2007, resulta que tengo 2 pc con la misma version de office, en una funciona todo ok (que es donde lo cree), en la otra cuando ejecuto alguna consulta funciona una sola vez y luego las rompe. Cuando entro a ver las consultas, resulta que me reemplazo los ; por comas. Alguien podria ayudarme

    ReplyDelete
  13. Anonymous3:20 PM

    Gracias!, aún funciona!

    ReplyDelete
  14. Ojo, en la ayuda de Accesa 2007 indica que la función es Silnm, en realidad es SiInm y para que funcione como han comentado es con paréntesis intermedios, así es como después de horas mirando a mi me ha funcionado.

    ReplyDelete
  15. Muchas Gracias

    Agradecería si existe otra forma más rápida de cambiar (tengo muchas funciones)

    ReplyDelete
  16. Anonymous1:12 PM

    Viejo mil gracais llevo 2 meses buscando solucion a este problema ya que en un equipo me funcionaba el siinm perfectamente pero al pasarlo a otro equipo siempre salia el error de la funcion siinm no esta definida pero con esto funciono perfecto. gracias nuevamente.

    ReplyDelete
  17. Excelente, porque no lo dice ninguna de las ayudas ?? No se como lo descubrieron pero es absolutamente útil para todos - Muchas gracias

    ReplyDelete
  18. Anonymous8:42 AM

    GRACIAS! con los parentesis lo hice funcionar

    ReplyDelete
  19. Anonymous3:42 PM

    Tengo bastante tiempo intentando con esa bendita funcion y no habia podido. Muchas gracias.

    ReplyDelete
  20. Fueron los únicos que me resolvieron el problema... MIL GRACIAS!

    ReplyDelete
  21. Anonymous4:08 PM

    Mi brother, infinitas gracias por esta solucion,ya no sabia que hacer, le agradezco en el alma

    ReplyDelete
  22. Anonymous8:12 PM

    Buena Perrín!!, 6 años después sigue ayudando tu post. (en access 2013)
    Muchas gracias

    ReplyDelete
  23. Anonymous8:07 AM

    Buenos dias

    Una vez que introduzco la expresion y le doy a "ver hoja de datos"o doble click para consultar la informacion , arroja el siguiente mensaje


    "HA INTENTADO EJECUTAR UNA CONSULTA QUE NO INCLUYE LA EXPRESSION ESPECIFICADA ( indica la exp[resion q escribi) COMO PARTE DE UNA FUNCION DE AGREGADO "

    Gracias de antemano por su ayuda

    ReplyDelete
  24. Anonymous12:15 PM

    Buenas tardes, tengo un problema con una consulta, tengo una tabla con un campo llamado "amenidades", el cual puede o no traer información.

    En mi formulario tengo un campo de amenidades (txtamenidades), donde puedo solicitar registros que contengan la palabra alberca, playa o cualquier otra cosa. Hasta ahí funciona bien, me presenta los registros sin problema. La situación es, que cuando dejo el campo txtamenidades en blanco, sólo me presenta los que tienen información, pero no los que no tienen.

    El criterio que estoy utilizando es:
    Como "*" & [Formularios]![CONSULTA_PROPIEDADES_FP]![txtamenidades] & "*"




    ReplyDelete
  25. Anonymous12:24 PM

    Se me pasó comentar, que también he utilizado el criterio:

    SiInm([Formularios]![CONSULTA_PROPIEDADES_FP]![txtamenidades]<>"",Como "*" & [Formularios]![CONSULTA_PROPIEDADES_FP]![txtamenidades] & "*",[Inmuebles]![amenidades])

    He utilizado con Null, Not Null, etc. y no he logrado corregir el problema.

    Les agradezco de antemano su ayuda.
    Saludos Marco

    ReplyDelete
  26. Anonymous10:57 AM

    SI!!!, gracias genio! Respuesta como esta es la que buscaba. Antes habia encontrado la respuesta al mismo problema escrito por gente que no sabia la solución, pero igual escribia...

    ReplyDelete