Actualización de los datos de un datagrid

Tengo el DataSource de un datagrid asociado a una tabla de access. Cuando modifico valores del datagrid estos son modificados automáticamente en la tabla de access, pero cuando los datos del datagrid son modificados por código, es decir, cuando asigno la propiedad Text a un nuevo valor, estos no se actualizan en la tabla. ¿Alguien me podría decir como puedo hacer para que los datos modificados por código también se modifiquen en la tabla?

1 respuesta

Respuesta
1
Prueba a hacer un update del data asociado del datagrid en en evento AfterColUpdate del datagrid
Gracias por tu respuesta y perdona por el retraso.
Referente a lo que me comentas ya hacía un update del recordset además de hacer un refresh del Datagrid y no funciona. ¿Se te ocurre alguna otra solución?
Muchas gracias!
Jordi.
No se si esto te funcionará pero se puede intentar.
El update que te decía hazlo despues de asignar el campo
data.recordset.fields("Campo").value=valor
data.recordset.update.
Para ello recuerda que te tienes que posicionar en el recordset que tienes que modificar antes.
Espero que esto si que te sirva. Realmente no se que es lo que te pasa o por que cambias valores por código
Estoy haciendo precisamente lo que me estás aconsejando, pero no se actualiza en la Base de datos. Los valores los cambio por código cuando el usuario quiere hacer un reemplazar de un valor determinado dentro del datagrid, de manera que el usuario introduce el valor a reemplazar y el nuevo valor y entonces por código actualizo la propiedad .Text de datagrid y el valor de recordset.
Bueno, gracias por tu atención!
Jordi.
Prueba la actualización por código que estas haciendo en la rejilla en una caja de texto cualquiera. Igual lo que te falla es el código.
Moni
Hola Moni,
Sólo era para agradecerte tu ayuda. Ya he conseguido que me actualice bien la tabla, tenía un problema de código por que hacia uso de un recordset auxiliar y resulta ser que me provoca estos errores.
Muchas gracias!
Jordi.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas