FoxPro/Visual FoxPro - OPERADOR ...

 
Vista:

OPERADOR ...

Publicado por Juanma (503 intervenciones) el 17/05/2005 10:29:41
Hola ... ¿porque no me funciona el siguiente codigo?

**********************
IF COS#0 OR EMPTY(BAJ)

ENDIF
*********************

y por el contrario asi si me funciona ??

**********************
IF COS#0
IF EMPTY(BAJ)

ENDIF
ENDIF
**********************
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
sin imagen de perfil

RE:OPERADOR ...

Publicado por Manuel (344 intervenciones) el 17/05/2005 16:25:34
Aunque no dices cuál es el problema, se me ocurre que podría ser que en el primer caso no encuentra la variable BAJ.
Es posible que la variable BAJ se haya originado en una ocasión cuando se cumplía que COS#0.
Por ejemplo, mira el siguiente ejemplo:
X=AlgunaTabla.AlgunCampoFecha
IF X=DATE()
VIAJAR='SÍ'
ENDI
Y=X+3
Z=YEAR(X)-7
IF X=DATE() AND VIAJAR='SÍ'

ENDI

Observa la variable "VIAJAR". Llegó a existir sólo si "X=DATE()". Y si esa condición no se cumple, el penúltimo renglón dará error, porque la variable no existiría. Pero si se cumple, no dará problemas. A veces funcionará, y otras veces dará error. El problema no es el operador OR/AND, pues un IF dentro de otro IF es casi un "AND" no un "OR".
Si este es el caso, mira si inicializas las variables antes de las condiciones. En mi caso sería así:
VIAJAR='NO'
IF X=DATE()
VIAJAR='SÍ'
ENDI
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