Dudas con función SiInm en Access 2007

Tengo una nueva duda con la función SIinm, la cual es la siguiente:

En un cuadro de texto coloco la siguiente ecuación:
=SiInm([cmb_part_type] Como "[Capacitor]*",2.718^((-[Activation_Energy_Operating].[Valor]/0.00008617)*((1/([combTAE].[Valor]+273)))-1/298))
Duda
Supongamos que esta ecuación no sea solo para capacitores, que funcione también para diode,
Sería la siguiente expresión, ¿la forma correcta?
=SiInm([cmb_part_type] Como "[Capacitor-Diode]*",2.718^((-[Activation_Energy_Operating].[Valor]/0.00008617)*((1/([combTAE].[Valor]+273)))-1/298))

Aparentemente funciona bien, pero me genera resultados erróneos cuando la modifico un poco para otros casos e intento añadirle otros valores, por ejemplo:

=SiInm([cmb_part_type] Como "[Capacitor-Diode-Transistor-Thyristor-Transformer]*",2.718^((-[Activation_Energy_Operating].[Valor]/0.00008617)*((1/([combTAE].[Valor]+273)))-1/298))

Respuesta
1

Si quieres que contemple los dos casos (capacitor o diode) deberás construir la condición con un OR

<p class="scayt-misspell" data-scayt_word="Capacitor-Diode" data-scaytid="44">[cmb_part_type] Like "Capacitor*" OR [cmb_part_type] Like "Diode*"

Asumo que pones el comodín (*) porque el nombre que hay en [cmb_part_type] no coincide exactamente con Capacitor, Diode, etc., sino que puede ser del tipo CapacitorA, CapacitorM125, ...

Si coincidiera exactamente, tendrías una opción más sencilla, usando IN en lugar de LIKE:

[cmb_part_type] IN ("Capacitor", "Diode*")

Hola amteipel,

Muchísimas gracias por tu ayuda y perdona mi ignorancia, he intentado usar lo que me dices de la siguiente forma:

=<p class="scayt-misspell"
data-scayt_word="Capacitor-Diode"
data-scaytid="44">[cmb_part_type] Like "Capacitor*" OR
[cmb_part_type] Like "Diode*",(2.718^((-[Activation_Energy_Operating].[Valor]/0.00008617)*((1/([combTAE].[Valor]+273))-1/298))))

Y me ha producido dos errores:

1)Simplemente no me deja guardar la función, me habla del error de las comillas y

cuando he eliminado los paréntesis sobrantes, me muestra el siguiente error:

2) en la casilla donde debe mostrar el resultado me pone la palabra ¿#nombre?

Pregunta adicional.

En caso que una ecuación tenga al menos 5 o 6 casos, podría usar esa misma función, pero haciendo las modificaciones de nombres y valores, es decir:

<p class="scayt-misspell" data-scayt_word="Capacitor-Diode-Resistor-Thyristor-Transformer-Inductor"
data-scaytid="44">[cmb_part_type] Like "Capacitor*" OR
[cmb_part_type] Like "Diode*" OR
[cmb_part_type] Like "Resistor*" OR
[cmb_part_type] Like "Thyristor*" OR
[cmb_part_type] Like "Transformer*" OR
[cmb_part_type] Like "Inductor*"OR

,(2.718^((-[Activation_Energy_Operating].[Valor]/0.00008617)*((1/([combTAE].[Valor]+273))-1/298))))

Muchísimas gracias por tu ayuda.

Saludos

Héctor.

Buuuuuuf veo que el editor me ha jugado una mala pasada... y ha añadido códigos extraños...

Si has copiado lo que te puse, tal cual, no me extraña que no funcione.

La opción con LIKE es simplemente:

[cmb_part_type] Like "Capacitor*" OR [cmb_part_type] Like "Diode*"

La opción con IN es:<br class="scayt-misspell" data-scayt_word="pción" data-scaytid="36" />[cmb_part_type] IN ("Capacitor", "Diode*")

Hola Amteipei,

Perdona, pero sigo con el error, pensé que era cuestión de versiones de Access, pero no, lo he corregido al Español y nada, luego me seguía dando el error de las comillas en los textos, tampoco, pensé que podía ser por los paréntesis, como el caso de ayer, pero no, lo he puesto bien, sin errores en los paréntesis y demás cosas y nada, esto es lo que metí en el generador de expresiones:

=[cmb_part_type] Como "Capacitor*" O [cmb_part_type] Como "Diode*",(2.718^ ((-[Activation_Energy_Operating].[Valor]/0.00008617)*((1/([combTAE].[Valor]+273))-1/298)))

Error:

La sintaxis de la expresión que ha especificado no es válida o debe encerrar entre comillas los cuadros de texto....


Tienes idea de lo que puede ser?

Muchísimas gracias por tu ayuda...

Héctor

Jajaja, veo que otra vez me ha añadido "regalitos" el editor...

Bueno, en cuanto a tu fórmula, está mal porque ya no usas la función SiInm (fíjate que ha desaparecido de tu fórmula). Por otra parte, cuando la vuelvas a poner, recuerda que necesita 3 parámetros:

- Condición (la tienes)

- Valor cuando verdadero (lo tienes)

- Valor cuando falso (no está!)

Hola Amteipei,

la condición cuando es falso es la siguiente:

Duda en esta expresión!!
Para todos los elementos restantes ( o valor cuando es falsa la condición anterior), la ecuación sería la siguiente:<br class="scayt-misspell" data-scayt_word="Inductors" data-scaytid="6" />=[cmb_part_type] Como "Inductor*" O [cmb_part_type] Como "Transformer*" O [cmb_part_type] Como "Optoelectronics*",O [cmb_part_type] Como "Switch*",((2.718^((-
[Activation_Energy_Non_Operating]
.[Valor]/0.00008617)*((1/([combTAE].[Valor]+273)))-1/298))

Aunque aquí no me queda claro la cantidad de "O" que puedo usar, es decir, la cantidad de elementos que puedo unir mediante esta función!!!... Sería correcto usarlo de esa manera???... No se podría crear solo una ecuación que fuese algo así;

=[cmb_part_type] No como "*Capacitor*" O [cmb_part_type] No como "*Diode*",(([2.718^((-
[Activation_Energy_Non_Operating]
.[Valor]/0.00008617)*((1/([combTAE].[Valor]+273)))-1/298))

Muchísimas gracias por tu ayuda perdona las molestias!

Saludos

Héctor

Tío, me estoy perdiendo... !

:-P

O no te sigo o te estás liando (o me estás liando, jajaja).

Si usas SiInm, pones 3 parámetros: la condición, el valor si la condición se cumple, el valor en caso contrario.

Si estas diciendo que cuando sea Capacitor o Diode haga una cosa, no hace falta repetir la condición para cuando no se cumple.

Es decir (te lo pongo textual y sin los cálculos, para que sea legible):

=SiInm(<es un diode o capacitor>, <calculo1>, <calculo2>)

<es un diode o capacitor> es la condición que hemos estado comentando antes:

[cmb_part_type] como "*Capacitor*" O [cmb_part_type] como "*Diode*"

<calculo1> Y <calculo2> son las fórmulas

GENIAL tío!!!... ya lo pillo, madre mía que lio tenia en la cabeza, me estaba volviendo loco con estas funciones, pero ya lo entendí...Gracias Amtempei, lo pruebo y te comento...

Saludos y nuevamente millones de gracias !

Héc...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas