Llevar datos de un grid a un formulario para modificarlos

Estoy aprendiendo a programar en foxpro 9 y tengo la siguiente duda:Tengo un grid que muestra la tabla cliente, a la cual esta conectada. Lo que quisiera hacer es:en el evento doble click sobre cualquiera de los clientes mostrados en el grid, este me lleve a un formulario donde contenga cuadros de textos y me arrastre todos los campos, para luego poder modificarlos y actualizar el grid y la tabla cliente.

2 Respuestas

Respuesta
1

Bueno tendrías que hacer lo siguiente; donde llamas al formulario donde cargas los datos

Tendrías que declarar una variable publica y hacerle un link al formulario, para que esto porque si vos quieres hacer un refresh cuando cierres el formulario del grid vas a tener que llamarlo con la variable publica que creaste. Yo utilizo un programa de inicio y declaro esto:

PUBLIC variable
DO FORM formulario NAME variable LINKED

variable: nombre de como vas a llamar al formulario

formulario: el nombre del form

Con esto foxpro entiende que cuando uses la variable en cualquier formulario, sabe que te estas refiriendo a ese formulario que es el de carga de datos.

En el form donde cargas los datos a los textbox en donde haces la carga de datos tendrías que poner en la propiedad ControlSource a que campo de la tabla esta referido ese textbox; ej. yo tengo un textbox llamado nombre en la propiedad ControlSource pongo la tabla ej datos. Nombre especifica el origen de datos al que esta vinculado el textbox.

Bueno ahora vamos al grid en las propiedades del grid tendrías que poner lo siguiente:

AllowCellSelection=T para que se puedan seleccionar las celdas del grid

ChillOrder=nombre del campo donde creaste el indice

HighLightStyle= Resaltar la fila actual te resalta la fila donde vos hiciste click

ReadOnly=T Esto es para que solo lo puedas leer y que no te deje modificar directamente desde el grid.

En los text del grid ej Grid1, Column1, Header1, Text1 en acción DblClick del text pones lo siguiente:

Variable. Refresh este el nombre de la variable que definimos al principio, así sabe que nos estamos refiriendo al formulario de carga de datos
Thisform. Release para cerrar el formulario actual donde esta el grid
SELECT nombre de la tabla esto es para que vuelva el cursor a esa tabla porque si vos quieres guardar un modificación en el formulario en la parte de carga de datos si vos no haces el select de la tabla te va a salir un ventana de abrir para seleccionar la tabla donde te va aguardar los datos y te va a generar un error porque ya se encuentra abierta.

Esto es todo cualquier duda pregunta, suerte.

Buenas tardes experto, muchas gracias por contestar, solo tengo un problema.Al dar doble click en el grid para editar algún campo, se cierra el formulario del grid, pero no abre el formulario que cree de edición.Que estoy haciendo mal????Gracias de antemano

¿Ahora pregunto porque cerras el formulario de edición? Tendria que estar siempre abierto para poder trabajar con los registros. No se como lo hiciste si tenes un formulario para cargar datos y el mismo formulario tenes el grid o lo haces en 2 formularios diferentes. Lo mas conveniente es tener un formulario donde puedas cargar, visualizar, modificar y eliminar los datos y después tener otro formulario donde tenes el grid y podes buscar un registro para que vos en el grid que es un espejo de tu tabla la vas recorriendo y decís quiero modificar ese registro, le haces doble click y te lleva al registro al mismo lugar donde lo cargaste, para ahí borrarlo, modificarlo o hacer lo quieras. Si tenes uno de carga y edición nunca tendrías que cerrarlo tendría que abrir el grid desde ese formulario y lo podes poner en modal al grid para que el usuario no cierre el otro formulario. Explicame mejor como lo trabajas vos a los datos y tus formularios. Cualquier cosa me pasas el mail yo tengo un programita hecho y te fijas

Buenas tardes experto y gracias por responder,precisamente lo que quiero es direccionar a un formulario, siempre como tu indicabas a partir de un grid y una búsqueda previa.Realmente estoy un poco estancado.Quizás si no fuese mucha molestia,enviame ese programita que ya tienes echo,y así yo pueda ver donde yace la solución.Mi correo es [email protected]

Agradezco de antemano tu colaboración y tu interés.

Enviado a tu mail

Buenos días experto

Primeramente mil disculpas por no haber respondido antes.Muchas gracias por los formularios y códigos que me mandaste,me sirvieron de mucho.Me ayudaste a resolver uno de los puntos en mi software,en el que me había estancado.Agradezco de antemano tu interés y buena disposición.Te dejo un excelente puntaje.Saludos y muchas gracias nuevamente.

Respuesta

Seria de mucha ayuda si compratieras el formulario para ver el punto de quiebre en mi programación, te agradezco de antemano [email protected].

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas