FoxPro/Visual FoxPro - replace

 
Vista:

replace

Publicado por sebastian (244 intervenciones) el 04/11/2009 17:25:44
Hola programadores necesito revisar en toda mi tabla el codigo del cliente, cuando lo encuentre en la condicion del la primera coincidencia debe ser "N" y el resto "C", pero no esta resultandome con esta linea de codigos que tengo....

select tabla1
scan
set order to codigo
seek codigo
if found()
replace condicion with "N"
else
replace condicion with "C"
endif
endscan
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:replace

Publicado por es_binario (757 intervenciones) el 04/11/2009 18:52:16
Lo mejor es usar instrucciones update

si es con todos los clientes seria algo asi

Update clientes set clientes.campo_con_letra = "C" ;
where condicion <> no se cumple
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:replace

Publicado por sebastian (244 intervenciones) el 04/11/2009 19:01:50
Gracias por contestar pero lo que necesito es cambiar cierta cantidad de registros por ejemplo tengo el codigo C001 donde este codigo ingreso 3 veces en el 2009 el primer registro encontrado deberia ponerse "N" la segunda y tercera aparicion seria "C".
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
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Replace

Publicado por Mauricio (1541 intervenciones) el 04/11/2009 20:35:10
Prueba este codigo:
select tabla1
set order to codigo
SCAN && barrido de tabla en orden de codigo
vcodigo = codigo && se almacena el codigo para el siguiente SCAN
REPLACE condicion WITH "N" && Sustituye la primera ocurrencia con "N"
SCAN WHILE codigo = vcodigo && Sigue barriendo la tabla para otras ocurrencias(puede ser 1,2,3 o mas) de igual codigo
REPLACE condicion WITH "C" && Sustituye las siguientes con "C"
ENDSCAN
SKIP -1 && Retrocede un registro para empezar el primer ciclo del SCAN
ENDSCAN
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:Replace

Publicado por sebastian (244 intervenciones) el 04/11/2009 21:15:41
Gracias por responder amigo pero cambio todos los registros con "C"
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