los querys no admiten el método refresh.
prueba a hacerle un Open y Close.
si queires mantener el registro, esto es, que despues de cerrarla y abrirla se posicione en el registro que tenia antes, usa bookmarks, ma o meno seria asin:
Código Delphi
[-]
var anteriorregistro:string;
begin
anteriorregistro:=Query1.Bookmark;
Query1.Close;
Query1.open;
try
Query1.Bookmark:=anteriorregistro;
except
end;
aunque acabo de leer (que grande es la ayuda delphi en comparacion con
otras de
otros lenguajes que empiezan por java y acaban con la paciencia) que los bookmarks no son válidos para datasets Unidirecionales.
si ese es tu caso tendrias que hacer un locate "a mano", con el campo clave que tengas, usease:
Código Delphi
[-]
var anteriorregistro:string;
begin
anteriorregistro:=Query1.FieldByname('CODIGO').asstring;
Query1.Close;
Query1.open;
try
Query1.Locate('CODIGO',anteriorregistro,[]);
except
end;