Hola.
Ahora creo entender... ¿ Estas usando un Query (
qCliente) para alimentar el DBGrid y un DataSet (
tCliente) para realizar los cambios no ?
Entonces el problema es el siguiente:
Código Delphi
[-]
fmodulo.tCliente.Active := true;
if fmodulo.qCliente.Locate('id_cliente', fmodulo.qCliente['id_cliente'], []) = true then
begin
fmodulo.tCliente.Edit;
tfcliente.Create(self).ShowModal;
end;
fmodulo.tCliente.Active := false; fmodulo.qCliente.Refresh;
(1) ¿ El Locate no deberías aplicarlo al DataSet ?
(2) Esa línea elimina el posicionamiento anterior del
Locate y el DataSet (
tCliente), siempre queda apuntando al primer registro del DataSet.
Saludos