Problemas al mostrar datos guardados en un grid

Hola experto, primero que todo soy nuevo en el mundo de VFP, tengo un grid donde muestro unos datos que están en una tabla
select * ;
from tabla1 ;
where fechacita=a ;
order by hora ;
into cursor crsgrid
thisform.grid1.recordsource="crsgrid"
Cuando ingreso un registro nuevo en la tabla
select tabla1
append blank
go bottom
docp=thisform.doc.value
replace documento with docp
replace nombre with thisform.nom.value
replace telefono with thisform.telef.value
Intento mostrar los datos de la tabla en el grid no me aparece el nuevo registro; note que si me salia del programa y volvía a entrar si los mostraba
Gracias por la ayuda

1 respuesta

Respuesta
1
Espero poder ayudarte:
Si, eso es correcto. Lo que pasa es que tu grid tiene los datos del cursor crsgrid, entonces solo se ve el nuevo registro cuando haces de nuevo la consulta (que es cuando ejecutas el formulario)
Al finalizar el append, del registro nuevo, llamá de nuevo al método donde haces la consulta. Antes de la consulta, desafecta el grid del recorsource.. así:
thisform.grid1.recordsource=''
select * from ....
thisform.grid1.recordsource=''
Esto podría ir en un método por ejemplo "armaLista" y en el init del formulario (o donde lo haces ahora) pones thisform. ArmaLista() (los paréntesis son solo estéticos para saber que es un método)
Otra cosa.
Después del append, no hace falta hacer un go botton (es más, puede darte error) y tampoco hace falta pasar a una variable de memoria el textbox
Te quedaría algo así:
select tabla1
append blank
if rlock()
replace documento with thisform.doc.value
replace nombre with thisform.nom.value
replace telefono with thisform.telef.value
unlock
endif
El rlock() se usa para bloquear el registro en el caso de usar una aplicación multiusuario.
Espero que haya sido de utilidad y si es así, por favor cerra la pregunta.
Un abrazo, estoy a tu disposición

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas