Query (Atualizar dados - Refresh)

Delphi

20/08/2005

A quem possa estar lendo esta dúvida.

Possuo um componente table em meu projeto que faz a manutenção em um cadastro de meu sistema. Faço um filtro de alguns dados deste cadastro através de um componente query. Até aí sem problemas, está tudo bem.

Acontece que eu quero imprimir essas informações, utilizo rave report com Delphi 7. Isso também está Ok.

Meu problema é o seguinte:

Quando eu altero o conteúdo do meu cadastro (aqui eu utilizo table) e logo em seguida solicito a impressão do mesmo (aqui eu utilizo uma query) os dados alterados no cadastro não refletem na impressão de modo on line. Para que isso ocorra preciso sair do aplicativo e carregá-lo novamente, aí sim, tenho as alterações refletidas no relatórios.

Alguém sabe me dizer como efetuar um refresh no componente QUERY.

Já utilzei:

QUERY.AUTOREFRESH := True; (não funcionou)

QUERY.CLOSE;
QUERY.OPEN; (também não funcionou)

Antecipadamente agradeço,


José Eduardo

jalbuque@hotmail.com


Jalbuque

Jalbuque

Curtidas 0

Respostas

Joaoshi

Joaoshi

20/08/2005

Colega,

O problema deve estar na gravação da Table.
Supondo que você esteja utilizando PARADOX, coloque no evento AFTERPOST da table DBISAVECHANGES(NomeDaTabela.HANDLE);

E tambem declare na USES da Unit BDE.

E se não for nada disso me desculpe.

Espero ter ajudado.


GOSTEI 0
Raserafim

Raserafim

20/08/2005

quando vc faz a atualização no Table nao significa necessariamente que estas alterações já tenham sido aplicadas na base. a Query vai pegar as informações direto da base, e desta forma ainda sem as atualizações.

se vc tiver aberto uma transação, deverá finaliza-la com um
Table1.CommitUpdates;


se não fo o caso, vc deverá aplicar as atualizações que estão em cache para a base
Table1.ApplyUpdates;


e se nada disse resolver:
Table1.Close;
Table1.Open;


e lembrando que para pegar os dados atualizados com a query vc deverá
Query1.Close;
Query1.Open



GOSTEI 0
POSTAR