FoxPro/Visual FoxPro - recorrer tabla

 
Vista:

recorrer tabla

Publicado por alejo (53 intervenciones) el 11/02/2008 17:45:19
tengo un bucle for para recorrer una tabla para eliminar unos registros , pero no lo hace, no elimina los registros
quisiera que me ayudaran este es el codigo:
FOR CNT = 1 TO deuda.codigo
IF deuda.codigo = ccodigo
DELETE FOR deuda.codigo = ccodigo
ENDIF
ENDFOR
saludos y gracias de antemano.
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:recorrer tabla

Publicado por Yoel (60 intervenciones) el 11/02/2008 22:00:15
Holas
Creo ke te falta un Skip, prueba esto y luego me comentas:
Select Tu_Tabla
Go Bottom
FOR CNT = 1 TO deuda.codigo
IF deuda.codigo = ccodigo
DELETE FOR deuda.codigo = ccodigo
ENDIF
Skip 1
ENDFOR
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:recorrer tabla

Publicado por alejo (53 intervenciones) el 11/02/2008 22:12:14
pero skip no se usa cuando es DO WHILE?
esta bien lo probare, y te comentare.

el asunto es que en la tabla articulos tengo repetido el articulo 01 varias veces y debo recorrer el archivo de manera que el puntero busque exactamente esos registros y los marque para eliminar sin tocar los demas, si deseara eliminar otros tendria que indicarselo.

saludos.
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:recorrer tabla

Publicado por enrique (1041 intervenciones) el 11/02/2008 22:49:36
cuando pones

DELETE for TU_TABLA.TU_CAMPO = TU_VARIABLE

te borra todos los registros que cumplan la condicion (no es necesario recorrerlo uno por uno) y el puntero queda al final de tu tabla.

Por otro lado tu dices que tienes el articulo 01, lo que se interpretaria como que es un campo tipo character.
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:recorrer tabla

Publicado por alejo (53 intervenciones) el 12/02/2008 13:31:48
el problema sigue lo hice tal cual ustedes me indican, y ahora aparece el siguiente error:CONFLICTO DE ACTUALIZACION.
NO SE QUE PASA.
SALUDOS
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:recorrer tabla

Publicado por enrique (1041 intervenciones) el 12/02/2008 17:44:54
Yoel
1.- te marco para eliminar los registros?
2.- el error que te aparece es en la linea de DELETE?
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:recorrer tabla

Publicado por alejo (53 intervenciones) el 12/02/2008 18:13:23
sí, el error aparece en la linea DELETE
saludos
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:recorrer tabla

Publicado por Francisco lopez (8 intervenciones) el 13/02/2008 03:50:12
Prueba con lo siguiente
debes de tener un indice por el codigo que vas a borrar

select tuTabla
set order to codigo
=Seek(mcodigo)

mPrimero = .T.

Do while !Eof() And TuTabla.Codigo = mCodigo
If mPrimero = .T.
** esto es para que te deje un codigo y los repetidos te lo borre
mprimero = .F.

Else
delete
skip
EndIf

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

RE:recorrer tabla (SOLUCION)

Publicado por alejo (53 intervenciones) el 14/02/2008 16:22:42
solucioné el problema, solo hice algo muy sencillo; en vez de borrar el registro solicitado, sencillamente lo que hice fue darle un UPDATE en el monto del articulo y le coloque cero al monto, y en otro formulario con una rutina o codigo le doy mantenimiento es decir le doy un tratamiento con DELETE para eliminarlos.

LA LOOOOOOGIIIIIIIIIIIIIIIIIIIIIICA, HERMANO, DEBEMOS UTILIZARLA
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:recorrer tabla

Publicado por Alvaro (3 intervenciones) el 10/11/2008 00:50:38
cuando ejecuto el codigo borra todo lo que encuentra es decir todos los mCodigo
no deja uno como menciona el programa, y ademas no entiendo que es .T.
.F.
Agradeceria mucho que se me responda
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:recorrer tabla

Publicado por Leandro (1 intervención) el 26/11/2008 17:29:28
el simbolo .T. significa TRUE y .F. FALSE, se utilizan para comparar datos logicos
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