Ver Mensaje Individual
  #10  
Antiguo 08-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Reputación: 19
Parsec Va por buen camino
Solucionado!!!!

Me he tenido que pegar un MOVIDON!!!!, os explico.....
El problema radica en que filtro datos de una tabla a través de un Query y los datos que presento en un Dbgrid no me los deja modificar, intenté utilizar los 'Filter' sobre la propia tabla pero la instrucción 'LIKE' no se por que motivo no la reconoce y me da un error de 'Operation not applicable', pues bien he hecho los siguiente:

He utilizado un Tquery, UpdateSql y un DataSource.

Propiedades a cambiar en el Tquery:

RequestLive = False;
UpdateObject= UpdateSQL;
CachedUpdates= True;

Y he introducido la sentencia SQL en UpdateSQl que me permita modificar los campos que yo quiera, en este ejemplo solo voy a permitir modificar el campo Importe Factura:
Cita:
update VISITAS
set
Importefactura = :Importefactura
where
Importefactura = :OLD_Importefactura
Con esta configuración puedo modificar el campo 'Importe Factura' en el Dbgrid, pero ojo!!!!.....no actualiza la BBDD, es una modificación temporal.
Para que actualice la BBDD he insertado un botón y le he agregado el siguiente código:
Cita:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
Query1.ApplyUpdates; // aplico los cambios
Query1.Refresh;
except
Showmessage('No es posible actualizar');
end;
Query1.CommitUpdates; // Limpio los cambios locales
end;
Y solucionado.

Señores me voy a correr un rato....en el buen sentido de la palabra claro!, correr a pie!!!

Saludos y espero que esto sirva a alguien.
Responder Con Cita