![]() |
Probleba al actualizar una consulta
Hola a todos mi problema es el siguiente:
Tengo un adotable conectado a una consulta y cuando hago cualquier modificación en el dbdrid me pone lo siguente no se puede encontrar la fila para su actualizacion. Algunos valores han cambiado desde la última vez que se leyó. Gracias de antemano por su tiempo dedicado a mi. |
Hola, ¿y cómo haces la modificación?, ¿te sucede luego de modificar?, o antes de modificar. :confused:, tal vez haya que refrescar el DBGrid.
Saludos. |
me pasa cuando modifico el valor de la columna
|
Cita:
Saludos. |
Si, mira es una consulta en access en la cual hay dos campos que tienen formulas que se alimenta de otro campo que es la cantidad
Cuando pongo el valor cantidad en el bdgrid y trato de guardar y refrescar para que se actualice los campos del dbgrid me da el error |
Pues me imagino que estás haciendo el refresh vía DBGrid o Dataset:
Cosa que no funcionan, si es así, mejor cerrar y abrir la tabla:
Así el refrescado es más efectivo, si no es eso, pues aún no entiendo :D. Saludos. |
pongo un boton que edite adotable1.Edit;
pongo otro que guarde y despues que cierre y abra de nuevo la consulta y da el mismo error adotable1.Post; ADOTable1.Close; ADOtable1.Open; |
¿tienes clave primaria definida en la tabla de access?
|
Lo que pasa es que no puedes "no debes" editar la informacion en un dbgrid asi nada mas, porque recuerda que esta ligada a la base de datos por lo tanto cada modificacion requiere de una instruccion en la tabla que estas alterando.
Te recomiendo insertes un dbnavigator que posee algunos botones entre ellos "uno para editar". Saludos!!! pd.- en caso de que no funcione es problema de la estructura de la tabla |
Si tengo clave primaria definida en la tabla, y me da el mismo error cuando pongo un dbnavigator ya no se que más hacer.
|
Cita:
Saludos. |
El problema debe ser que las propiedades de algunos campos estan para numeros decimales y cuando trata de guardar me da error, cuando los pongo enteros largos funciona perfecto. No se como poder guardar con un adotable por ejemplo este valor 0,023
|
¿usas el punto como separador decimal?
|
He logrado guardar los datos ya en la consulta, ahora lo que me pasa es que en el reporte me salen los datos que estaban antes de actualizarlos. Llevo unos cuantos días en estos y ya no se que voy a hacer.
Gracias a todos por el tiempo dedicado. |
- Tendrás que modificar la tabla.
- cerrarla - abrirla para el informe. - Imprimir los registros. Siento ser tan escueto, pero no estoy delante de tu pantalla ni sé lo que piensas... Si puedes explicar con más detalle los pasos que haces y el orden de apertura de tablas, consultas, las modificaciones que haces, etc, quizás te podamos ayudar más ;). Saludos |
Lo que hago es lo siguente:
Tengo un adotable conectado a una tabla en la cual hago las modificaciones de los campos y los guardo Adotable1.post; adotable1.refresh; ahora cuando llama a la form2 donde tengo el reporte con su adotable conectado a la consulta donde se hacen los calculos le digo Adotable1.close adotable1.open adotable1.requery y nada sigue sacando los datos anteriores a la modificacion adotable1.close |
La franja horaria es GMT +2. Ahora son las 04:15:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi