FoxPro/Visual FoxPro - Problema con campos NULL

   
Vista:

Problema con campos NULL

Publicado por Alicia M (9 intervenciones) el 24/10/2007 01:59:52
Hola a todos, espero que alguien pueda ayudarme...

Tengo el siguiente SELECT donde creo el cursor LISTA.

SELE NOMINA1.CVECTE, CATCTE.NOMCTE;
FROM NOMINA1;
LEFT JOIN CATCTE ON NOMINA1.CVECTE=CATCTE.CVECTE;
INTO CURSOR LISTA

Y después creo otro cursor LISTA2 en donde sólo contiene lo que cumpla la condición:

SELE LISTA2
APPEND FROM DBF("LISTA") FOR cVALOR $ UPPER(NOMCTE)

El problema está en que el cursor LISTA en el campo NOMCTE trae valores nulos, y VFP me envia el error “La expresión FOR debe ser una expresión logica”

Ya intenté cambiar el valor nulo por espacios en blanco con la instrucción:

REPL NOMCTE ALL FOR ISNULL(NOMCTE) IN LISTA

Pero VFP me envia otro error, “No se puede actualizar el cursor”.

Pregunta: ¿Cómo puedo hacer para cambiar el valor nulo por espacios? o ¿Cómo puedo hacer la pregunta del FOR de tal manera que sea valida a pesar los valores nulos?.

Talvez se les ocurra que desde el SELECT haga la pregunta del cVALOR $ UPPER(NOMCTE); pero el problema es que las instrucciones del SELECT y el APPEND están ubicadas en 3 formularios diferentes los cuales son reutilizados por una veintena de formularios más y no puedo unirlos (por aquello de la POO).

De antemano muchas gracias.

Trabajo con VFP 5.0
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

RE:Problema con campos NULL

Publicado por enrique (1041 intervenciones) el 24/10/2007 13:48:03
Proba con lo siguiente en el primer cursor

SELE NOMINA1.CVECTE, ;
IIF(ISNULL(CATCTE.NOMCTE),SPACE(ancho_del_campo),CATCTE.NOMCTE);
FROM NOMINA1;
LEFT JOIN CATCTE ON NOMINA1.CVECTE=CATCTE.CVECTE;
INTO CURSOR LISTA
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

RE:Problema con campos NULL

Publicado por Alicia M (9 intervenciones) el 24/10/2007 17:42:13
¡Perfecto!...Muchas 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

RE:Problema con campos NULL

Publicado por Carlos Cuyé (75 intervenciones) el 29/10/2007 22:48:18
Hola Alicia M!

Yo también trabajo con VFP 5.0.
Hice un ejemplo parecido al tuyo en VFP 5.0 y lo resolví con el siguiente comando :

APPEND FROM DBF("LISTA") FOR .NOT.ISNULL(NOMCTE) .AND. cVALOR $ UPPER(NOMCTE)

o sino, como "!" se evalúa como ".NOT." también podés usar la siguiente sintaxis

APPEND FROM DBF("LISTA") FOR !ISNULL(NOMCTE) .AND. cVALOR $ UPPER(NOMCTE)

La función ISNULL te devuelve verdadero cuando la expresión es un valor nulo.

Avisame si te sirvió.

Suerte!
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