Array
(
)

Atualização de DBGrid

Canastra
   - 25 set 2004

(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

-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.

-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.


Vinicius2k
   - 25 set 2004

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.)
#Código

Application.CreateForm(TFrmCadR, FrmCadC);
FrmCadC.ShowModal;
ADOQuery.Close;
ADOQuery.Open;


T+


Canastra
   - 25 set 2004

OBSERVAÇÃO: Desculpa escrevi errado
-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


Rômulo Barros
   - 25 set 2004

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

#Código

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



Canastra
   - 25 set 2004

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


Thomaz_prg
   - 26 set 2004

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


Paty
   - 04 out 2004

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


Osocram
   - 04 out 2004

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.