Función Silnm

Devuelve una de dos partes, dependiendo de la evaluación de una expresión (expresión: cualquier combinación de operadores matemáticos o lógicos, constantes, funciones y nombres de campos, controles y propiedades que evalúa a un solo valor. Las expresiones pueden realizar cálculos, manipular caracteres o probar datos.).

Puede usar Silnm siempre que pueda usar una expresión. Silnm también sirve para determinar si otra expresión es verdadera o falsa. Si la expresión es verdadera, Silnm devuelve un valor; si es falsa, Silnm devuelve otro. Puede especificar los valores que devuelve Silnm.

Vea algunos ejemplos

Sintaxis

SiInm(expresión, parteverdadera, partefalsa)

La sintaxis de la función Silnm consta de los siguientes argumentos (argumento: valor que proporciona información a una acción, un evento, un método, una propiedad, una función o un procedimiento.):

Argumento Descripción
expresión Requerido. Expresión que se desea evaluar.
parteverdadera Requerido. Valor o expresión que se devuelve si el valor de expresión es Verdadero.
partefalsa Requerido. Valor o expresión que se devuelve si el valor de expresión es Falso.

Comentarios

Silnm evalúa siempre parteverdadera y partefalsa, aunque solo devuelve una de ellas. Por este motivo, debería tener cuidado con los efectos secundarios no deseados. Por ejemplo, si la evaluación de partefalsa tiene como resultado una división por error cero, se produce un error, aunque el valor de expresión sea Verdadero.

Ejemplos

Usar Silnm en un formulario o informe    Supongamos que tiene una tabla Clientes que contiene un campo denominado RegiónPaís. En un formulario, desea indicar que el italiano es el primer idioma del contacto. Puede agregar un control y usar Silnm en la propiedad Origen del control (Control Source), por ejemplo:

=Silnm([RegiónPaís]="Italia", "Italiano", "Algún otro idioma")

Al abrir el formulario en la vista Formulario, el control muestra "Italiano" siempre que el valor RegiónPaís sea Italia y "Algún otro idioma" si RegiónPaís tiene cualquier otro valor.

Usar Silnm en expresiones complejas    Puede usar cualquier expresión como parte de una instrucción Silnm. También puede "anidar" expresiones Silnm, lo que le permite evaluar una serie de expresiones dependientes. Continuando con el ejemplo anterior, puede que desee probar distintos valores de RegiónPaís y mostrar el idioma apropiado en función del valor que haya:

=Silnm([RegiónPaís]="Italia", "Italiano", Silnm([RegiónPaís]="Francia", "Francés", Silnm([RegiónPaís]="Alemania", "Alemán", "Otro idioma")))

El texto "Otro idioma" es el argumento falsepart de la función Silnm más interior. Puesto que cada función Silnm anidada es el argumento falsepart de la función Silnm que la contiene, el texto "Otro idioma" solo se devuelve si todos los argumentos expr de todas las funciones Silnm se evalúan como False.

A modo de ejemplo, supongamos que trabaja en una biblioteca. La base de datos de la biblioteca tiene una tabla llamada Salidas que contiene un campo llamado Fecha de devolución, que incluye la fecha en que se debe devolver un libro en particular. Puede crear una formulario que indique el estado de un elemento que haya salido en un control mediante la función Silnm en la propiedad Origen del control (Control Source) de dicho control, por ejemplo:

=Silnm([Fecha de devolución]<Fecha(),"VENCIDO",Silnm([Fecha de devolución]=Fecha(),"Vence hoy","Por entregar"))

Al abrir el formulario en la vista Formulario, el control muestra "VENCIDO" si el valor de Fecha de devolución es inferior a la fecha actual, "Vence hoy" si es igual a la fecha actual y "Por entregar" en el caso restante.

 Nota   Para usar operadores lógicos como "And" u "Or" en el argumento expr de la función Silnm, debe incluir la expresión lógica en la función Eval. Vea la tabla de ejemplo a continuación.

Usar Silnm en una consulta    

La función Silnm se usa frecuentemente para crear campos calculados en consultas. La sintaxis es la misma, con la excepción de que en una consulta, se debe comenzar la expresión con un alias (alias (SQL): nombre alternativo para una tabla o campo en expresiones. Los alias se utilizan a menudo para acortar el nombre de una tabla o de un campo para referencias posteriores en el código, a fin de evitar posibles referencias ambiguas o para proporcionar un nombre más descriptivo en los resultados de una consulta.) de campo y dos puntos (:) en lugar del signo igual (=). Para usar el ejemplo anterior, debe escribir lo siguiente en la fila Campo de la cuadrícula de diseño de consulta:

Idioma: Silnm([RegiónPaís]="Italia", "Italiano", "Otro idioma")

En este caso, "Idioma:" es el alias de campo.

Para más información sobre cómo crear consultas y campos calculados, vea el artículo Selección de datos mediante una consulta.

Usar Silnm en código VBA    

 Nota   Los ejemplos que vienen a continuación demuestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener información acerca de cómo trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto a Buscar y escriba uno o más términos en el cuadro de búsquedas.

En este ejemplo se utiliza SiInm para evaluar el parámetro TestMe del procedimiento CheckIt y se devuelve la palabra "Large" si la cantidad es mayor que 1000; en caso contrario, se devuelve la palabra "Small".

Function CheckIt (TestMe As Integer)
    CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

      

Más ejemplos

Expresión Resultados
=Silnm([Código de aeropuerto]="ORD","Chicago",Silnm([Código de aeropuerto]="ATL","Atlanta",Silnm([Código de aeropuerto]="SEA","Seattle","Otro"))) Si [Código de aeropuerto] es "ORD", devuelve "Chicago". O bien, si [Código de aeropuerto] es "ATL", devuelve "Atlanta". O bien, si [Código de aeropuerto] es "SEA", devuelve "Seattle". En caso contrario, devuelve "Otro".
=Silnm([Fecha de envío]<Fecha(),"Enviado",Silnm([Fecha de envío]=Fecha(),"Envío hoy","No enviado")) Si [Fecha de envío] es anterior a la fecha de hoy, devuelve "Enviado". O bien, si [Fecha de envío] es igual a la fecha de hoy, devuelve "Envío hoy". En caso contrario, devuelve "No enviado".
=Silnm([Fecha de compra]<#1/1/2008#,"Antiguo","Nuevo") Si [Fecha de compra] es anterior al 1/1/2008, devuelve "Antiguo". En caso contrario, devuelve "Nuevo".
=Silnm(Eval([Voltios] Entre 12 y 15 y [Amperios] entre 0,25 y 0,3),"Correcto","Fuera de calibración") Si [Voltios] está entre 12 y 15 y [Amperios] está entre 0,25 y 0,3, devuelve "Correcto". En caso contrario, devuelve "Fuera de calibración".
=Silnm(Eval([RegiónPaís] En ("Canadá","EE. UU.","México")),"Norteamérica","Otro") Si [RegiónPaís] es "Canadá", "EE. UU." o "México", devuelve "Norteamérica". En caso contrario, devuelve "Otro".
=Silnm([Promedio]>=90,"A",Silnm([Promedio]>=80,"B",Silnm([Promedio]>=70,"C",Silnm([Promedio]>=60,"D","F")))) Si [Promedio] es 90 o superior, devuelve "A". O bien, si [Promedio] es 80 o superior, devuelve "B". O bien, si [Promedio] es 70 o superior, devuelve "C". O bien, si [Promedio] es 60 o superior, devuelve "D". En caso contrario, devuelve "F".

 Nota   Si usa la función Silnm para crear un campo calculado en una consulta, reemplace el signo igual (=) con un alias (alias (SQL): nombre alternativo para una tabla o campo en expresiones. Los alias se utilizan a menudo para acortar el nombre de una tabla o de un campo para referencias posteriores en el código, a fin de evitar posibles referencias ambiguas o para proporcionar un nombre más descriptivo en los resultados de una consulta.) de campo y dos puntos (:). Por ejemplo, Estado: Silnm([Fecha de envío]<Fecha(),"Enviado",Silnm([Fecha de envío]=Fecha(),"Envío hoy","No enviado"))

 
 
Corresponde a:
Access 2013, Access 2010, Access 2007