FoxPro/Visual FoxPro - Registros vacíos

 
Vista:

Registros vacíos

Publicado por Jorge Enrique Arango (106 intervenciones) el 27/11/2003 01:23:36
Hola amigos, saludos desde Pereira-Colombia.

¿Cómo hago para determinar sin registro está totalmente vacío sin necesidad de verificar cada campo con empty()?
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:Registros vacíos

Publicado por Javier Albornoz (4 intervenciones) el 27/11/2003 04:46:32
Hola, quiza te ayude un ciclo for.
SELECT TUTABLA
lVacio = .T.
FOR nI = 1 TO FCount()
____cCampo = FieldName( nI )
____IF ! Empty ( &cCampo )
______lVacio = .F.
______EXIT
____ENDIF
NEXT

IF ( lVacio )
____
ELSE
____
ENDIF

* Podes hacer una funcion si se trata de controlar registros vacios de
* diferentes tablas. Algo asi como : FUNCTION lRegVacio( cAlias )

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

RE:Registros vacíos

Publicado por Jorge Enrique Arango (106 intervenciones) el 29/11/2003 03:56:02
Hola Javier, efectivamente tu sugerencia funcionó. Creé un método nuevo y puse el sigueinte código:

parameters tabla

*!* Este método trabaja de la siguiente manera:
*!*
*!* Primero, determino cuántos campos tiene la tabla en análisis.
*!* segundo, hago un barrido desde el primero hasta el último registro
*!* si el primer campo es no vacío, se suspende la búsqueda para ese
*!* registro y se pasa al siguiente; en caso de ser vacío se analiza el
*!* campo siguiente y así sucesivamente.
*!*
*!* El método es bastante rápido, pues con sólo encontrar un campo con
*!* información se pasa al siguiente registro.

num_campos=afields(borrar)
go top
do while .not. eof()
vac="N"
for i = 1 to num_campos
cam=field(i)
if empty(&cam)
vac="S"
else
vac="N"
exit
endif
endfor
if vac="S"
delete
endif
skip
enddo
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