Programación General > Visual FoxPro
en lugar de iif un case
kaibaseto:
tengo un problema necesito usar un select case en vfp5 pero hasta ahora solo encontre un iif pero este no me ayuda mucho ya q necesito hacer multiples comparaciones de un campo alguna idea alguien me podria ayudar
tengo un campo de una tabla fox stkumid con valores string como 'caja96','unidad', 'galon' pero yo necesito poner 96,1,1
ayuda es para el trabajo snifffffffff me va a costar el puesto
andres24hs:
hola!!! amigo es tan urgente tu problema que no se entiende bien lo que necesitas, pero si no entendi mal yo probaría con if anidados
if condicion1
sentencia1
else
if condicion2
sentencia2
else
setencia3
endif
endif
suerte
SOFT_WMG:
UNO FACILITO DE LA SENTENCIA IF ES MAS FACIL Q EL CASE
ELIJE = TABLA.UNIDAD
xCAN = CANTIDAD
XUNIDAD =1 &&PREDETERMINADO COMO CONTRARIO
IF ELIJE = 'CAJA'
XUNIDAD = 96
ENDIF
IF ELIJE = 'UNIDAD'
XUNIDAD = 1
ENDIF
IF ELIJE = 'GALON'
XUNIDAD = 1
ENDIF
TOTAL = XCAN * XUNIDAD
BUENA SUERTE
-------------------------------------------------------------------
WALTER MATIAS GARCIA - PROGRAMADOR DE SISTEMAS
SOFT&WMG - THE SOFTWARE OF THE SYSTEM ENTREPRENEURIAL
3rn3st0:
Sólo debes usar la instrucción: DO CASE...ENDCASE
La manera de usarla es como sigue:
--- Código: Text ---DO CASE CASE Condicion = x ...Tu código para la condición x CASE Condicion = y ...Tu código para la condición y CASE Condicion = z ...Tu código para la condición z OTHERWISE ...Código para cualquiera otra condición o condiciones no previstasENDCASE
xodrf:
Existe una diferencia fundamental entre DO CASE y IF ENDIF y esta radica en el caso de seleccion multiple evalua en el orden que programaste y al entrar en un caso ya no se evalua las siguientes esto es:
DO CASE
CASE condicion1
...
CASE condicion2
...
CASE condicion3
...
OTHERWISE
...
ENDCASE
en el caso que condicion1sea falso evalua condicion2 y si este es verdadero ya no evalua la condicion3 ni OTHERWISE por cierto OTHERWISE se evalua como verdadera si ninguna de las condiciones anteriores fueron ciertas.
En Cambio para sentencias como las que sigue se evaluan todas sin excepción
IF condicion1
...
ENDIF
IF condicion2
...
ENDIF
IF condicion3
...
ENDIF
Funcion IIF()
lo unico que esta hace es devolvur UN VALOR DE ENTRE 2 POSIBLES si la condicion es verdadera devuelve el valor
que esta en IIF( , "VALOR A DEVOLVER EN CASO VERDADERO", ), de lo contrario devuelve el valor IIF(,, "EN CASO FALSO" )
valor=IIF( condicion, "SI condicion ES VERDADERA", "LA condicion ES FALSA" )
Obs: entiendase que (se evalua como cierta) quiere decir que se ejecuta las sentencias que estan entre ..., para recibir
mejor ayuda deberias postear un segmento de tu codigo y explicar que deberia hacer.
Espero haber ayudado!!
Navegación
[#] Página Siguiente
Ir a la versión completa