Como establecer una expresión "SI" en una consulta o subformulario

Los expertos

Estoy creando una DB en Acces 2010 y deseo hacer lo siguiente:

Tengo un subformulario basado en una consulta y quiero crear un criterio o una expresión para un campo del subformulario así:

SI el campo "Producto" es igual a "Voz", entonces en el campo "IVA" coloque 20% SI NO coloque 16%. En excel es algo muy sencillo. Pero acá en access no se como se haría. Este porcentaje lo uso para calcular otros campos y se requiere que tenga esos criterios

1) ¿Se debe crear en la consulta o en el subformulario?

2) ¿Cuál seria su sintaxis?

De antemano muchas gracias por su colaboración.

Un abrazo desde Colombia

Lucho

1 respuesta

Respuesta
1

Si quieres almacenar el valor en un campo no te conviene crear una campo calculado con una expresión Iif, porque al final tendrías que operar por código para llevarte el valor devuelto por esa expresión al campo correspondiente.

Es más práctico actuar con código directamente.

Saca las propiedades del campo [Producto] -> Pestaña Eventos -> Después de actualizar, y le generas este código:

...

Private Sub...

If isnull(me.[Producto].value) then exit sub

If me.[Producto].value="Voz then

me.IVA.value=0.2

Else

me.IVA.value=0.16

End if

End sub

...

Te he puesto 0.2 y 0.16 porque no se si es tu campo IVA el que da formato a los valores. Si no te funcionan el 0.2 y el 0.16 cámbialos por 20 y 16, o por los valores que sean los adecuados para mostrarte los porcentajes que quieres.

Ops... se me han colado unas comillas. La línea del segundo if debería ser:

If me.[Producto].value="Voz" then

¡Gracias! 

Ok, Neckkito, de nuevo muchas gracias por tu colaboración y paciencia. Seguí tus instrucciones al pie de la letra y aunque no me genera ningún error el campo IVA no muestra ningun resultado.

Opte por colocar la siguiente instrucción en el campo IVA de la consulta y así si funcionó:

IVA: SiInm([Producto]="voz",(0,2),(0,16))

No se si esto sea lo correcto.... tu opinaras por tu experiencia

un abrazo

Si te funciona, pues perfecto ;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas