Actualizar cajas de texto al seleccionar registro en rejilla.


(ame) #1

Hola muy buenas,

 

Tengo un formulario asociado a la tabla clientes. En él tengo dos cajas de texto apuntando a los campos "nombre" y "apellidos", y un control objeto con una rejilla incrustada mostrando todos los clientes. Me gustaría que al pulsar sobre una fila de la rejilla, en las cajas de texto aparezca dicho nombre y apellidos del cliente seleccionado, y conforme me vaya moviendo por las filas se vayan actualizando estas cajas mostrando el actual registro seleccionado.

Lo he conseguido hacer sin asociar el formulario a la tabla, es decir, creando variables locales que son apuntadas por las cajas de texto, y cuando se selecciona una fila de la rejilla, salta un evento que lee la ficha seleccionada y hace los "Get's" de los campos hacia estas variables. En principio todo ésto es una mera operación consultora, el problema está en que si se me ocurre modificar "al vuelo", por ejemplo por un error tipográfico, el nombre, y pulsar sobre aceptar, el formulario al no estar asociado a una tabla no puedo hacer modificaciones a dicha tabla, ¿no? ¿No haría nada, o me equivoco? No sé, no tengo aún del todo claro este funcionamiento.

¿Alguna idea? Gracias de antemano. Saludos.

 

José Luis.


([N4] eic) #2

Hola.

Si los controles edit se refieren a variables locales (con el formulario no asociado a la tabla), siempre puedes poner un botón que ejecute un evento, en el cual actualices lo que el usuario haya escrito en el registro seleccionado, cuyo ID previamente habrás guardado en una variable local (oculta). Así mantienes lo que tienes (que ya te funciona) y consigues la funcionalidad que necesitas.

Saludos,

Fran Varona

 


([N1] Rafael) #3

Hola José Luis,

 

Si lo que quieres es tener rejilla de clientes y ficha en el mismo formulario, creo que lo mejor sería un multivista con primer objeto la rejilla y segundo objeto el formulario de clientes. 

 

Un saludo.

 

Rafa.


(ame) #4

Gracias Fran, no se me había ocurrido verlo de esa forma, estaba obcecado con la asociación del formulario a la tabla. Entonces supongo que la respuesta es que no se puede hacer lo que quiero asociándolo a una tabla, ¿no? ¿No hay forma de decirle al formulario que apunte al registro que se ha seleccionado en la rejilla, ¿verdad?

Pues bueno, ya está funcionando como me has comentado.

 

Saludos.

 

José Luis.


(ame) #5

Hola Rafa,

 

Gracias por la alternativa. Aunque ya tengo implementada la otra opción, me gustaría contar también con la que planteas. Pero tengo un problema, no sé como debo programar el proceso sincronizador que me pide el multivista, tengo la rejilla, el formulario y el proceso con origen ficha y destino ficha, pero no sé que instrucciones tengo que ponerle. A ver si puedes echarme una mano.

 

Un saludo.

 

José Luis.


([N4] eic) #6

Hola.

En este caso, el proceso es muy sencillo. Piensa que la entrada del proceso es la ficha que el usuario selecciona en la rejilla (y eso le llega sin que tengas que hacer nada), y a la salida del proceso tienes que mandar esa misma ficha (para que la muestre en el formulario). Por tanto, el proceso tiene una única instrucción, que es:

Añadir ficha a la salida.

Y ya está.

Saludos,

Fran Varona

 


(ame) #7

Perfecto, ya funciona, muchas gracias Fran.

 

Saludos.

 

José Luis.