Access - Función Si(y , si(o en access

 
Vista:

Función Si(y , si(o en access

Publicado por Luisa Palacios (1 intervención) el 19/07/2017 18:21:18
Buenos dias,

tengo esta formula en excel que contiene los condicionales si(y y si(o.
como puedo pasar la formula a access?

=SI(AA131=Y131,SI(Y(Z131=$D$8,X131=$D$8),M131-I131+1,SI(Y(X131=$D$8,Z131>X131),K131,SI(Y(X131<$D$8,Z131=$D$8),N131,SI(Y(X131<$D$8,Z131>$D$8),30,SI(O(M131="",M131=0),SI(X131=$D$8,K131,SI(X131<$D$8,30,0)),0))))),SI(Y(Y131+1=AA131,AA131=$D$9),SI(Z131=$D$8,N131,SI(Z131>$D$8,30,SI(Z131=0,30,0))),SI(Y(Y131+1=AA131,Y131=$D$9),SI(X131=$D$8,K131,SI(X131<$D$8,30,0)))))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Función Si(y , si(o en access

Publicado por Anonimo (3316 intervenciones) el 19/07/2017 21:43:45
En Access la funcion ¿equivalente? (dejando a un lado el clasico IF-Then-Else de toda la vida) es la funcion IIF que se compone de tres parametros.

El primero la condicion, el segundo la respuesta acertada y el tercero la alternativa.

Se pueden encadenar varios (esto es añadir otro IIF en lugar del segundo y/o tercer parametro) hasta un cierto limite que depede de la version de Access.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función Si(y , si(o en access

Publicado por jose (830 intervenciones) el 22/07/2017 19:38:29
'luisa , abundando en lo expuesto por anonimo decirte que ese anidamiento de if es insufrible, dificil de eler y de entender , por eso 'access y la mayoria de los lenfuajes de programación tienen funciones mas bonitas que te ayudan a ttomar una decision egun cual 'sea el resultasdo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'ejemplo  :
if  x=a  then
 
        else
                 if  p=e then
                       else
                 end if
 
end if
 
'otra funcion que ayuda mucho a resolver estas cuestiones  es case;
 
 
'ejemplo:
 
select case   x
 
    case = 1
    case=2
    case >8
 
end select
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función Si(y , si(o en access

Publicado por Anonimo (3316 intervenciones) el 22/07/2017 20:52:58
Estetica aparte, la funcion IIF en comparacion con las alternativas, tiene la ventaja de que 'en si misma' es una funcion y como tal funcion no se precisa acudir a VBA.

Para alguien que pretende una conversion sin meterse en mas lios y siendo su origen Excel .... es mas amable (y tan insufrible o confusa como lo es su origen equivalente en Excel).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Oscar Pérez
Val: 198
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Función Si(y , si(o en access

Publicado por Oscar Pérez (80 intervenciones) el 24/08/2017 13:10:10
Buenas!

¿Has probado de hacer un reemplazar de "SI" por "IIF"? jajajaja Osea, cambia todos los "SI" por "IFF" XD

con SI(Y -> Es verdadero si se cumplen todas las condiciones, así que es lo mismo que un AND

SI(Y(Z131=$D$8,X131=$D$8) quedaría: IFF(Z131=$D$8 AND X131=$D$8).......

Y cuando sea SI(O -> Es verdadero cuando se cumple una de las condiciones, así que es lo mismo que un OR

SI(O(M131="",M131=0) quedaría: IFF(M131="" OR M131=0)....

Hoy estoy de buen humor así que aquí tienes la conversión XD

---------------------------

=IIF(AA131=Y131,IIF(Z131=$D$8 AND X131=$D$8,M131-I131+1,IIF(X131=$D$8 AND Z131>X131,K131,IIF(X131<$D$8 AND Z131=$D$8,N131,IIF(X131<$D$8 AND Z131>$D$8,30,IIF(M131="" OR M131=0,IIF(X131=$D$8,K131,IIF(X131<$D$8,30,0)),0))))),IIF(Y131+1=AA131 AND AA131=$D$9,IIF(Z131=$D$8,N131,IIF(Z131>$D$8,30,IIF(Z131=0,30,0))),IIF(Y131+1=AA131 AND Y131=$D$9,IIF(X131=$D$8,K131,IIF(X131<$D$8,30,0)))))

Saludos!
Óscar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Oscar Pérez
Val: 198
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Función Si(y , si(o en access

Publicado por Oscar Pérez (80 intervenciones) el 24/08/2017 14:21:26
Rebuenas!

Puntualizando creo que si vas a utilizarlo en una consulta no es IIF (que es en VBA) sino Siinm. Aunque creo que el propio access lo convierte automáticamente...

Saludos!
Óscar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar