Access - Funcion Si en generador de expresiones.

 
Vista:

Funcion Si en generador de expresiones.

Publicado por Jesus Ricarte (14 intervenciones) el 12/03/2012 09:41:36
Hola a todos-as...
¿como es la funcion Si en el generador de expresiones?..
Me explico.. quiero en una consulta que si un determinado campo no existe entonces un campo tenga el valor de campo1 + campo 2 y si ese determinado campo existe sea el valor campo3.
Gracias.
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
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Funcion Si en generador de expresiones.

Publicado por Neckkito (1157 intervenciones) el 12/03/2012 10:26:30
Hola!

Entiendo que, cuando dices "un campo existe", te refieres a que contenga valor. Partiendo de esa base supongamos:

- Que el campo que se debe examinar se llama [CampoX]
- Que el resto de campos se llaman como tú indicas en la consulta.

La función Iif (SiInm en español) funciona, en una consulta, así:

Iif(<condicion>;<valor_si_verdadero>;<valor_si_falso>)

Luego, por ejemplo, si no hay valor en [CampoX] la expresión te quedaría:

Iif(isnull([CampoX]);[campo1]+[campo2];[campo3])

A ver si con eso te funciona.

Un saludo,

Neckkito (... http://neckkito.eu5.org ...)
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

Funcion Si en generador de expresiones.

Publicado por Jesus Ricarte (14 intervenciones) el 12/03/2012 11:03:26
me funciona cuando si se cumple la condicion... cuando no se cumple no me pone nada...
Expr1: SiInm(EsVacío([MATERIALES_TABLA].[Material_precio]);"hola";[MATERIALES_TABLA].[Material_precio]) ¿que puede ocurrir?
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

Funcion Si en generador de expresiones.

Publicado por Jesus Ricarte (14 intervenciones) el 12/03/2012 11:23:04
Perdon queria decir que si funciona cuando no es cierto es decir no me coloca el hola.
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 Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Funcion Si en generador de expresiones.

Publicado por Neckkito (1157 intervenciones) el 12/03/2012 11:26:19
Hola!

No te funciona (supongo) porque no estás utiliznado la función (dentro del Iif) que yo te he indicado.

Yo te he puesto "isNull", no te he puesto "isEmpty"

Cámbiala y lo pruebas de nuevo.

Un saludo,

Neckkito
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

Funcion Si en generador de expresiones.

Publicado por Jesus Ricarte (14 intervenciones) el 12/03/2012 11:56:41
efectivamente... ya funciona... muchisimas gracias...
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

Funcion Si en generador de expresiones.

Publicado por Gerardo Ernesto (1 intervención) el 31/05/2013 03:17:58
en esta expresión tengo problemas al querer cambiar las constantes:

=Suma(SiInm([ClaseCoches]="Caio",0,3358,0,4057)*[DistDiaria])*Formularios![Form Control de Boletos]!CostoGasOil+SiInm(IsError([Subinf diario].Informe![Total km_res]),0,[Subinf diario].Informe![Total km_res])*0,3358*Formularios![Form Control de Boletos]!CostoGasOil

por ejemplo quiero cambiar 0,4057 por 0,6057 y me sale "introdujo número no válido". Supongo que no interpreta cuál coma (,) es el separador de la expresión y cuál es la coma decimal. En Access 98 el separador era el ; y en Access 2003 lo es la ,
Probé encerrando las constantes entre paréntesis, llaves y corchetes o cambiando la coma decimal por el punto decimal, pero no me acepta.
Alguien sabe cómo solucionar?
Gracias...
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

Funcion Si en generador de expresiones.

Publicado por Alberto (2 intervenciones) el 02/10/2013 19:11:04
Creo que en el sí no ha puesto el punto y coma como separadores de los 3 argumentos:
SiInm(argumento1;argumento2;argumento3)
Como el programa reserva la coma para decimales, dice que un número tiene 4 comas... por eso le parece ilógico.
Saludos.-
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

Funcion Si en generador de expresiones.

Publicado por xthanatos (1 intervención) el 24/10/2014 00:38:23
Buenas a todos por lo visto conocen del tema escribo por lo siguiente tengo una funcion si en excel que quiero implementar en acces mas en todos los intentos que he intentado me da error asi que agradeceria la ayuda que me pudieran brindar. la fuincion en excel es esta
=Si(esblanco(a1);"no aplica";si(a1=b1;"Cumple";si(a1>b1;"despues";"Antes")))
en si lo que quiero lograr es que compare la columna 1 con la 2 y deoendiendo me diga si cumple es antes o despues y si no tiene ningun valor no lo tome en cuenta
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