Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Probleba al actualizar una consulta (https://www.clubdelphi.com/foros/showthread.php?t=61904)

Fat 26-11-2008 17:53:20

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.

enecumene 26-11-2008 18:03:55

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.

Fat 26-11-2008 18:06:15

me pasa cuando modifico el valor de la columna

enecumene 26-11-2008 18:08:59

Cita:

Empezado por Fat (Mensaje 328112)
me pasa cuando modifico el valor de la columna

Ok, o sea, haces la modificación directamente en el DBGrid o por código, deberás de tratar de explicar un poco más.

Saludos.

Fat 26-11-2008 18:14:47

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

enecumene 26-11-2008 18:19:08

Pues me imagino que estás haciendo el refresh vía DBGrid o Dataset:
Código Delphi [-]
DBGrid1.Refresh;

ADOTable.Refresh;

Cosa que no funcionan, si es así, mejor cerrar y abrir la tabla:
Código Delphi [-]
ADOTable.Close;
ADOtable.Open;

Así el refrescado es más efectivo, si no es eso, pues aún no entiendo :D.

Saludos.

Fat 26-11-2008 18:25:49

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;

Lepe 26-11-2008 18:50:29

¿tienes clave primaria definida en la tabla de access?

kaeltas 26-11-2008 19:56:19

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

Fat 27-11-2008 14:19:30

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.

enecumene 27-11-2008 15:32:28

Cita:

Empezado por Fat (Mensaje 328305)
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.

Hostia, ¿seguro no estás obviando ningún detalle?, reitero que coloques el código, para mejor entendimiento de tu problema.

Saludos.

Fat 27-11-2008 16:21:26

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

Lepe 27-11-2008 21:38:12

¿usas el punto como separador decimal?

Fat 28-11-2008 15:16:17

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.

Lepe 28-11-2008 16:36:13

- 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

Fat 28-11-2008 16:48:42

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 18:54:18.

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