Atualização de DBGrid

25/09/2004

0

(1)
-Estou fazendo um programa de cadastro que tem apenas 2 form´s.
-Estou usando Delphi 6 / ADO / ACCESS 2000
-No 1º form eu tenho Adoconnect/Adoquery/DtSource e um DBGrid
-No evento active do form para apresentar os dados do grid tenho:
ADOQuery.Close;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(´SELECT * FROM Cadastro´);
ADOQuery.SQL.Add(´Order By CAD_CLI´);
ADOQuery.Open;

(2)
-No 2º form tenho Adoconnect/AdoTable/DtSource e com varios campos
DBEdit´s

[b:9cc43b6c3b]-Só que quando eu faço inclusoes e volta para o Form1, o DBGrid do
mesmo não aparece a inclusão que foi feito, só aparecendo saindo e
entrando no programa de novo.[/b:9cc43b6c3b]

-A chamada do Form2 para o form1 é:
Application.CreateForm(TFrmCadR, FrmCadC);
FrmCadC.ShowModal;
e qdo. fecho a janela do Form2 eu dou um Close;

O que eu gostaria é que qdo retornar para o Form1 o DBGrid esteja
atualizado.

Desde já O B R I G A D O a todos.


Canastra

Canastra

Responder

Posts

25/09/2004

Vinicius2k

Colega,

Uma query não é uma tabela. Ela traz os registros e armazena em cache.
Logo vc só verá os registros inseriros na tabela se refizer a query. (Close e Open novamente.)
Application.CreateForm(TFrmCadR, FrmCadC);
FrmCadC.ShowModal;
ADOQuery.Close;
ADOQuery.Open;


T+


Responder

25/09/2004

Canastra

[b:f2596c1b65]OBSERVAÇÃO: Desculpa escrevi errado[/b:f2596c1b65]
-Estou fazendo um programa de cadastro que tem apenas 2 form´s.
-Estou usando Delphi 6 / ADO / ACCESS 2000
-No 1º form eu tenho Adoconnect/AdoTable/DtSource e um DBGrid
-No evento active do form para apresentar os dados do grid tenho:
ADOTable1.Active := True;
ADOTable1.Refresh;
ADOTable1.IndexFieldNames := ´CAD_RECEI´;
ADOTable1.First;
-A chamada do Form1 para o form2 é:
Application.CreateForm(TFrmCadR, FrmCadC);
FrmCadC.ShowModal;
e qdo. fecho a janela do Form2 eu dou um Close; para retornar p/Form1


Responder

25/09/2004

Rômulo Barros

Retire o codigo abaixo do envento OnActive do seu TForm e coloque o codigo abaixo no evento OnShow do seu TForm.

ADOQuery.Close; 
ADOQuery.SQL.Clear; 
ADOQuery.SQL.Add(´SELECT * FROM Cadastro´); 
ADOQuery.SQL.Add(´Order By CAD_CLI´); 
ADOQuery.Open; 



Responder

25/09/2004

Canastra

Como eu escrivi antes, foi postado errado, pois estou usando AdoTable
nao AdoQuery, e qdo tentei com AdoQuery tambel nao deu certo.
SEGUE O QUE TENHO
-Estou fazendo um programa de cadastro que tem apenas 2 form´s.
-Estou usando Delphi 6 / ADO / ACCESS 2000
-No 1º form eu tenho Adoconnect/AdoTable/DtSource e um DBGrid
-No evento active do form para apresentar os dados do grid tenho:
ADOTable1.Active := True;
ADOTable1.Refresh;
ADOTable1.IndexFieldNames := ´CAD_RECEI´;
ADOTable1.First;
-A chamada do Form1 para o form2 é:
Application.CreateForm(TFrmCadR, FrmCadC);
FrmCadC.ShowModal;
e qdo. fecho a janela do Form2 eu dou um Close; para retornar p/Form1


Responder

26/09/2004

Thomaz_prg

E se vc tentasse dar um refresh na dbgrid???


Responder

04/10/2004

Paty

Também estou tendo o mesmo problema, mesmo tentando dar Refresh no grid não está funcionando


Responder

04/10/2004

Osocram

Eu nunca usei o ADO

Mas c o DBExpress.... vc poderia fazer assim...

Tentar dar um refresh na query
ou mandar ela abrir e fechar dnovo.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar