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

(Resolvido) Form some ao fazer consulta


Gafanhoto

Pergunta

Seguinte...

Tenho um DBGrid. Ao entrar no Form, no Events ON ACTIVATE tem o seguinte código:

DataModule2.ADOQuery1.Open;

beleza pura até aí.

Mas daí tenho um TEdit e um Button, que serã responsáveis por filtrar os dados no DBGrid.

Segue o Events do OnClick do botão:

procedure TForm1.BitBtn1Click(Sender: TObject);

var

palavra : string;

begin

palavra := chave.Text;

DataModule2.ADOQuery1.Close;

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add ('select * from boletins_conteudo');

DataModule2.ADOQuery1.Open;

end;

O problema é que ao clicar no botão o form some, e tenho que reabri-lo.

Quando abro novamente o form, noto que ele trocou certinho o SQL da ADOQuery1, o problema é o form que está fechando na hora que eu clico no botão.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
Quando abro novamente o form, noto que ele trocou certinho o SQL da ADOQuery1, o problema é o form que está fechando na hora que eu clico no botão.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
palavra : string;
begin
palavra := chave.Text;
DataModule2.ADOQuery1.Close;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add ('select * from boletins_conteudo');
DataModule2.ADOQuery1.Open;
end;

Não existe nenhum comando para fechar o form, então se o form sumiu, ele vai aparecer novamente assim que a select estiver concluida. Pode ser muitos dados que ele esta trazendo para o DBGrid por isso a demora em mostrar o form.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Tmb acho que não tem anda que faça sumir o form, mas ele fecha o form e não volta mais.

Eu espero um tempão.

Não pode ser nenhuma propriedade do form, ou ele deve ser ser MDIChild, sei lá?

Estou tentando aqui...

Se tiver alguma idéia do que possa ser agradeço.

Link para o comentário
Compartilhar em outros sites

  • 0

Bah . . . desculpa se já estou senho chato, e agradeço a ajuda que tem me dado Jhonas.

Coloquei o DBGrid e continua sumindo o form.

Mas tem um detalhe. Coloquei para teste o form contendo o DBGrid como form principal e compilei.

Funciona perfeito.

A única forma que não fecha é quando eu abro um form principal, com um mainMenu, e dou um showmodal no form contendo a DBGrid.

Talvez deva abrir o form de alguma outra maneira? Ou trocar as propriedades do form?

Estou tentando de tudo. Se conseguir vou postar aqui, mas agradeço desde já a ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0

Gafanhoto, você tem mais eventos sendo tratado neste seu form?

Experimente comentar o código dentro dos eventos (usando as chaves {/}), e deixando habilitado inicialmente apenas o do botão citado.

Testa o programa. Caso o form fechar, tem que ser pensado em outra alternativa, do contrário, vai retirando o comentário um-a-um após cada código comentado (cada evento) e vai testando até descobrir qual está gerando este efeito estranho.

Só para confirmar, você não está mostrando o form com ShowModal, certo?!

Link para o comentário
Compartilhar em outros sites

  • 0

FINALMENTE CONSEGUIIIIII!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

É o seguinte. Não usei um button para fazer a busca, e sim coloquei no evento onchange do edit. Ficou assim:

procedure TForm2.chaveChange(Sender: TObject);
begin
  if chave.Text <> '' then begin
    DataModule2.ADOQuery1.Active := False;
    DataModule2.ADOQuery1.SQL.Clear;
    DataModule2.ADOQuery1.SQL.Add('select * from boletins_conteudo where titulo like "'+chave.Text+'%"');
    DataModule2.ADOQuery1.Active := true;
  end
  else
  begin
    DataModule2.ADOQuery1.Active := False;
    DataModule2.ADOQuery1.SQL.Clear;
    DataModule2.ADOQuery1.SQL.Add('select * from boletins_conteudo');
    DataModule2.ADOQuery1.Active := true;
  end;
end;

Ficou até melhor do que eu esperava.

Obrigado pela ajuda de todos!

Editado por Micheus
Incluída tag's CODE para melhorar a visualização, bem como identado o código. Utilize a identação também ;)
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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...