Actualizar grid

Mi nombre es rodolfo y escribo para ver si me pueden aclarar mi duda en visual fox, tengo un formulario en el cual tengo un text y un grid, lógicamente el text lo utilizo para hacer búsqueda de registros dentro del grid. . .Hasta ahí todo esta bien . . El detalle es este . . . La tabla en la cual estoy haciendo la búsqueda se esta actualizando constantemente y todos los días . . .y esa tabla esta distribuida en 5 maquinas . . .entonces lo que hago es darle un zap a la tabla en donde hago la búsqueda y volver a juntar las tablas en una sola tabla, el problema es que cuando empieza a hacer la transferencia de registros yo quiero que mi grid se actualice . . .automáticamente . . Ya que todo lo hace, pero para volver a ver los registros tengo que salirme del formulario y volver a entrar . . Ya que cuando termina de juntar toas las tablas el grid se queda en blanco . . El puro contorno del grid y no se ven los registros, como le hago para que conforme vaya agregando los registros a la tabla se vayan visualizando en el grid automáticamente.

5 Respuestas

Respuesta
1
Deberían de verse.
Entiendo esto: tienes un grid que ya esta direccionado a una tabla, luego, hay algún proceso que va agregando datos a la tabla, pero estos no se ven actualizados en tu grid. La primer pregunta es, ¿en qué momento actualizas tu tabla? ¿Lo actualizas en otro proceso diferente al que muestra el grid? Lo que puedes hacer, es insertar un clock e indicarle que cada 5 segundo refresque la grid "thisform.grid1.refresh", esto te podría ayudar, pero necesito saber en que momento actualizas tu tabla, pues, por lo que te entiendo, le haces un zap y luego atualizas la información de las demás tablas. Si es así, se asume que estas abriendo tu tabla en forma exclusiva, de otra forma no podrías hacer un zap, y si esta abierta en forma exclusiva, pues no la vas a poder abrir para encadenarla a tu grid. Mejor enviame más información.
Suerte !
Rocco.
Respuesta
1
Bueno lo más recomendable que es utilices un cursor para ese grid, puedes hacerlo de la siguiente manera:
Thisform.Grid1.Columncount=-1
Thisform.
Select a.*, b.*, c.* from ventas1 a, Ventas2 b, ventas3 c Where a.id = b.id and a.id = c.id and A.id = Allt(Thisform.txtBusca.value) order by a.id into cursor tmpConsulta
if _Tally > 0 Then
Thisfrom.grid1.RowSource="TmpConsulta"
Endif
O bién pudes poner directamnte el query en el RowSource haciendo lo siguiente:
En la propidad RowSourceType ponla a 4 (consulta sql)
En la propiedad rowSource ponle Select a.*, b.*, c.* from ventas1 a, Ventas2 b, ventas3 c Where a.id = b.id and a.id = c.id and A.id = Allt(Thisform.txtBusca.value) order by a.id into cursor tmpConsulta
Ahora cada vez que quieras actualizar los datos ejecutas:
Thisform. Grid1. Refresh()
Respuesta
Tengo un par de soluciones:
Tal vez cuando haces el proceso de generación de tablas se pierde la selección de la tabla que hace las veces de cursor para el grid con lo cual el grid se pone en blanco, por lo tanto nunca pierdas la tabla para que el registro que agregues se pueda ver.
Otra opción puede ser que cuando vayas a generar la tabla hagas el grid no visible y cuando termine el proceso la hagas visible.
Prueba y me avisas.
Respuesta
-1
Utiliza el siguiente "truco".
En vez de ZAP, utiliza:
DELETE ALL
.. juntas las tablas
PACK
THISFORM. REFRESH
Bueno, eso digo yo...
Respuesta
-1
Si ese rodolfo es un verdadero problema lo que puedes probar es poner un thisform. Refresh, otro es que tu aplicación solo cierre el formulario y lo vuelva a abrir, y por ultimo puedes ocultar el grid, hacer esas consultas y luego haces visible el grid, para que se refresque
Prueba y avisame
Titovelo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas