Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Tabela não atualiza


Gabriel Cabral

Pergunta

Bom dia...

estou com um problemão aqui...

tenho um cadastro de fornecedores em um form e uma busca desses fornecedores em um grid em outro form...

para gravar um registro na tabela de fornecedores, uso uma tabela tblCadForn:

dm.tblCadForn.Post;
dm.tblCadForn.Last;
e para buscar o fornecedor em outro form, uso um grid, um datasource e uma query. O Grid está ligado ao Datasource O Datasource está ligado à Query A Query está ligada ao alias e sua propriedade SQL seleciona tudo da tabela de funcionarios. Ao ser criado, o form de busca executa o seguinte:
procedure TfrmLocalForn.FormCreate(Sender: TObject);
begin

    With QueryLocalForn Do
      begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT * FROM FINAFOR.dbf ORDER BY FORFAN');
         Open;
      end;

      GridLocalForn.Columns[0].Width := 87;
      GridLocalForn.Columns[1].Width := 391;
      
      GridLocalForn.Columns[0].Title.Caption := 'CÓDIGO';
      GridLocalForn.Columns[1].Title.Caption := 'NOME FANTASIA';

end;
A busca dinamica é feita desta maneira:
procedure TfrmLocalForn.txtLocalForn_NomeFantasiaChange(Sender: TObject);
begin

    With QueryLocalForn Do
      begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT * FROM FINAFOR.dbf');
         SQL.Add('WHERE FORFAN');
         SQL.Add('LIKE '''+txtLocalForn_NomeFantasia.Text+'%''');
         SQL.Add('ORDER BY FORFAN');
         Open;
      end;

end;

PROBLEMA: Quando estou cadastrando os fornecedores e depois abro o form de busca, os fornecedores cadastrados agora ainda não estão no grid, eles só vão aparecer se eu fechar todo o programa e abrir de novo.

O que tem de errado aí??

Ficarei muitíssimo grato a quem puder me ajudar

Editado por Gabriel Cabral
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
para gravar um registro na tabela de fornecedores, uso uma tabela tblCadForn:

dm.tblCadForn.Post;

dm.tblCadForn.Last;

PROBLEMA: Quando estou cadastrando os fornecedores e depois abro o form de busca, os fornecedores cadastrados agora ainda não estão no grid, eles só vão aparecer se eu fechar todo o programa e abrir de novo.

O que tem de errado aí??

OBS : se eu fechar todo o programa e abrir de novo

Corresponde a dizer que se voce fechar e abrir a tabela eles vão aparecer ... ou voce pode dar um refresh na tabela

exemplo:

dm.tblCadForn.Post;

dm.tblCadForn.Last;

dm.tblCadForn.Refresh;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Corresponde a dizer que se voce fechar e abrir a tabela eles vão aparecer ... ou voce pode dar um refresh na tabela

Pois é...eu dei um refresh...mas não adiantou...continuou a mesma coisa....

mas consegui resolver...

o que eu estava colocando no OnCreate do form, deve ser colocado no OnActivate

procedure TfrmLocalForn.FormCreate(Sender: TObject);
//mudar linha acima para procedure TfrmLocalForn.FormActivate(Sender: TObject);
begin

   With QueryLocalForn Do
   begin
     Close;
     SQL.Clear;
     SQL.Add('SELECT * FROM FINAFOR.dbf ORDER BY FORFAN');
     Open;
   end;

   GridLocalForn.Columns[0].Width := 87;
   GridLocalForn.Columns[1].Width := 391;

   GridLocalForn.Columns[0].Title.Caption := 'CÓDIGO';
   GridLocalForn.Columns[1].Title.Caption := 'NOME FANTASIA';

end;

Muito obrigado, Jhonas

Editado por Gabriel Cabral
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...