Ayuda con un dbGrid

Hola,
Esta pregunta la he hecho a dos personas en el tablón de expertos y no he obtenido respuesta hasta ahora. Como me corre bastante prisa una contestación, la pongo aquí a ver si hay suerte y alguien puede ayudarme.
Estoy desarrollando una aplicación para gestionar una base de datos. El acceso a datos lo hago a través de Dao, contra una base de datos de access 97. He creado un formulario que al abrirlo muestra el contenido de una tabla de dicha base de datos, un botón para añadir registros, otro para eliminar registros y otro para modificar registros. Esto lo hago así porque no quiero que se puedan modificar los datos directamente en el dbgrid, así que tengo quitados los permisos de edición en las propiedades del dbgrid.
Cuando se pulsa en el botón de Añadir registros, se hace visible un formulario de entrada de datos, y en el command-click() de ese botón, he escrito código para que acceda a la tabla y añada un nuevo registro con los datos introducidos en el formulario. Hasta aquí, todo bien. Mi problema es el siguiente:
Me gustaría saber que código y donde tengo que escribir para que al pulsar en el dbgrid se seleccionara la fila pulsada. Si puede ser que se seleccione toda la fila pulsando en cualquier parte de ella, mucho mejor, si no, me conformo con seleccionarla dando con el ratón en la parte de la izquierda de la fila correspondiente (eso ya lo tengo hecho así). Pero lo principal, es que necesitaría saber que tengo que hacer para que una vez seleccionada una fila en el dbgrid, al pulsar el botón eliminar, borrara el registro correspondiente a esa fila. Y que si le doy al botón modificar, hiciera visible el formulario con los datos correspondientes a esa fila, para poder editarlos y modificarlos.
En resumen, el problema que tengo es que no se como comprobar en el command-Click() a que registro de la tabla corresponde la fila que esta seleccionada en el dbgrid.
Por favor, necesito ayuda, me corre mucha prisa.
Gracias

1 respuesta

Respuesta
1
La verdad es que nunca he usado un dbgrid, yo lo hacia con el flexgrid de toda la vida, te explico la teoría...
En la tabla debes tener algún id único imagino, y en el dbgrid puedes cargarle este identificador uniso en una columna que este oculta al usuario. Pues bien puedes saber en que fila se esta pulsando o esta seleccionada con la propiedad row y puedes sacar el id de la fila marcada con Textmatrix, indicando la fila y la columna...
Si ya tines el id es tan fácil como buscar en la tabla comprobar que cambios se hacen y ejecutarlo o eliminarlo.
Entiendo que quizás esto no te sirva de ayuda pero más o menos que pilles la idea.
Gracias por la respuesta. Al final, no ha resultado tan difícil. Resulta que si se pulsa en una celda del dbgrid, el registro queda seleccionado. Al darle al botón editar, y dejar de ocultar el formulario, ya salen directamente los datos del registro seleccionado, sin hacer nada más. Y a la hora de borrar, solo hay que hacer un delete del recordset, y ya borra el registro que estaba seleccionado en el dbgrid. Era tan fácil, que no creía que pudiera ser así :-)
Muchas gracias por la respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas