Discussion:
Incluir un IF en una instruccion SQL
(demasiado antiguo para responder)
C.A. CHIRIVI
2005-04-17 17:45:02 UTC
Permalink
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Emilio
2005-04-17 17:59:28 UTC
Permalink
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola !
Un if no podrás pero si un IIF (mira la ayuda para mas datos)
podrías poner como algo así como Cuota:IIF(Plazos=0;0;Importe/Plazos)

Saludos a ***@s desde Huelva
Emilio
miliuco56 ALGARROBA hotmail.com

http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

Reglas de conducta de los grupos de noticias:
http://support.microsoft.com/default.aspx?scid=fh;ES-ES;newsreglas
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Victor Delgadillo
2005-04-17 18:02:31 UTC
Permalink
No, pero puedes usar la funcion Nz([campo], 0) el cual si el campo es nulo
suple un cero como valor.
--
Victor Delgadillo MS-MVP Access 2002-2005
Miami, Florida

Mensajes a los grupos de noticas -- asi todos nos beneficiamos
Responde a este mensaje si te ha servido o no el consejo...

¿Quieres saber que es un MVP?
http://mvp.support.microsoft.com/
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Eduardo Olaz
2005-04-17 18:14:20 UTC
Permalink
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor

SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;

Saludos desde la calle Estafeta de Pamplona:

Eduardo Olaz
Microsoft [MVP] Access

eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Ju@nK
2005-04-17 18:31:43 UTC
Permalink
"Taspasao" Eduardo,

si verificas que el divisor no sea nulo ni cero

IIf(nz([Divisor],0)=0,0

resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que nunca
será nulo en

,nz([Dividendo],0)/nz([Divisor],0))

Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que sirva
de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.

Salu2
***@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com/***@nk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Eduardo Olaz
2005-04-17 19:51:09 UTC
Permalink
Xacto

Yo por si acaso

A veces hay bruxas hasta en Access ... ; ))

Saludos desde la calle Estafeta de Pamplona:

Eduardo Olaz
Microsoft [MVP] Access

eduardoALGARROBAolaz.net
Post by ***@nK
"Taspasao" Eduardo,
si verificas que el divisor no sea nulo ni cero
IIf(nz([Divisor],0)=0,0
resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que nunca
será nulo en
,nz([Dividendo],0)/nz([Divisor],0))
Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que sirva
de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Eva Etxebeste
2005-04-18 10:43:59 UTC
Permalink
Oye guapo, que yo no he dicho ná!!!!!!!!!!!!!


Post by Eduardo Olaz
Xacto
Yo por si acaso
A veces hay bruxas hasta en Access ... ; ))
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by ***@nK
"Taspasao" Eduardo,
si verificas que el divisor no sea nulo ni cero
IIf(nz([Divisor],0)=0,0
resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que nunca
será nulo en
,nz([Dividendo],0)/nz([Divisor],0))
Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que
sirva de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Eduardo Olaz
2005-04-18 14:06:31 UTC
Permalink
¿Te das por aludida?

Un beso desde la calle Estafeta de Pamplona:

Eduardo Olaz
Microsoft [MVP] Access

eduardoALGARROBAolaz.net
Post by Eva Etxebeste
Oye guapo, que yo no he dicho ná!!!!!!!!!!!!!

Post by Eduardo Olaz
Xacto
Yo por si acaso
A veces hay bruxas hasta en Access ... ; ))
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by ***@nK
"Taspasao" Eduardo,
si verificas que el divisor no sea nulo ni cero
IIf(nz([Divisor],0)=0,0
resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que
nunca será nulo en
,nz([Dividendo],0)/nz([Divisor],0))
Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que
sirva de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Ju@nK
2005-04-18 14:11:38 UTC
Permalink
No, si ya decía yo ...
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.

Salu2
***@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com/***@nk
****************************************
Post by Eduardo Olaz
¿Te das por aludida?
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by Eva Etxebeste
Oye guapo, que yo no he dicho ná!!!!!!!!!!!!!

Post by Eduardo Olaz
Xacto
Yo por si acaso
A veces hay bruxas hasta en Access ... ; ))
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by ***@nK
"Taspasao" Eduardo,
si verificas que el divisor no sea nulo ni cero
IIf(nz([Divisor],0)=0,0
resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que
nunca será nulo en
,nz([Dividendo],0)/nz([Divisor],0))
Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que
sirva de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Eva Etxebeste
2005-04-18 19:18:40 UTC
Permalink
Y se pué saber qué decía usté??? Por curiosidad no más....

....

(y una ful!!!!! pa banearte bien baneao) ;)
Post by ***@nK
No, si ya decía yo ...
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
¿Te das por aludida?
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by Eva Etxebeste
Oye guapo, que yo no he dicho ná!!!!!!!!!!!!!

Post by Eduardo Olaz
Xacto
Yo por si acaso
A veces hay bruxas hasta en Access ... ; ))
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by ***@nK
"Taspasao" Eduardo,
si verificas que el divisor no sea nulo ni cero
IIf(nz([Divisor],0)=0,0
resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que
nunca será nulo en
,nz([Dividendo],0)/nz([Divisor],0))
Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que
sirva de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Ju@nK
2005-04-19 23:18:46 UTC
Permalink
"Que haberlas hailas ... ", ya se sabe, es cosa de "Meigas" (aunque no sean
Gallegas) ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.

Salu2
***@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com/***@nk
****************************************
Post by Eva Etxebeste
Y se pué saber qué decía usté??? Por curiosidad no más....
....
(y una ful!!!!! pa banearte bien baneao) ;)
Post by ***@nK
No, si ya decía yo ...
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
¿Te das por aludida?
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by Eva Etxebeste
Oye guapo, que yo no he dicho ná!!!!!!!!!!!!!

Post by Eduardo Olaz
Xacto
Yo por si acaso
A veces hay bruxas hasta en Access ... ; ))
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by ***@nK
"Taspasao" Eduardo,
si verificas que el divisor no sea nulo ni cero
IIf(nz([Divisor],0)=0,0
resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que
nunca será nulo en
,nz([Dividendo],0)/nz([Divisor],0))
Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que
sirva de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Eva Etxebeste
2005-04-20 18:45:08 UTC
Permalink
date por baneao!!!!


Post by ***@nK
"Que haberlas hailas ... ", ya se sabe, es cosa de "Meigas" (aunque no
sean Gallegas) ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eva Etxebeste
Y se pué saber qué decía usté??? Por curiosidad no más....
....
(y una ful!!!!! pa banearte bien baneao) ;)
Post by ***@nK
No, si ya decía yo ...
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
¿Te das por aludida?
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by Eva Etxebeste
Oye guapo, que yo no he dicho ná!!!!!!!!!!!!!

Post by Eduardo Olaz
Xacto
Yo por si acaso
A veces hay bruxas hasta en Access ... ; ))
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by ***@nK
"Taspasao" Eduardo,
si verificas que el divisor no sea nulo ni cero
IIf(nz([Divisor],0)=0,0
resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que
nunca será nulo en
,nz([Dividendo],0)/nz([Divisor],0))
Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que
sirva de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Eva Etxebeste
2005-04-18 19:17:59 UTC
Permalink
Ayyyy, alma cántaro....
Post by Eduardo Olaz
¿Te das por aludida?
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by Eva Etxebeste
Oye guapo, que yo no he dicho ná!!!!!!!!!!!!!

Post by Eduardo Olaz
Xacto
Yo por si acaso
A veces hay bruxas hasta en Access ... ; ))
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by ***@nK
"Taspasao" Eduardo,
si verificas que el divisor no sea nulo ni cero
IIf(nz([Divisor],0)=0,0
resolviendo con un 0 cuando lo sea, te sobra nz([Divisor],0) ya que
nunca será nulo en
,nz([Dividendo],0)/nz([Divisor],0))
Nota: solo es por corregir al Maestro Eduardo, por una vez y sin que
sirva de precedente. ;-)
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
Salu2
www.juank.tk
****************************************
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
C.A. CHIRIVI
2005-04-19 13:29:04 UTC
Permalink
Gracias Amigos por su colaboracion. Aunque todavia hay algo por resolver. La
parte "=0,0," me arroja el error "numero no valido". Ya probe con ";" y ":" y
sigue el error, que sucede?
Post by Eduardo Olaz
Suponiendo que tienes la tabla datos con los campos Dividendo y Divisor
SELECT Dividendo,
Divisor,
IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/nz([Divisor],0))
AS Resultado
FROM Datos;
Eduardo Olaz
Microsoft [MVP] Access
eduardoALGARROBAolaz.net
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
José Mª Fueyo
2005-04-19 15:58:41 UTC
Permalink
Hola
¿Probaste con "=0.0"?

Salu2
--
José Mª Fueyo
[MS MVP Access]
Ju@nK
2005-04-19 23:21:30 UTC
Permalink
¿Donde lo estás usando?

En una consulta, informe, form es:

=IIf(nz([Divisor];0)=0;0;nz([Dividendo];0)/[Divisor])

en código:

MiVariable = IIf(nz([Divisor],0)=0,0,nz([Dividendo],0)/[Divisor])
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.

Salu2
***@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com/***@nk
****************************************
Post by José Mª Fueyo
Hola
¿Probaste con "=0.0"?
Salu2
--
José Mª Fueyo
[MS MVP Access]
Eva Etxebeste
2005-04-18 10:45:36 UTC
Permalink
Y si estás atacando otro tipo de bases de datos que no sean las de Access,
por ejemplo SQL Server y utilizas Transact-SQL, puedes crear instrucciones
del tipo:

if <condición>
begin
end
else
begin
end

Un saludo

Eva Etxebeste
Post by C.A. CHIRIVI
Se puede incluir un condicional IF en una instruccion SQL?
Por ejemplo: si el resultado de un campo calculado es error (division por
cero), muestre cero como resultado.
Para Access 2003
Continúe leyendo en narkive:
Loading...