Inicio > Visual FoxPro > fer1710 > Recorrer una Grilla

Recorrer una Grilla

Experto:
Usuario:
Fecha: 17/04/2008
Valoración: (3,00 sobre 5) Categoría: Visual FoxPro
16/04/2008
jpecci, usuario preguntando en Visual FoxPro
Usuario
Necesito recorrer una grilla de 2 columnas: "Codigo" y "Descripcion". Capturar el codigo en una variable y consultar a Base de datos mediante un select si existe en una tabla determinada. Si existe pasar por alto, sino, cambiarel "DynamicBackColor" con un color rojo, por ejemplo. Luego pasar a la siguiente fila y hacer lo mismo.
Tengo una idea de que a lo mejor se puede hacer con un for fila = 1 hasta "nombre grilla".ultima dila con un next.
Desde ya les agradezco su ayuda.
16/04/2008
jpecci, experto respondiendo en Visual FoxPro
Experto
Hola,
Lo que puedes hacer es agregarle un campo 'flg' de tipo numerico, a la tabla de la grilla, que guardara 1 si existe en la segunda tabla, y 2 si no existe.
Supongamos que tus tablas sean: tabla1 (cod, desc, flg), tabla2(cod, etc...)
En el evento init de tu formulario puedes poner algo como:
sele tabla1
scan
m.cod = cod
select count(*) as cuenta from tabla2 where cod = m.cod into cursor curtemp
sele tabla1
replace flg with curtemp.cuenta
endscan
go top
thisform.grid1.RecordSource = "tabla1"
ThisForm.Grid1.Column1.DynamicForeColor = "iif(flg = 0, rgb(255,0,0), 0)"
ThisForm.Grid1.Column2.DynamicForeColor = "iif(flg = 0, rgb(255,0,0), 0)"
Espero te sirva,
Saludos,
Fernando
17/04/2008
jpecci, usuario preguntando en Visual FoxPro
Usuario
Muchas gracias por la atencion, voy a probar la opcion que me diste.
Enlaces patrocinados