Programación General > Visual FoxPro

 en lugar de iif un case

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa