FoxPro/Visual FoxPro - BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

 
Vista:
sin imagen de perfil
Val: 313
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

Publicado por Jose Francisco (166 intervenciones) el 14/09/2018 06:49:46
Estimados, tengo un grid con datos con los siguientes campos: ID, ESTADO, INTERVIN, NOMB_MASC etc
Cuando cambio las filas de estado "programado" a "libre" , (con un combobox) necesito grabar en blanco el "intervin" y el "nomb_masc".-( el combobox funciona perfecto)
Cuando realizo el cambio y grabo desde el botón grabar, me blaquea sólo los campos de la fila donde esta posicionado el cambio.
Y por ejemplo necesito cambiar en vez de 1 fila, 3 o más filas de estados intervin a " " todas las filas a la vez, que le cambio a estado "Libre" (presionando el botón grabar)
Programé el siguiente código n el botón grabar:
1
2
3
4
5
6
7
8
9
10
SELECT XPELU
DO WHILE NOT EOF()
SET FILTER TO estado == "Libre"
replace intervin WITH ""
replace nomb_masc WITH ""
SELECT XPELU
SKIP
LOOP
EXIT
ENDDO
Intenté programarlo con seek y scan pero no me funciona.-
Aguardo respuesta , gracias.-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Mauricio Antonio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

Publicado por Mauricio Antonio (1541 intervenciones) el 14/09/2018 14:05:23
SELECT XPELU
SET FILTER TO estado == "Libre"
go top
scan
........replace intervin WITH "", nomb_masc WITH ""
ENDDO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 313
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

Publicado por Jose Francisco (166 intervenciones) el 14/09/2018 17:28:23
Falta el do while ?,, Hayan un enddo debajo.
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
sin imagen de perfil
Val: 313
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

Publicado por Jose Francisco (166 intervenciones) el 14/09/2018 19:25:45
Hola, no falta el do while para el caso de blanquear en varias filas en campos a la vez si cambio varios estados a libre?
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 Antonio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

Publicado por Mauricio Antonio (1541 intervenciones) el 15/09/2018 13:50:13
SELECT XPELU
SET FILTER TO estado == "Libre"
go top
scan
........replace intervin WITH "", nomb_masc WITH ""
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

Publicado por Fidel José (657 intervenciones) el 14/09/2018 23:06:31
Debería funcionarte lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
lnRecno = RECNO("XPELU")
SELECT XPELU
SCAN FOR TRIM(ESTADO)=="Libre"
	replace intervin WITH "",;
		nomb_masc WITH ""
ENDSCAN
IF !EMPTY(m.lnRecno)
	GO m.lnRecno
ELSE
	GO TOP
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

Publicado por Abel (286 intervenciones) el 15/09/2018 16:09:43
Es totalmente correcto lo que mencionan tanto Mauricio como Fidel; aunque podrias evitarte SET FILTER y SCAN o DO WHILE, con una sola línea..

SELECT XPELU
REPLACE ALL Intervin with "", Nomb_masc with "" FOR Estado="Libre"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 313
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BLANQUEAR CAMPOS DE REGISTROS SEGÚN CONDICIÓN

Publicado por Jose Francisco (166 intervenciones) el 15/09/2018 16:57:53
Estimados, probé las dos opciones y funcionan correctamente.-
Muchas gracias a todos!
Un cordial saludo!
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