Seleccionar valor para modificar
Bueno tengo dbgrid con una lista (en este caso muestra los datos de clientes) ahora mi problema es el siguiente.
Quiero que el cliente seleccionado me abra un nuevo form en modo de edición, para cambiar los datos si es que fuera necesario llamando a otro form creado para tal fin ahora el problema que tengo es que solo toma el valor del primer cliente no importa cual sea el cliente que haya marcado en el dbgrid. Este es el codigo que estoy usando en el boton
Lo que en teoría hace es si encuentra el id del cliente me muestra los datos del cliente para poder editarlos, pero como dije solo me busca el valor del primero en la lista no importa cual haya seleccionado. Desde ya muchas gracias por su tiempo |
Hola.
Si el TDBGrid estuviese enlazado con la tabla cliente (qCliente), sería innecesario todo ese código de posicionamiento, ya que al moverte de fila en el DBGrid lo estas haciendo en la tabla. Se podría decir que el componente DBGrid es una representación visual de los datos de la tabla. Ahora, si el DBGrid está representando los datos de una consulta en la que intervienen mas de una tabla, por favor explica mas detalladamente la relación DBGrid/Tabla y los campos que intervienen conformando las columnas. Saludos :) |
De echo efectivamente esta directamente enlazado a la tabla qClientes pero no toma ningún otro valor que no sea el primero del DBGrid
|
Hola.
Ahora creo entender... ¿ Estas usando un Query (qCliente) para alimentar el DBGrid y un DataSet (tCliente) para realizar los cambios no ? Entonces el problema es el siguiente: (1) ¿ El Locate no deberías aplicarlo al DataSet ? (2) Esa línea elimina el posicionamiento anterior del Locate y el DataSet (tCliente), siempre queda apuntando al primer registro del DataSet. Saludos :) |
Cita:
2-entonces como cerraría la consulta para que no quede activa? Gracias por la ayuda |
Hola.
No puedo saber con seguridad la lógica que has implementado, pero suponiendo que fListadoClientes es el form que tiene el DBGrid y el Button, fcliente el form donde se editan los datos y fmodulo el DataModule donde residen qCliente y tCliente, creo que podrías hacer: Eso tratando de respetar lo mas posible el código original y suponiendo que esa es tu organización... Saludos :) |
Muchas gracias por tu tiempo, hoy se me complico un poco el día mañana lo pruebo con tiempo y calma
|
Cita:
|
Hola.
Se utilizan para garantizar que cuando solicitamos un recurso este sea devuelto, evitando así perdidas de memoria. Básicamente: Código:
pedir un recurso Saludos :) |
La franja horaria es GMT +2. Ahora son las 09:48:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi