Gafanhoto Postado Março 31, 2008 Denunciar Share Postado Março 31, 2008 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);varpalavra : string;beginpalavra := 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Março 31, 2008 Denunciar Share Postado Março 31, 2008 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gafanhoto Postado Abril 1, 2008 Autor Denunciar Share Postado Abril 1, 2008 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 1, 2008 Denunciar Share Postado Abril 1, 2008 O problema pode ser tambem do proprio componente Form, então para teste crie um novo form e tente novamenteabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gafanhoto Postado Abril 1, 2008 Autor Denunciar Share Postado Abril 1, 2008 Bah . . . tentei de tudo que foi jeito mas não consegui....Publiquei o arquivo em um host.LINK PARA DOWNLOADSe puderem dar uma olhada, é só colocar o programa em c:\Arquivos de Programas\sysAgradeço desde já. . . Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 2, 2008 Denunciar Share Postado Abril 2, 2008 É bug do componente TAleDBGrid, substitua por um DBGid do próprio delphiabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gafanhoto Postado Abril 2, 2008 Autor Denunciar Share Postado Abril 2, 2008 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Abril 2, 2008 Denunciar Share Postado Abril 2, 2008 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?! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gafanhoto Postado Abril 3, 2008 Autor Denunciar Share Postado Abril 3, 2008 (editado) 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 Abril 3, 2008 por Micheus Incluída tag's CODE para melhorar a visualização, bem como identado o código. Utilize a identação também ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gafanhoto
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
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.